Troubleshooting¶
Troubleshooting: Installation¶
Setting the Fortran compiler to be used by f2py (pip)¶
When executing pip install clawpack
or python setup.py install
,
if you get an error like:
error: f90 not supported by GnuFCompiler
then f2py is trying to use your f77 compiler. This may happen even if
you also have an f90 compiler like gfortran installed. In this case,
pip install
will not work; you should download a tarball or clone
the code from Github. Then, in order to see the compilers detected by f2py,
run:
python setup.py config_fc --help-fcompiler
Then to install using a different compiler, do e.g.:
python setup.py config_fc --fcompiler=gfortran install
You may replace gfortran
with the compiler you wish to use.
Trouble running “make .exe”¶
If the code does not compile, check the following:
Make sure your environment variable CLAW is set properly:
$ printenv CLAWto print the value. The Makefiles use this variable to find the common Makefile and library routines.
If you get the error message:
Makefile:154: /clawutil/src/Makefile.common: No such file or directorythen CLAW is not set properly. It is looking for the file $CLAW/clawutil/src/Makefile.common and if CLAW is not set, the path will be missing.
Make sure your environment variable FC is set properly. This should be set to the command used to invoke the Fortran compiler, e.g. gfortran.
If you get an error like:
make[1]: gfortran: No such file or directorythen the gfortran compiler is not being found.
Trouble running “make .data”¶
If there are errors in the setrun function (usually defined in setrun.py) then the these may show up when you try to “make .data” since this function must be executed.
See Specifying classic run-time parameters in setrun.py for information about the setrun function.
Trouble running “make .output”¶
If you want to re-run the code and you get:
$ make .output
make: `.output' is up to date.
then you can force it to run again by removing the file .output:
$ rm -f .output
$ make .output
This happens for example if you changed something that you know will affect the output but that isn’t in the Makefile’s set of dependencies.
You can also do
$ make output
(with no dot before output
) to run the code without checking dependencies.
See Clawpack Makefiles for more details and warnings.
Trouble running “make .plots”¶
The Python plotting routines require NumPy and matplotlib. See Python Hints for information on installing these.
If there are errors in the setplot function (usually defined in setplot.py) then the these may show up when you try to “make .plots” since this function must be executed. See Using setplot.py to specify the desired plots.
You can also do
$ make plots
(with no dot before plots
) to plot the output without checking dependencies.
This will never run the code, it will only attempt to plot the output files
found in _output directory (or wherever the OUTDIR variable in the
Makefile points).
See Clawpack Makefiles for more details and warnings.