Installing the CalculiX adapter via the Debian package for Ubuntu 20.04

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
image

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:

Then I remove the calculix-precice3:


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
  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.

hi,@Makis,
I encountered the same problem. I used ‘sudo apt install ./calculix-precice3_2.20.1-2_amd64_focal.deb’ to install it, but my ccx_preCICE is not working properly.
图片

I followed the steps in your previous reply and it is shown in the following figure:


And I am certain that the dependency installation is correct:

@wlzr did you manage to resolve this by now? If yes, how?

My first guess would be that you installed a Debian package that was not made for your system. This package was built for Ubuntu 20.04 Focal Fossa. Is this what you are using?

Thank you for your reply. I have already resolved the issue. My system is Ubuntu 20.04, but I gave up on the precompiled adapter and compiled it locally instead.

Oh, I see… Building the CalculiX adapter from source should anyway not be too complicated or long, I have done it many times on many different systems.

In the next release of the CalculiX adapter, we will anyway generate and test new packages. Maybe something important has changed in the dependencies that Ubuntu 20.04 provides (although that would be unusual).