ASTE missing .so files

Hello,
I am currently trying to install ASTE on Ubuntu 22.04. After installing and either running make test or running precice-aste-run, I ran into the following error:
precice-aste-run: error while loading shared libraries: libjawt.so: cannot open shared object file: No such file or directory
I do have openjdk-17-jre installed and can manually find the mission .so in /usr/lib/jvm/lib/. I was able to get rid of the error by adding to my .bashrc:
export LD_LIBRARY_PATH=:/usr/lib/jvm/java-17-openjdk-amd64/lib/:/usr/lib/jvm/java-17-openjdk-amd64/lib/server/

If I now run make test most test pass (expect test 13, containing some other error see below). If i run precice-aste-run it appears to work, it does first however raise the following errors:
2024-05-14 09:12:32.610581] [0x00007f13e9b68e00] [error] ERROR: boost::bad_any_cast: failed conversion using boost::any_cast [2024-05-14 09:12:32.610685] [0x00007f13e9b68e00] [error]

I don’t know if my install really works, but I will keep testing it.

Test 13 output:
Traceback (most recent call last): File "/usr/local/bin/precice-aste-partition", line 619, in <module> MeshPartitioner() File "/usr/local/bin/precice-aste-partition", line 82, in __init__ self.run(args) File "/usr/local/bin/precice-aste-partition", line 94, in run part = MeshPartitioner.partition(mesh, args.numparts, algorithm) File "/usr/local/bin/precice-aste-partition", line 202, in partition return MeshPartitioner.partition_kmeans(mesh, numparts) File "/usr/local/bin/precice-aste-partition", line 217, in partition_kmeans points = MeshPartitioner.reduce_dimension(points) File "/usr/local/bin/precice-aste-partition", line 246, in reduce_dimension pA, pB = mesh[:2] ValueError: not enough values to unpack (expected 2, got 0)

ASTE itself does not depend on anything Java-related. This is probably some conflict originating from one of the dependencies.

Which dependencies have you installed from the Ubuntu repositories, and which from source?

Hi,
I installed everything from Ubuntu repositories. preCICE is installed using the .deb.

I just did a fresh build of ASTE on Ubuntu 22.04, and it seems to work.
Running libtree precice-aste-run (filtered with libtree precice-aste-run | grep jawt), I don’t find see any reference to that. What do you see in your case?

running libtree precice-aste-run | grep jawt results in:

├── libjawt.so [runpath]
Error [precice-aste-run]: Not all dependencies were found

More comple output from the top:
precice-aste-run
├── libjawt.so [runpath]
│ ├── libawt.so [runpath]
│ │ ├── libjava.so [runpath]
│ │ │ ├── libverify.so [runpath]
│ │ │ │ └── libjvm.so not found
│ │ │ │ ┊ Paths considered in this order:
│ │ │ │ ┊ 1. rpath is skipped because runpath was set
│ │ │ │ ┊ 2. LD_LIBRARY_PATH was not set
│ │ │ │ ┊ 3. runpath:
│ │ │ │ ┊ /usr/lib/jvm/default-java/lib
│ │ │ │ ┊ 4. ld config files:
│ │ │ │ ┊ /usr/lib/x86_64-linux-gnu/libfakeroot
│ │ │ │ ┊ /usr/local/lib
│ │ │ │ ┊ /usr/local/lib/x86_64-linux-gnu
│ │ │ │ ┊ /lib/x86_64-linux-gnu
│ │ │ │ ┊ /usr/lib/x86_64-linux-gnu
│ │ │ │ ┊ /lib32
│ │ │ │ ┊ /usr/lib32
│ │ │ │ ┊ 5. Standard paths:
│ │ │ │ ┊ /lib
│ │ │ │ ┊ /lib64
│ │ │ │ ┊ /usr/lib
│ │ │ │ ┊ /usr/lib64
│ │ │ └── libjvm.so not found
│ │ │ ┊ Paths considered in this order:
│ │ │ ┊ 1. rpath is skipped because runpath was set
│ │ │ ┊ 2. LD_LIBRARY_PATH was not set
│ │ │ ┊ 3. runpath:
│ │ │ ┊ /usr/lib/jvm/default-java/lib
│ │ │ ┊ 4. ld config files:
│ │ │ ┊ /usr/lib/x86_64-linux-gnu/libfakeroot
│ │ │ ┊ /usr/local/lib
│ │ │ ┊ /usr/local/lib/x86_64-linux-gnu
│ │ │ ┊ /lib/x86_64-linux-gnu
│ │ │ ┊ /usr/lib/x86_64-linux-gnu
│ │ │ ┊ /lib32
│ │ │ ┊ /usr/lib32
│ │ │ ┊ 5. Standard paths:
│ │ │ ┊ /lib
│ │ │ ┊ /lib64
│ │ │ ┊ /usr/lib
│ │ │ ┊ /usr/lib64
│ │ └── libjvm.so not found
│ │ ┊ Paths considered in this order:
│ │ ┊ 1. rpath is skipped because runpath was set
│ │ ┊ 2. LD_LIBRARY_PATH was not set
│ │ ┊ 3. runpath:
│ │ ┊ /usr/lib/jvm/default-java/lib
│ │ ┊ 4. ld config files:
│ │ ┊ /usr/lib/x86_64-linux-gnu/libfakeroot
│ │ ┊ /usr/local/lib
│ │ ┊ /usr/local/lib/x86_64-linux-gnu
│ │ ┊ /lib/x86_64-linux-gnu
│ │ ┊ /usr/lib/x86_64-linux-gnu
│ │ ┊ /lib32
│ │ ┊ /usr/lib32
│ │ ┊ 5. Standard paths:
│ │ ┊ /lib
│ │ ┊ /lib64
│ │ ┊ /usr/lib
│ │ ┊ /usr/lib64
│ ├── libawt_xawt.so [runpath]
│ │ ├── libawt.so [runpath]
│ │ ├── libjava.so [runpath]
│ │ ├── libXi.so.6 [ld.so.conf]
│ │ │ ├── libX11.so.6 [ld.so.conf]
│ │ │ │ └── libxcb.so.1 [ld.so.conf]
│ │ │ │ ├── libXau.so.6 [ld.so.conf]
│ │ │ │ └── libXdmcp.so.6 [ld.so.conf]
│ │ │ │ └── libbsd.so.0 [ld.so.conf]
│ │ │ │ └── libmd.so.0 [ld.so.conf]
│ │ │ └── libXext.so.6 [ld.so.conf]
│ │ │ └── libX11.so.6 [ld.so.conf]
│ │ ├── libXtst.so.6 [ld.so.conf]
│ │ │ ├── libX11.so.6 [ld.so.conf]
│ │ │ └── libXext.so.6 [ld.so.conf]
│ │ ├── libXrender.so.1 [ld.so.conf]
│ │ │ └── libX11.so.6 [ld.so.conf]
│ │ ├── libX11.so.6 [ld.so.conf]
│ │ ├── libXext.so.6 [ld.so.conf]
│ │ └── libjvm.so not found
│ │ ┊ Paths considered in this order:
│ │ ┊ 1. rpath is skipped because runpath was set
│ │ ┊ 2. LD_LIBRARY_PATH was not set
│ │ ┊ 3. runpath:
│ │ ┊ /usr/lib/jvm/default-java/lib
│ │ ┊ 4. ld config files:
│ │ ┊ /usr/lib/x86_64-linux-gnu/libfakeroot
│ │ ┊ /usr/local/lib
│ │ ┊ /usr/local/lib/x86_64-linux-gnu
│ │ ┊ /lib/x86_64-linux-gnu
│ │ ┊ /usr/lib/x86_64-linux-gnu
│ │ ┊ /lib32
│ │ ┊ /usr/lib32
│ │ ┊ 5. Standard paths:
│ │ ┊ /lib
│ │ ┊ /lib64
│ │ ┊ /usr/lib
│ │ ┊ /usr/lib64
│ ├── libjava.so [runpath]
│ └── libjvm.so not found
│ ┊ Paths considered in this order:
│ ┊ 1. rpath is skipped because runpath was set
│ ┊ 2. LD_LIBRARY_PATH was not set
│ ┊ 3. runpath:
│ ┊ /usr/lib/jvm/default-java/lib
│ ┊ 4. ld config files:
│ ┊ /usr/lib/x86_64-linux-gnu/libfakeroot
│ ┊ /usr/local/lib
│ ┊ /usr/local/lib/x86_64-linux-gnu
│ ┊ /lib/x86_64-linux-gnu
│ ┊ /usr/lib/x86_64-linux-gnu
│ ┊ /lib32
│ ┊ /usr/lib32
│ ┊ 5. Standard paths:
│ ┊ /lib
│ ┊ /lib64
│ ┊ /usr/lib
│ ┊ /usr/lib64

Me and @DavidSCN expect that these dependencies come from the libvtk9-qt-dev package, which I think should not really be needed.

Can you use libvtk7-dev, instead? It is available on Ubuntu 22.04 and for me, it worked, without dependending on jawt.

Yay, that was it! It now runs without me specifically pointing towards the java .so.
Finally, 14 out of 15 tests pass. Still the issue with test 13 remains. Seems to be more of an Python issue. I installed the packages using apt install python3-numpy. Could this cause an issue?:

Traceback (most recent call last): File "/usr/local/bin/precice-aste-partition", line 619, in <module> MeshPartitioner() File "/usr/local/bin/precice-aste-partition", line 82, in __init__ self.run(args) File "/usr/local/bin/precice-aste-partition", line 94, in run part = MeshPartitioner.partition(mesh, args.numparts, algorithm) File "/usr/local/bin/precice-aste-partition", line 202, in partition return MeshPartitioner.partition_kmeans(mesh, numparts) File "/usr/local/bin/precice-aste-partition", line 217, in partition_kmeans points = MeshPartitioner.reduce_dimension(points) File "/usr/local/bin/precice-aste-partition", line 246, in reduce_dimension pA, pB = mesh[:2] ValueError: not enough values to unpack (expected 2, got 0)

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.