#916: GetComponents can't update Cactus
---------------------------+------------------------------------------------
Reporter: sbrandt | Owner: eric9
Type: defect | Status: new
Priority: major | Milestone: Cactus_4.1.0
Component: GetComponents | Version:
Keywords: |
---------------------------+------------------------------------------------
Files as simple as
!DEFINE ROOT = Cactus
!DEFINE ARR = $ROOT/arrangements
# Cactus Flesh
!TARGET = $ROOT
!TYPE = svn
!AUTH_URL = https://svn.cactuscode.org/flesh/trunk
!URL = http://svn.cactuscode.org/flesh/trunk
!CHECKOUT = Cactus
!NAME = .
fail because of trailing whitespace. In particular, all the whitespace on
lines following the !NAME line get absorbed so that . becomes .+ws (where
ws contains spaces and newlines). This affects the main ET checkout.
Patch:
397a398,400
> for my $pairs (@pairs) {
> $pairs =~ s/\s+$//;
> }
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/916>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#708: Cannot submit on Surveyor
------------------------+---------------------------------------------------
Reporter: eschnett | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone:
Component: SimFactory | Version:
Keywords: |
------------------------+---------------------------------------------------
Surveyor is a BlueGene/P, and the operating system apparently does not
support hard links. Submitting a job via Simfactory fails:
DISTRIBUTE: Executing: ./simfactory/bin/sim --remote surveyor create-
submit testsuite-surveyor-2011.12.21-19.31.05 --testsuite
--parfile=recover.par --walltime=2:00:00 --procs=4 --ppn-used=4 --num-
threads=2
Skeleton Created
Job directory: "/pvfs-surveyor/eschnett/simulations/testsuite-
surveyor-2011.12.21-19.31.05"
Executable: "/gpfs/home/eschnett/Cbeta/exe/cactus_sim"
Option list: "/pvfs-surveyor/eschnett/simulations/testsuite-
surveyor-2011.12.21-19.31.05/SIMFACTORY/cfg/OptionList"
Submit script: "/pvfs-surveyor/eschnett/simulations/testsuite-
surveyor-2011.12.21-19.31.05/SIMFACTORY/run/SubmitScript"
Run script: "/pvfs-surveyor/eschnett/simulations/testsuite-
surveyor-2011.12.21-19.31.05/SIMFACTORY/run/RunScript"
Assigned restart id: 0
Copying testsuite data
Traceback (most recent call last):
File "/home/eschnett/Cbeta/simfactory/bin/../lib/sim.py", line 147, in ?
main()
File "/home/eschnett/Cbeta/simfactory/bin/../lib/sim.py", line 143, in
main
CommandDispatch()
File "/home/eschnett/Cbeta/simfactory/bin/../lib/sim.py", line 105, in
CommandDispatch
module.main()
File "/gpfs/home/eschnett/Cbeta/simfactory/lib/sim-manage.py", line 397,
in main
CommandDispatch()
File "/gpfs/home/eschnett/Cbeta/simfactory/lib/sim-manage.py", line 376,
in CommandDispatch
exec("command_%s()" % command)
File "<string>", line 1, in ?
File "/gpfs/home/eschnett/Cbeta/simfactory/lib/sim-manage.py", line 161,
in command_create_submit
command_submit()
File "/gpfs/home/eschnett/Cbeta/simfactory/lib/sim-manage.py", line 262,
in command_submit
restart.userSubmit(simulationName)
File "/gpfs/home/eschnett/Cbeta/simfactory/lib/simrestart.py", line 346,
in userSubmit
self.submit(submitScript)
File "/gpfs/home/eschnett/Cbeta/simfactory/lib/simrestart.py", line 739,
in submit
self.copyTestsuiteData()
File "/gpfs/home/eschnett/Cbeta/simfactory/lib/simrestart.py", line 487,
in copyTestsuiteData
os.link(self.Properties.executable,
os.path.join(testexe,simlib.BaseName(self.Properties.executable)))
OSError: [Errno 95] Operation not supported
Simfactory should catch this, and should copy the file if it cannot be
linked.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/708>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#767: removing the last REQUIRES item from configuration.ccl leads to build
failures
--------------------+-------------------------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: minor | Milestone:
Component: Cactus | Version:
Keywords: |
--------------------+-------------------------------------------------------
The underlying issue seems to be that changing configuration.ccl does not
necessarily rebuild all files the were generated using information in it.
to reproduce:
# get a fresh ET checkout (trunk will do)
# add to {{{arrangements/EinsteinBase/CoordGauge/configuration.ccl}}}
{{{
REQUIRES Carpet
}}}
# build Cactus
# make sure that you have a file
{{{configs/et/bindings/Configuration/Thorns/cctki_CoordGauge.h}}}. If such
a file does not exists then most likely you did not start from a fresh
checkout. touch the other .ccl files and src/Slicing.c in CoordGauge and
build again. The file should appear. Make sure that
{{{configs/et/build/CoordGauge/Slicing.c.d}}} contains
{{{.../configs/et/bindings/include/../Configuration/Thorns/cctki_CoordGauge.h}}}
if not, same as above.
# remove the {{{REQUIRES}}} line you added
# try to build Cactus
# the build should fail with:
{{{
Checking status of thorn CoordGauge
make[2]: *** [make.checked] Error 2
make[1]: ***
[/data/rhaas/postdoc/gr/ET/configs/et/lib/libthorn_CoordGauge.a] Error 2
make: *** [et] Error 2
}}}
If you make is the buggy version 3.81 then no reason is given. (make
SILENT=no or make -d does not help you either)
If you are lucky and have a non buggy version of make
(https://savannah.gnu.org/bugs/?15110#comment7) then it might actually
tell you that it cannot find {{{
configs/et/bindings/Configuration/Thorns/cctki_CoordGauge.h}}}. To test
this touch the file and try to build again. It should work now. Also
Slicing.c.d will no longer contain a reference to the offending file.
A workaround is to not unlink {{{cctki_CoordGauge.h}}} in
{{{lib/sbin/CreateConfigurationBindings.pl}}} around line 176. This
generates an empty file which makes make happy.
To work around the buggy make (to get an error message) one can replace
all
{{{
-include foo bar baz
}}}
lines by
{{{
-include $(filter-out $(wildcard foo bar baz),foo bar baz))
include $(filter $(wildcard foo bar baz),foo bar baz))
}}}
ie use {{{-include}}} for non-existing files and {{{include}}} for
existing ones.
The buggy make is what makes this hard, you don't know why the compilation
fails and trying to force recompile of CoordGauge by touching any of its
.ccl or source files does not help. I usually ended up doing a realclean.
Very annoying if this happens on say Kraken.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/767>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#804: Cactus build fails on Kraken
-------------------------------+--------------------------------------------
Reporter: ajith@… | Owner: eschnett
Type: defect | Status: new
Priority: major | Milestone:
Component: SimFactory | Version: development version
Keywords: Kraken |
-------------------------------+--------------------------------------------
Hello,
I'm trying to build the development version of einsteintoolkit on Kraken.
The build fails with the following error:
$ sim build
{{{
checking whether the C compiler (/opt/pgi/9.0.4/linux86-64/9.0/bin/pgcc -g
-DCRAY_XT -c99 -Wl,--allow-multiple-definition -Bstatic) works... no
configure: error: installation or configuration problem: C compiler cannot
create executables (see configs/<configname>/config-data/config.log for
details).
Error reconfiguring sim-config
make: *** [sim-config] Error 2
}}}
I see that SimFactory is trying to use
/opt/pgi/9.0.4/linux86-64/9.0/bin/pgcc which is no longer there in the
system. The available pgi compilers are pgi/11.9.0(default) and
pgi/12.1.0.
Thanks,
Ajith
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/804>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#875: Cactus should define 'restrict', with a value dependent on autoconf
information
-------------------------+--------------------------------------------------
Reporter: knarf | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Cactus | Version: development version
Keywords: |
-------------------------+--------------------------------------------------
The Kranc ticket https://github.com/ianhinder/Kranc/issues/62 mentions
arguments why to do this: to make certain optimizations possible. While
'restrict' is not a C keyword, many compilers support it, leading to
measurable speedup in cases. At the moment Cactus only defines
CCTK_RESTRICT, but it has been commented that using this leads to ugly
code. Defining 'restrict' would beautify this, as well as make it easier
to directly use code which relies on 'restrict' being present (when this
isn't actually the case, or is called differently).
A counter argument would be that this would effectively introduce a
keyword 'restrict' to Cactus. Code using this name already for something
else would need to be changed. Given the positive effects of this change I
would say that this outweights this potential problem.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/875>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1011: Dependencies ignore compiler flags
----------------------+-----------------------------------------------------
Reporter: eschnett | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: Cactus | Version:
Keywords: |
----------------------+-----------------------------------------------------
The dependency calculation ignores compiler flags. For example, when a
compiler flag is used that enables the AVX instructions, then this defines
the preprocessor macro __AVX__. When dependencies are calculated, this
macro is not defined, which means that a different set of include files is
used.
I believe that CFLAGS or CXXFLAGS need to be used when the dependencies
are calculated.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1011>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1013: Don't log in multiple times for sim sync
-------------------------+--------------------------------------------------
Reporter: eschnett | Owner: eschnett
Type: enhancement | Status: new
Priority: major | Milestone:
Component: SimFactory | Version:
Keywords: |
-------------------------+--------------------------------------------------
Don't log in twice for "sim sync". This is necessary only to create the
sourcebasedir if it does not yet exist, which is necessary only very
rarely. Instead, try rsync directly, and if it fails, examine the error
message and create the directory if necessary.
This makes simfactory much nicer to use when one cannot setup an ssh
agent, i.e. when one has to type in the password or use a token eavery
time.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1013>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1035: use H5Fis_hdf5 in EOS_Omni to check for a readable file
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: EOS_Omni |
-----------------------------------+----------------------------------------
this patch also has some rudimentary safeguards against CCTK_REAL ==
float.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1035>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1034: make maxnphi and maxntheta parameters of SphericalSurface steerable
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: SphericalSurface |
-----------------------------------+----------------------------------------
this patch make two parameters of SphericalSurface steerable. Since they
control the size of grid arrays that are checkpointed, changing them
requires some care, but is fine if eg. a run had no SF turned on initially
and one wants to turn them on when recovering from a checkpoint.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1034>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
#1024: make more Carpet parameters steerable
-----------------------------------+----------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Keywords: Carpet |
-----------------------------------+----------------------------------------
this patch makes parameters controlling timer output and the
unused_points_mask steerable.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1024>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit