vscentrum / vsc-software-stack

Central repository of easyconfigs used in the software installations on VSC clusters.
2 stars 6 forks source link

read2tree #425

Closed laraPPr closed 1 month ago

laraPPr commented 1 month ago
PetrKralCZ commented 1 month ago
laraPPr commented 1 month ago

There is a problem installing it on the RHEL9 clusters

ERROR: Build of /tmp/eb-slsrwfeb/files_pr21517/n/NextGenMap/NextGenMap-0.5.5    -GCC-12.3.0.eb failed (err: 'build failed (first 300 chars): Sanity check fa    iled: Library libOpenCL.so.1 not found for /apps/gent/RHEL9/zen4-ib/software    /NextGenMap/0.5.5-GCC-12.3.0/bin/ngm-core-debug\nLibrary libOpenCL.so.1 not     found for /apps/gent/RHEL9/zen4-ib/software/NextGenMap/0.5.5-GCC-12.3.0/bin/    ngm-core')
boegel commented 1 month ago

This may be another case where we need patchelf to inject additional library locations in the binaries, since libOpenCL.so.1 is actually part of the installation:

$ find /apps/gent/RHEL9/zen4-ib/software/NextGenMap/0.5.5-GCC-12.3.0 -name libOpenCL.so.1
/apps/gent/RHEL9/zen4-ib/software/NextGenMap/0.5.5-GCC-12.3.0/bin/opencl/lib/libOpenCL.so.1

The library is in a weird place, and it escapes the paths that get included in the RPATH section:

 $ readelf -d /apps/gent/RHEL9/zen4-ib/software/NextGenMap/0.5.5-GCC-12.3.0/bin/ngm-core-debug  | grep RPATH
 0x000000000000000f (RPATH)              Library rpath: [/apps/gent/RHEL9/zen4-ib/software/NextGenMap/0.5.5-GCC-12.3.0/lib:/apps/gent/RHEL9/zen4-ib/software/NextGenMap/0.5.5-GCC-12.3.0/lib64:$ORIGIN:$ORIGIN/../lib:$ORIGIN/../lib64:/apps/gent/RHEL9/zen4-ib/software/zlib/1.2.13-GCCcore-12.3.0/lib64:/apps/gent/RHEL9/zen4-ib/software/BamTools/2.5.2-GCC-12.3.0/lib64:/apps/gent/RHEL9/zen4-ib/software/GCCcore/12.3.0/lib64:/apps/gent/RHEL9/zen4-ib/software/GCCcore/12.3.0/lib:/kyukon/home/apps/RHEL9/zen4-ib/software/GCCcore/12.3.0/bin/../lib/gcc/x86_64-pc-linux-gnu/12.3.0:/kyukon/home/apps/RHEL9/zen4-ib/software/GCCcore/12.3.0/bin/../lib/gcc:/apps/gent/RHEL9/zen4-ib/software/libarchive/3.6.2-GCCcore-12.3.0/lib/../lib64:/apps/gent/RHEL9/zen4-ib/software/XZ/5.4.2-GCCcore-12.3.0/lib/../lib64:/apps/gent/RHEL9/zen4-ib/software/cURL/8.0.1-GCCcore-12.3.0/lib/../lib64:/apps/gent/RHEL9/zen4-ib/software/OpenSSL/3/lib/../lib64:/apps/gent/RHEL9/zen4-ib/software/bzip2/1.0.8-GCCcore-12.3.0/lib/../lib64:/apps/gent/RHEL9/zen4-ib/software/ncurses/6.4-GCCcore-12.3.0/lib/../lib64:/apps/gent/RHEL9/zen4-ib/software/binutils/2.40-GCCcore-12.3.0/lib/../lib64:/apps/gent/RHEL9/zen4-ib/software/libarchive/3.6.2-GCCcore-12.3.0/lib:/apps/gent/RHEL9/zen4-ib/software/XZ/5.4.2-GCCcore-12.3.0/lib:/apps/gent/RHEL9/zen4-ib/software/cURL/8.0.1-GCCcore-12.3.0/lib:/apps/gent/RHEL9/zen4-ib/software/OpenSSL/3/lib:/apps/gent/RHEL9/zen4-ib/software/bzip2/1.0.8-GCCcore-12.3.0/lib:/apps/gent/RHEL9/zen4-ib/software/ncurses/6.4-GCCcore-12.3.0/lib:/apps/gent/RHEL9/zen4-ib/software/binutils/2.40-GCCcore-12.3.0/lib]

One approach could be to just symlink bin/opencl/lib/libOpenCL.so.1 to lib/libOpenCL.so.1 via postinstallcmds, in this case...

PetrKralCZ commented 1 month ago

@boegel, @laraPPr

laraPPr commented 1 month ago

PR merged, software installed, ready for cleanup