diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/FAQ | 113 |
1 files changed, 73 insertions, 40 deletions
@@ -1,59 +1,92 @@ -# /*@@ -# @file FAQ -# @date Thu Jun 24 11:06:01 1999 -# @author Tom Goodale -# @desc -# Some useful info. -# @enddesc -# @version $Header: /mnt/data2/cvs2svn/cvs-repositories/Cactus/doc/FAQ,v 1.5 1999-11-28 19:57:15 goodale Exp $ -# @@*/ +Cactus Code Frequently Asked Questions -1) The make system says "Checking status of libXXX.a" and then just sits there. What -can I do ? +$Header: /mnt/data2/cvs2svn/cvs-repositories/Cactus/doc/FAQ,v 1.6 2000-02-28 12:24:42 allen Exp $ -The first thing to do whenever a problem arises from the make system is to run with -the "SILENT=no" option. +The latest version of this FAQ is always available from the main Cactus Code web +site at <http://www.cactuscode.org/Documentation/FAQ -In this case, 'though, first check that the clocks on the machine on which you are -editing files and the clock on the machine you are compiling on are synchronised. If -the compilation machine's clock is slow, then the newly made dependency files will -still be `older' than the file you edited, and the system will loop until this -situation changes. +------------------------------------------------------------------------------------- +1) The make system says "Checking status of libXXX.a" and then just + sits there. What can I do ? -2) I get - identifier "DECLARE_CCTK_PARAMETERS" is undefined - DECLARE_CCTK_PARAMETERS - ^ - Why ? + The first thing to do whenever a problem arises from the make system + is to run with the "SILENT=no" option. -You have to include the header: #include "cctk_parameters.h" + In this case, 'though, first check that the clocks on the machine on + which you are editing files and the clock on the machine you are compiling + on are synchronised. If the compilation machine's clock is slow, then the + newly made dependency files will still be `older' than the file you edited, + and the system will loop until this situation changes. -3) I get 'g77: cannot specify -o with -c or -S and multiple compilations' when compiling with -the Pacific VAST90 compiler. +------------------------------------------------------------------------------------- -If the libvast90.a library is in the same directory as your F90 script, F90 passes -lvast90 to -the underlying G77 compile, which is of course only a valid switch when linking. The solution -is to seperate these files, e.g. into bin and lib directories. +2) Compilation of Cactus fails with the error: + identifier "DECLARE_CCTK_PARAMETERS" is undefined? -4) Why do I have to use e.g. "mpirun -np 1 ./exe/cactus_myconfig -O" to see the compiled - parameters, can't the parameters be output before MPI is initialised? + You have to include the header: + #include "cctk_Parameters.h" -Alas some MPIs add their own command-line options, so we need to do MPI_Init before -parsing the command line, or parse it twice, once before the MPI_Init and once after, -to detect invalid options. +------------------------------------------------------------------------------------- + +3) I get 'g77: cannot specify -o with -c or -S and multiple compilations' when + compiling with the Pacific VAST90 compiler. + + If the libvast90.a library is in the same directory as your F90 script, F90 passes + -lvast90 to the underlying G77 compile, which is of course only a valid switch + when linking. The solution is to seperate these files, e.g. into bin and lib + directories. + +------------------------------------------------------------------------------------- + +4) Why do I have to use e.g. "mpirun -np 1 ./exe/cactus_myconfig -O" to see the + compiled parameters, can't the parameters be output before MPI is initialised? + + Alas some MPIs add their own command-line options, so we need to do MPI_Init + before parsing the command line, or parse it twice, once before the MPI_Init and + once after, to detect invalid options. + +------------------------------------------------------------------------------------- 5) Parallel make sometimes fails. -It seems that the make program sometimes gets confused in parallel makes. -Just doing gmake <config> again will let it continue. You should be able -to continue with another parallel make afterwards. + It seems that the make program sometimes gets confused in parallel makes. + Just doing gmake <config> again will let it continue. You should be able + to continue with another parallel make afterwards. + +------------------------------------------------------------------------------------- 6) When doing a cvs update I get 'not enough slashes in ...' . -It seems that CVS sometimes gets confused with multiple modules. Moving into -the arrangements directory and doing another 'cvs update', followed by a final -one in the toplevel directory should complete your update. + It seems that CVS sometimes gets confused with multiple modules. Check that you + are using the latest version of CVS, otherwise moving into the arrangements + directory and performing another 'cvs update', followed by a final one in the + toplevel directory should complete your update. + +------------------------------------------------------------------------------------- + +7) How do I compile with MPI? Why isn't it automatic like in Cactus 3? + + The standard MPI driver (PUGH) is in a thorn now (CactusPUGH/PUGH), so there is + now the possibility to add other parallel drivers using alternative message passing + schemes as separate thorns. To compile with MPI, when you make a configuration, + use + + gmake <configuration>-config MPI=<MPI_TYPE> + + where the allowed values of MPI_TYPE are discussed in the documentation. For + machines where Cactus 3 used to use MPI by default, the correct option is + probably MPI=NATIVE + +------------------------------------------------------------------------------------- +8) I can't compile because the compiler complains that a routine name has been + previously defined ... but I can't find it repeated? + If it is a C routine, whose name is either all in capitals or all in lowercase, + and the routine has a Fortran wrapper, then it could be that the compiler doesn't + attach underscores to the Fortran name and there is a conflict. To remove this + possibility always use mixed case names for C routines with Fortran wrappers. + +------------------------------------------------------------------------------------- |