code-saturne / code-saturne/code_saturne
Problems when enabling Catalyst 2
- Dominant language
- C++
- Stars
- 307
- Forks
- 102
- PR merge metrics
- No merged PRs in 30d
Description
Some recent modifications must have introduced a bug with the Catalyst 2 support because my cases used to work but no longer using either 9.1 or the master under Ubuntu 24.04.4 LTS.
On my .bashrc file I specify the required environment variables:
```
# Catalyst2 Settings
export CATALYST_IMPLEMENTATION_NAME="paraview"
export CATALYST_IMPLEMENTATION_PATHS="/home/panos/Development/Salome/SALOME/INSTALL/ParaView/lib/catalyst"
```
which point to the ParaView installation in Salome. I then build code_saturne with the options:
```
--with-salome=/home/panos/Development/Salome/SALOME
--with-catalyst2=/home/panos/Development/Salome/SALOME/INSTALL/catalyst
SALOMEENVCMD=/home/panos/Development/Salome/SALOME/env_build.sh
```
But when I try to run a case which uses Catalyst 2 I get the following errors:
```
failed to open library: libnetcdf.so.13: cannot open shared object file: No such file or directory
failed to open library: /home/panos/Development/Salome/SALOME/INSTALL/catalyst/lib/catalyst/libcatalyst-paraview.so: cannot open shared object file: No such file or directory
failed to open library: libnetcdf.so.13: cannot open shared object file: No such file or directory
failed to open library: /home/panos/Development/Salome/SALOME/INSTALL/catalyst/lib/catalyst/libcatalyst-paraview.so: cannot open shared object file: No such file or directory
failed to open library: libnetcdf.so.13: cannot open shared object file: No such file or directory
failed to open library: /home/panos/Development/Salome/SALOME/INSTALL/catalyst/lib/catalyst/libcatalyst-paraview.so: cannot open shared object file: No such file or directory
failed to open library: libnetcdf.so.13: cannot open shared object file: No such file or directory
failed to open library: /home/panos/Development/Salome/SALOME/INSTALL/catalyst/lib/catalyst/libcatalyst-paraview.so: cannot open shared object file: No such file or directory
failed to open library: libnetcdf.so.13: cannot open shared object file: No such file or directory
failed to open library: /home/panos/Development/Salome/SALOME/INSTALL/catalyst/lib/catalyst/libcatalyst-paraview.so: cannot open shared object file: No such file or directory
failed to open library: libnetcdf.so.13: cannot open shared object file: No such file or directory
failed to open library: /home/panos/Development/Salome/SALOME/INSTALL/catalyst/lib/catalyst/libcatalyst-paraview.so: cannot open shared object file: No such file or directory
```
From these messages it is clear that the code is trying to open the libcatalyst-paraview.so library from the Salome catalyst directory when it should have used the CATALYST_IMPLEMENTATION_PATHS directory to locate the library. As for libnetcdf.so.13, this is a library needed by Catalyst but it is installed in Salome yet the code does not know how and where to find it. The compilation and running takes place on a bash shell with the env_build.sh Salome settings loaded.
Contributor guide
Research direction
Start by reproducing the Catalyst 2 case with the .bashrc variables, the shown --with-catalyst2 options, and Salome's env_build.sh loaded. Trace how the Catalyst implementation path and Salome's libnetcdf.so.13 dependency are selected at runtime. Done means the case loads libcatalyst-paraview.so from CATALYST_IMPLEMENTATION_PATHS and resolves libnetcdf.so.13 without the reported errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, cpp, linux
- Domain
- build-system, hpc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100