Troubleshooting
This section includes troubleshooting advice for common errors. Each
entry is labelled with the platform(s) typically affected. If you
encounter errors or other issue that you cannot solve via the standard
step-by-step guide or the advice below contact the developers (see
contact).
All: Cannot clone module, or Permission denied (publickey)
Have you added your SSH key to GitHub? See these pages for guidance:
- Checking for existing SSH keys
- Generating a new SSH key
- Adding a new SSH key to your Github account
- Testing your SSH connection
All: Out-of-date modules detected
You will have an error that looks like this:
[ INFO ] Validating module versions
[ ERROR ] (MODULENAME) module is out of date: (INSTALLED VER) < (REQUIRED VER)
Uncaught exception
...
OSError: Out-of-date modules detected. Refer to the Troubleshooting guide on the wiki
You can check which modules are out of date manually, by running:
proteus doctor
If you have not manually installed this module, simply go to the PROTEUS folder and then run these commands:
python -m pip install -e .
If you have a "developer" installation of the module, go to the module's own folder and run:
git checkout main
git pull
python -m pip install -U -e .
MacOS: PETSc tests error
Error when running the PETSc tests, looking like something along the lines of:
Fatal error in PMPI_Init_thread: Other MPI error, error stack:
MPIR_Init_thread(467)..............:
MPID_Init(177).....................: channel initialization failed
MPIDI_CH3_Init(70).................:
MPID_nem_init(319).................:
MPID_nem_tcp_init(171).............:`
MPID_nem_tcp_get_business_card(418):
MPID_nem_tcp_init(377).............: gethostbyname failed, localhost (errno 3)
/etc/hosts, where computername is your hostname:
127.0.0.1 computername.local
127.0.0.1 computername
All: PETSc complains about being in the wrong directory
Firstly, check that you are in the correct directory when running make or ./configure. If you are, then this could
be caused by the environment variable PETSC_DIR remaining set after a previous PETSc installation. Run unset PETSC_DIR
and try again.
Linux: cannot compile PETSc.
This could be due to a mismatch between your MPICH version and SLURM. Generally this problem only occurs on HPC servers, such as for Snellius.
You need to disable the --download-mpich flag in the get_petsc script.
Linux: netcdff.so not found
This happens with SOCRATES cannot find the NetCDF-Fortran library. Make sure that it's installed.
You can also try adding the library location to your LD_LIBRARY_PATH variable. Find the location
of the NetCDF-fortran library using nf-config --flibs.
All: libudev.so.1 not found
This happens when compiling SPIDER within a Python environment that is incompatible with PETSc. Try compiling SPIDER (and/or PETSc) in your system's base Python environment, and ensure that you are not using Python >=3.13, as SPIDER is only supported for Python versions <=3.12 currently.
MacOS: The FastChem code distributed with VULCAN won\'t compile
With the new Apple Silicon hardware (M1/M2), the option -march=native sometimes causes issues.
To avoid this, you need to make sure to use the GNU version of g++, not the Apple one. The Apple one located at /usr/bin/gcc is actually a wrapped around clang.
We found that using the Homebrew version located at /opt/homebrew/bin/ works well.
To fix this error, find out which gcc version homebrew installed (ls /opt/homebrew/bin/gcc-*), and edit the filemake.globaloptions in the FastChem directory to use, e.g. g++-12 or g++-13 instead of g++.
MacOS: Python / netCDF error
Error: Library not loaded: '@rpath/libcrypto.3.dylib'
Create a symlink in the local Python installation (here shown for bash terminal). See
https://pavcreations.com/dyld-library-not-loaded-libssl-1-1-dylib-fix-on-macos/
brew install openssl
openssl installation (replace USERNAME with your own system username):
echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/USERNAME/.bash_profile
echo 'export LDFLAGS="-L/usr/local/opt/openssl@3/lib"' >>/Users/USERNAME/.bash_profile
echo 'export CPPFLAGS="-I/usr/local/opt/openssl@3/include"' >>/Users/USERNAME/.bash_profile
ln -s /usr/local/opt/openssl/lib/libcrypto.3.dylib /Users/USERNAME/opt/anaconda3/envs/proteus/lib/python3.10/site-packages/netCDF4/../../../
ln -s /usr/local/opt/openssl/lib/libssl.3.dylib /Users/USERNAME/opt/anaconda3/envs/proteus/lib/python3.10/site-packages/netCDF4/../../../
MacOS: Python error ModuleNotFoundError: No module named 'yaml'
Install yaml via pip rather than via conda.
python -m pip install pyyaml
MacOS: Missing ifort compilers
If installing SOCRATES steps complain about missing ifort compilers:
Install Intel compilers from https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html
First Intelยฎ oneAPI Base Toolkit, then Intelยฎ oneAPI HPC Toolkit
Follow the instructions that are provided after the
installation to set the locations of ifort in your
environment.
MacOS: Errors during PETSc configuration or compilation
One of the following errors during PETSC configuration or compilation steps
This header is only meant to be used on x86 and x64 architecture
#error "This header is only meant to be used on x86 and x64 architecture
Install Python via homebrew and use pip to manage packages, rather than Conda.
MacOS: ModuleNotFoundError: No module named '_tkinter'
Install tkinter package using brew:
brew install python-tk
MacOS: ImportError: Cannot load backend 'TkAgg' which requires the 'tk' interactive framework, as 'headless' is currently running
If you are connecting to a computer over ssh, make sure to enable X-forwarding. This can be done in your configuration file or as a command line parameter.
If you are using a Mac, install XQuartz.
MacOS: YAML library error
Error: ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/usr/lib/libSystem.tbd' for architecture arm64
There is an issue with your ld, potentially caused by an existing installation of anaconda.
Delete all traces of anaconda by following the steps at https://docs.anaconda.com/free/anaconda/install/uninstall/.
Install python via brew (see above in the main installation instructions)
MacOS: Errors during the SOCRATES compilation
One of the following errors happen during the SOCRATES compilation:
clang (LLVM option parsing): Unknown command line argument '-x86-pad-for-align=false'. Try: 'clang (LLVM option parsing) --help'clang (LLVM option parsing): Did you mean '--x86-slh-loads=false'?
There is an issue with your compiler, either the standard Apple clang or gcc installed by brew.
Follow the steps provided at https://stackoverflow.com/questions/72428802/c-lang-llvm-option-parsing-unknown-command-line-argument-when-running-gfort
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install
MacOS: gfortran cannot find system libraries
Error: ld library not found for -lsystem
This usually occurs when your operating system has been updated, but Xcode is not on the latest version
To fix this, try updating or reinstalling Xcode.
Alternatively, try adding the following flag to the gfortran compile and link steps:
-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/`.
All: Julia compatibility error / OpenSSL_jll
There are incompatibilities between Python and some versions of Julia. For example, Julia version 1.12 is not yet supported, because it requires a version of the OpenSSL library that is incompatible with Python.
You must make sure to only use Python versions 3.12 and 3.13, and Julia version 1.11 to avoid these problems.