easybuild-framework
easybuild-framework copied to clipboard
add get_linked_libs_raw function, and use it from both check_linked_shared_libs and sanity_check_rpath
fixes #4047
has this this been tested with nodejs on a RPATH environment?
failing CI
ERROR: Could not find a version that satisfies the requirement pycodestyle>=2.9.1 (from autopep8->-r requirements.txt (line 11)) (from versions: 1.8.0.dev0, 2.0.0a1, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.4.0, 2.5.0, 2.6.0a1, 2.6.0, 2.7.0, 2.8.0)
did something just change? :/
failing CI
ERROR: Could not find a version that satisfies the requirement pycodestyle>=2.9.1 (from autopep8->-r requirements.txt (line 11)) (from versions: 1.8.0.dev0, 2.0.0a1, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.4.0, 2.5.0, 2.6.0a1, 2.6.0, 2.7.0, 2.8.0)
did something just change? :/
Probably related to autopep8 release which happened ~2h ago, see https://pypi.org/project/autopep8/1.7.0/
failing CI
ERROR: Could not find a version that satisfies the requirement pycodestyle>=2.9.1 (from autopep8->-r requirements.txt (line 11)) (from versions: 1.8.0.dev0, 2.0.0a1, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.4.0, 2.5.0, 2.6.0a1, 2.6.0, 2.7.0, 2.8.0)
did something just change? :/
A recent previous test had autopep8 1.6.0. The failing tests here has 1.7.0. These are all for Python 2.7, so I expect we need to fix autopep8 to an earlier version on Python 2.7.
failing CI
ERROR: Could not find a version that satisfies the requirement pycodestyle>=2.9.1 (from autopep8->-r requirements.txt (line 11)) (from versions: 1.8.0.dev0, 2.0.0a1, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.3.1, 2.4.0, 2.5.0, 2.6.0a1, 2.6.0, 2.7.0, 2.8.0)
did something just change? :/
A recent previous test had
autopep81.6.0. The failing tests here has 1.7.0. These are all for Python 2.7, so I expect we need to fixautopep8to an earlier version on Python 2.7.
Done in #4055
has this this been tested with nodejs on a RPATH environment?
@Micket I tested eb nodejs-16.15.1-GCCcore-11.3.0.eb --rpath --force on top of this, no problems found, and:
== 2022-08-12 15:47:33,987 easyblock.py:2993 DEBUG Sanity checking RPATH for files in /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin
== 2022-08-12 15:47:33,987 easyblock.py:2996 DEBUG Sanity checking RPATH for /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/corepack
== 2022-08-12 15:47:33,988 run.py:214 DEBUG run_cmd: running cmd file /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/corepack (in /tmp/software/nodejs/16.15.1-GCCcore-11.3.0)
== 2022-08-12 15:47:33,988 run.py:233 INFO running cmd: file /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/corepack
== 2022-08-12 15:47:33,992 run.py:625 DEBUG cmd "file /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/corepack" exited with exit code 0 and output:
/tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/corepack: symbolic link to ../lib/node_modules/corepack/dist/corepack.js
== 2022-08-12 15:47:33,992 run.py:659 DEBUG Using default regular expression: (?<![(,-]|\w)(?:error|segmentation fault|failed)(?![(,-]|\.?\w)
== 2022-08-12 15:47:33,992 easyblock.py:3003 DEBUG Failed to determine dynamically linked libraries for /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/corepack, so skipping it in RPATH sanity check
== 2022-08-12 15:47:33,993 easyblock.py:2996 DEBUG Sanity checking RPATH for /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node
== 2022-08-12 15:47:33,993 run.py:214 DEBUG run_cmd: running cmd file /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node (in /tmp/software/nodejs/16.15.1-GCCcore-11.3.0)
== 2022-08-12 15:47:33,993 run.py:233 INFO running cmd: file /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node
== 2022-08-12 15:47:33,999 run.py:625 DEBUG cmd "file /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node" exited with exit code 0 and output:
/tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, with debug_info, not stripped, too many notes (256)
== 2022-08-12 15:47:33,999 run.py:659 DEBUG Using default regular expression: (?<![(,-]|\w)(?:error|segmentation fault|failed)(?![(,-]|\.?\w)
== 2022-08-12 15:47:33,999 run.py:214 DEBUG run_cmd: running cmd ldd /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node (in /tmp/software/nodejs/16.15.1-GCCcore-11.3.0)
== 2022-08-12 15:47:33,999 run.py:233 INFO running cmd: ldd /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node
== 2022-08-12 15:47:34,018 run.py:625 DEBUG cmd "ldd /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node" exited with exit code 0 and output:
...
== 2022-08-12 15:47:34,018 easyblock.py:3011 DEBUG Output of 'ldd /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node' checked, looks OK
== 2022-08-12 15:47:34,018 run.py:214 DEBUG run_cmd: running cmd readelf -d /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node (in /tmp/software/nodejs/16.15.1-GCCcore-11.3.0)
== 2022-08-12 15:47:34,018 run.py:233 INFO running cmd: readelf -d /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node
== 2022-08-12 15:47:34,039 run.py:625 DEBUG cmd "readelf -d /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node" exited with exit code 0 and output:
Dynamic section at offset 0x2109ac0 contains 34 entries:
Tag Type Name/Value
...
0x0000000000000001 (NEEDED) Shared library: [libdl.so.2]
0x0000000000000001 (NEEDED) Shared library: [libstdc++.so.6]
0x0000000000000001 (NEEDED) Shared library: [libm.so.6]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x0000000000000001 (NEEDED) Shared library: [libpthread.so.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so.6]
0x0000000000000001 (NEEDED) Shared library: [ld-linux-x86-64.so.2]
...
0x000000000000000f (RPATH) Library rpath: [/tmp/software/nodejs/16.15.1-GCCcore-11.3.0/lib:/tmp/software/nodejs/16.15.1-GCCcore-11.3.0/lib64:$ORIGIN:$ORIGIN/../lib:$ORIGIN/../lib64:...]
....
== 2022-08-12 15:47:34,039 run.py:659 DEBUG Using default regular expression: (?<![(,-]|\w)(?:error|segmentation fault|failed)(?![(,-]|\.?\w)
== 2022-08-12 15:47:34,040 easyblock.py:3024 DEBUG Output of 'readelf -d /tmp/software/nodejs/16.15.1-GCCcore-11.3.0/bin/node' checked, looks OK