Troubleshooting
Common issues and their solutions.
MPI Segfault at Startup
Symptom: Segmentation fault in MPI_Comm_size immediately on launch:
user@host:~$ mpirun -np 1 ./thor ./config.yaml
*** Process received signal ***
Signal: Segmentation fault (11)
Failing at address: 0x440000e8
...libmpi.so.40(MPI_Comm_size+0x3b)...
Cause: MPI library mismatch - the executable was compiled against a different MPI library than the one loaded at runtime.
Solution: Ensure consistent MPI environment:
# Check which MPI the executable was linked against
ldd /path/to/thor | grep mpi
# Verify mpirun comes from the same installation
which mpirun
Rebuild Thor using the MPI installation you intend to use at runtime.
TBB Not Found
Symptom: CMake fails with an error about TBB not being found:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:XXX:
Could NOT find TBB (missing: TBB_DIR)
Cause: TBB (Threading Building Blocks) is required when THOR_CGAL_PARALLEL is enabled (the default), which allows parallel CGAL triangulation construction.
Solutions:
- Disable parallel CGAL construction (easiest):
- Install TBB: Install TBB via your distribution's package manager where available.
TBB has native CMake support via
TBBConfig.cmake. If CMake can't find TBB after installation, add the TBB installation directory toCMAKE_PREFIX_PATH. For example, with Intel oneAPI this might be: