The problem of Calculix adapter install

Hi, everyone.
Today I plan to upgrade preCICE to version 3.0. I reinstalled calculix2.20, but after the installation, the following error message appeared when I use the ‘ccx_preCICE’ test :

ccx_preCICE: error while loading shared libraries: libyaml-cpp.so.0.7: cannot open shared object file: No such file or directory

At the same time, I saw a post in the forum: Libyaml-cpp.so.0.7: cannot open shared object file: No such file or directory - Installing preCICE - preCICE Forum on Discourse.

I also tried using 'sudo apt install ./calculix-precice3_2.20.1-2_amd64_focal.deb’to install. The result is:
image

Then I remove the calculix-precice3:
remove
and reinstall it:

But it still doesn’t work. How to solve this problem? Thanks everyone!

And my overall installation process is as follows:

  1. sudo apt install ./libprecice3_3.1.1_focal.deb
    image
  2. sudo apt install ./calculix-precice3_2.20.1-2_amd64_focal.deb
  3. Install calculix dependency library (arpack yaml-cpp yay spooles)
  4. Building the adapted CalculiX

code ```
wget https://github.com/precice/calculix-adapter/archive/refs/heads/master.tar.gz
tar -xzf master.tar.gz
cd calculix-adapter-master
make -j 8

Is there the problem in these steps?

Hi, everyone. I have solve the problem!

I referred to this post: Trouble install calculix adapter - yaml-cpp issue - Official adapters and tutorials - preCICE Forum on Discourse, downloaded yaml0.7.0, and installed it. The installation steps are as follows:

cd yaml-cpp
mkdir build && cd build
cmake -D BUILD_SHARED_LIBS=ON ..
make -j16
sudo make install

But after installation, the following problems occurred:

I found that I needed to upgrade GLIBC to a higher version, so I took the following installation steps:

#Add a higher version source
deb http://mirrors.aliyun.com/ubuntu/ jammy main

#Update and Install
sudo apt update
sudo apt install libc6

It’s already running normally!

Hope it helps people who have the same problem.

1 Like

Hi @Jimmy,

I understand that you are installing the CalculiX adapter Debian package for Ubuntu 20.04 (focal) on Ubuntu 22.04 (jammy). Is that correct? This would explain the dependencies mix-up you are getting.

The latest version provides packages for both:

Hi, @Makis . Thank you for your reply!

In fact I installed the CalculiX adapter Debian packageon on Ubuntu 20.04 (focal). But for some reason I don’t know, the yaml0.7.0 is required. This is why I did the above two steps post 2.

Looking at the calculix-precice3_2.20.1-2_amd64_focal.deb (open as a compressed file, then look into the control file), I see:

Depends: libarpack2 (>= 2.1), libblas3 | libblas.so.3, libc6 (>= 2.29), libgcc-s1 (>= 4.0), libgfortran5 (>= 8), libgomp1 (>= 4.9), liblapack3 | liblapack.so.3, libprecice3 (>= 3.0.0), libspooles2.2, libstdc++6 (>= 9), libyaml-cpp0.6 (>= 0.6.2) | libyaml-cpp0.7

This means that the libyaml-cpp0.7 is an alternative to the libyaml-cpp0.6.

Ubuntu 20.04 seems to provide libyaml-cpp0.6 (0.6.2): Ubuntu – Package Search Results -- yaml-cpp

My guess is that there are somehow two versions of yaml-cpp on that system, and there is a version mix-up. I would try removing 0.7 anyway and stick to the default 0.6. (yes, I know you installed 0.7 afterwards, but let’s reset to the default state first).

What happens if you run which ccx_preCICE and then ldd /path/to/ccx_preCICE (where /path/to/ccx_preCICE is what the first command gives you)?

P.S.: If everything else fails, you can always build the CalculiX adapter from source very easily, but this is interesting for us to debug and document.