Moderators: cyao, soliday
-
blanco-garcia
- Posts: 76
- Joined: 29 Oct 2021, 10:41
Post
by blanco-garcia » 08 Mar 2023, 05:47
Dear all,
I have compiled elegant successfully in the login node of a server, however, when using elegant in other nodes through slurm there are several libraries that are not installed, for example:
Code: Select all
tcl-8.5.13-8.el7.x86_64
package wget is not installed
subversion-1.7.14-14.el7.x86_64
gzip-1.5-10.el7.x86_64
tar-1.26-35.el7.x86_64
make-3.82-24.el7.x86_64
package rpmdevtools is not installed
rpm-build-4.11.3-43.el7.x86_64
gcc-4.8.5-39.el7.x86_64
gcc-c++-4.8.5-39.el7.x86_64
gcc-gfortran-4.8.5-39.el7.x86_64
zlib-devel-1.2.7-18.el7.x86_64
package gd-devel is not installed
libpng-devel-1.5.13-7.el7_2.x86_64
package libtiff-devel is not installed
package lapack-devel is not installed
package blas-devel is not installed
gsl-devel-1.15-13.el7.x86_64
package motif-devel is not installed
package libXaw-devel is not installed
package ncurses-devel is not installed
package readline-devel is not installed
libXt-devel-1.1.5-3.el7.x86_64
package libXp-devel is not installed
package tcl-devel is not installed
package tk-devel is not installed
tcsh-6.18.01-16.el7.x86_64
package python-devel is not installed
package python3-devel is not installed
hdf5-devel-1.8.12-7.el7.x86_64
I wonder if there is a way to do a static build of epics, elegant and Pelegant to avoid this problem. Otherwise I will have to explore other solutions like a container or others.
Best regards,
o
-
soliday
- Posts: 403
- Joined: 28 May 2008, 09:15
Post
by soliday » 08 Mar 2023, 09:47
Can you run "ldd Pelegant" and check which shared libraries are missing? This list that you sent was all the packages required to build elegant, not to run it.
-
blanco-garcia
- Posts: 76
- Joined: 29 Oct 2021, 10:41
Post
by blanco-garcia » 08 Mar 2023, 11:19
Code: Select all
linux-vdso.so.1 => (0x00007ffdd21df000)
libgsl.so.0 => /lib64/libgsl.so.0 (0x00007f3c107f4000)
libgslcblas.so.0 => /lib64/libgslcblas.so.0 (0x00007f3c105b7000)
libz.so.1 => /lib64/libz.so.1 (0x00007f3c103a1000)
liblapack.so.3 => not found
libblas.so.3 => not found
libgfortran.so.3 => /lib64/libgfortran.so.3 (0x00007f3c1007f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3c0fe63000)
librt.so.1 => /lib64/librt.so.1 (0x00007f3c0fc5b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3c0fa57000)
libstdc++.so.6 => /usr/local/applications/tools/gcc/9.2.0/lib64/libstdc++.so.6 (0x00007f3c0f67e000)
libm.so.6 => /lib64/libm.so.6 (0x00007f3c0f37c000)
libgomp.so.1 => /usr/local/applications/tools/gcc/9.2.0/lib64/libgomp.so.1 (0x00007f3c0f147000)
libgcc_s.so.1 => /usr/local/applications/tools/gcc/9.2.0/lib64/libgcc_s.so.1 (0x00007f3c0ef2f000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3c0eb61000)
libsatlas.so.3 => /usr/lib64/atlas/libsatlas.so.3 (0x00007f3c0df14000)
libquadmath.so.0 => /usr/local/applications/tools/gcc/9.2.0/lib64/libquadmath.so.0 (0x00007f3c0dcce000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3c10c1d000)
linux-vdso.so.1 => (0x00007ffc869aa000)
libgsl.so.0 => /lib64/libgsl.so.0 (0x00007f5b10286000)
libgslcblas.so.0 => /lib64/libgslcblas.so.0 (0x00007f5b10049000)
libz.so.1 => /lib64/libz.so.1 (0x00007f5b0fe33000)
liblapack.so.3 => not found
libblas.so.3 => not found
libgfortran.so.3 => /lib64/libgfortran.so.3 (0x00007f5b0fb11000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5b0f8f5000)
librt.so.1 => /lib64/librt.so.1 (0x00007f5b0f6ed000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f5b0f4e9000)
libmpi_cxx.so.40 => /usr/local/applications/tools/openmpi/4.1.1/lib/libmpi_cxx.so.40 (0x00007f5b0f2cf000)
libmpi.so.40 => /usr/local/applications/tools/openmpi/4.1.1/lib/libmpi.so.40 (0x00007f5b0efb7000)
libstdc++.so.6 => /usr/local/applications/tools/gcc/9.2.0/lib64/libstdc++.so.6 (0x00007f5b0ebde000)
libm.so.6 => /lib64/libm.so.6 (0x00007f5b0e8dc000)
libgomp.so.1 => /usr/local/applications/tools/gcc/9.2.0/lib64/libgomp.so.1 (0x00007f5b0e6a7000)
libgcc_s.so.1 => /usr/local/applications/tools/gcc/9.2.0/lib64/libgcc_s.so.1 (0x00007f5b0e48f000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5b0e0c1000)
libsatlas.so.3 => /usr/lib64/atlas/libsatlas.so.3 (0x00007f5b0d474000)
libquadmath.so.0 => /usr/local/applications/tools/gcc/9.2.0/lib64/libquadmath.so.0 (0x00007f5b0d22e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5b106af000)
libopen-rte.so.40 => /usr/local/applications/tools/openmpi/4.1.1/lib/libopen-rte.so.40 (0x00007f5b0cf78000)
libopen-orted-mpir.so => /usr/local/applications/tools/openmpi/4.1.1/lib/libopen-orted-mpir.so (0x00007f5b0cd76000)
libopen-pal.so.40 => /usr/local/applications/tools/openmpi/4.1.1/lib/libopen-pal.so.40 (0x00007f5b0ca66000)
libudev.so.1 => /lib64/libudev.so.1 (0x00007f5b0c850000)
libpciaccess.so.0 => /lib64/libpciaccess.so.0 (0x00007f5b0c646000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f5b0c443000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f5b0c23e000)
libdw.so.1 => /lib64/libdw.so.1 (0x00007f5b0bfed000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f5b0bde8000)
libelf.so.1 => /lib64/libelf.so.1 (0x00007f5b0bbd0000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f5b0b9aa000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f5b0b79a000)
-
soliday
- Posts: 403
- Joined: 28 May 2008, 09:15
Post
by soliday » 08 Mar 2023, 11:34
Okay, the only issue is the lapack libraries being in a unique location.
This can probably be solved with modifying the oag/apps/src/elegant/Makefile.OAG with:
LAPACK_LIBDIR=/ccc/products/lapack-3.9.1/gcc--11.1.0/default/lib
elegant_LDFLAGS += -L$(LAPACK_LIBDIR) -Wl,-rpath,$(LAPACK_LIBDIR) -lapack -blas
Pelegant_LDFLAGS += -L$(LAPACK_LIBDIR) -Wl,-rpath,$(LAPACK_LIBDIR) -lapack -blas
I took a guess at where your custom lapack libraries are with LAPACK_LIBDIR. The -rpath option tells the executable where to find the library when the program is run.
As an alternative, you could try setting LD_LIRARY_PATH=/ccc/products/lapack-3.9.1/gcc--11.1.0/default/lib and then rerunning ldd elegant to see if it can find the missing libraries.
-
blanco-garcia
- Posts: 76
- Joined: 29 Oct 2021, 10:41
Post
by blanco-garcia » 17 Mar 2023, 09:01
Dear Soliday,
thank you for your help.
LD_LIBRARY_PATH did not work in our case, but, we loaded the missing libraries through an available module (in our case, an Anaconda module).
I still wonder if elegant and Pelegant could be created in a static build. But, for the moment this issue has been solved.
Best regards,
o