I am quite aware that this topic is not new. However, even after reading multiple threads on compiling issues with PaStiX for CalculiX, I could still not figure out how to build PaStiX without errors.
The other features as stated in the official CalculiX instructions, such as OpenBLAS, hwloc, parsec and scotch could be installed. But when running the make_pastix.sh file, the following error occurs:
CMake Error at cmake_modules/morse_cmake/modules/find/LibrariesAbsolutePath.cmake:59 (message):
Dependency of CUDA_LIBRARIES ‘Threads::Threads’ NOT FOUND
Call Stack (most recent call first):
cmake_modules/morse_cmake/modules/find/FindPARSEC.cmake:211 (libraries_absolute_path)
CMakeLists.txt:365 (find_package)
±----------------------------------------------------------------------------+
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
|-------------------------------±---------------------±---------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla V100S-PCI… Off | 00000000:25:00.0 Off | 0 |
| N/A 34C P0 24W / 250W | 4MiB / 32510MiB | 0% Default |
| | | N/A |
±------------------------------±---------------------±---------------------+
±----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
±----------------------------------------------------------------------------+
Update: To test, what is the reason for this error, I made a modification in the make_pastix.sh file and set the option -DPASTIX_WITH_PARSEC to OFF. Even though an error that the file parsec.h cannot be found is printed, the compilation seems to run a lot farther. Is therefore something wrong with parsec? As I mentioned before, parsec actually seemed to compile just fine.
Not sure if it will help, but I managed to force PARSEC to not include the Threads::Threads library by changing the $CUDA_LIBRARIES variable in the CMakeLists.txt and it worked so far