Hmm, we've dealt with the extra "local" issue a while ago, see https://github.com/easybuilders/easybuild-easyblocks/issues/2976, and the fix in https://github.com/easybuilders/easybuild-easyblocks/pull/2988 (which was included in EasyBuild 4.8.1, released Sept'23)...

Maybe the info in there is helpful to figure out what's going on in your situation?


regards,

Kenneth

On 18/02/2025 20:49, Random Task wrote:
I'm trying the instructions "Installing EasyBuild with EasyBuild" on <https://docs.easybuild.io/installation/#eb_as_module <https:// eur03.safelinks.protection.outlook.com/? url=https%3A%2F%2Fdocs.easybuild.io%2Finstallation%2F%23eb_as_module&data=05%7C02%7CKenneth.Hoste%40ugent.be%7C75d5e7bcb0bb42696fed08dd505590cb%7Cd7811cdeecef496c8f91a1786241b99c%7C1%7C0%7C638755050617256100%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=NpLQxIlsLT7T1qTu84CpNwJOf8ESYHbdeiLLGUaIjLk%3D&reserved=0>> and getting errors.

Any hints where I'm going astray?
easybuild@tn002:~$ export EB_TMPDIR=/tmp/$USER/eb_tmp
easybuild@tn002:~$ python3 -m pip install --ignore-installed --prefix $EB_TMPDIR

So far, so good.
easybuild@tn002:~$ export PATH=$EB_TMPDIR/bin:$PATH

easybuild@tn002:~$ export PYTHONPATH=$(/bin/ls -rtd -1 $EB_TMPDIR/lib*/ python*/site-packages | tail -1):$PYTHONPATH /bin/ls: cannot access '/tmp/easybuild/eb_tmp/lib*/python*/site- packages': No such file or directory

It looks like the pip install used a different directory structure than implied in the instructions. There's an extra "local", and no "site- packages". Instead "dist-packages" exists. Probably safe to blame Ubuntu (but I thought easybuild worked on Ubuntu.)

Try #2
easybuild@tn002:~$ rm -rf /tmp/easybuild/
easybuild@tn002:~$ export EB_TMPDIR=/tmp/$USER/eb_tmp
easybuild@tn002:~$ python3 -m install --ignore-installed --prefix $EB_TMPDIR easybuild

easybuild@tn002:~$ export PATH=$EB_TMPDIR/local/bin:$PATH
easybuild@tn002:~$ export PYTHONPATH=$(/bin/ls -rtd -1 $EB_TMPDIR/local/ lib*/python*/dist-packages | tail -1):$PYTHONPATH
easybuild@tn002:~$ export EB_PYTHON=python3

easybuild@tn002:~$ eb --install-latest-eb-release --prefix /sw/eb
...
== FAILED: Installation ended unsuccessfully (build directory:
/sw/eb/build/EasyBuild/4.9.4/system-system): build failed (first 300 chars):
Failed to install EasyBuild packages: [Errno 22] Invalid argument:
'/sw/eb/software/EasyBuild/4.9.4/local' (took 1 min 50 secs)
== Results of the build can be found in the log file(s)
/tmp/eb-iog_u3f2/easybuild-EasyBuild-4.9.4-20250218.143841.fqvBJ.log

ERROR: Build of /tmp/eb-iog_u3f2/tmprvdwwqxm/easybuilders/easybuild- easyconfigs-develop/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4.eb failed (err: "build failed (first 300 chars): Failed to install EasyBuild packages: [Errno 22] Invalid argument: '/sw/eb/software/ EasyBuild/4.9.4/local'")


The last few lines of the referenced build log are here.
Successfully built easybuild-framework
Installing collected packages: easybuild-framework
Successfully installed easybuild-framework-4.9.4

== 2025-02-17 14:40:31,861 run.py:251 INFO Using /bin/bash as shell for running cmd: /usr/bin/python3 -c 'import sys; print("%s.%s.%s" % sys.version_info[:3])' == 2025-02-17 14:40:31,861 run.py:260 INFO running cmd: /usr/bin/python3 -c 'import sys; print("%s.%s.%s" % sys.version_info[:3])' == 2025-02-17 14:40:31,895 run.py:251 INFO Using /bin/bash as shell for running cmd: /usr/bin/python3 -c 'import sysconfig; print(sysconfig.get_default_scheme())' == 2025-02-17 14:40:31,895 run.py:260 INFO running cmd: /usr/bin/python3 -c 'import sysconfig; print(sysconfig.get_default_scheme())' == 2025-02-17 14:40:31,929 pythonpackage.py:283 INFO Active Python installation scheme: posix_local == 2025-02-17 14:40:31,930 pythonpackage.py:302 INFO Found 'local' subdirectory in installation prefix /sw/eb/software/EasyBuild/4.9.4: ['local'] == 2025-02-17 14:40:31,931 pythonpackage.py:305 INFO Subdirectories of / sw/eb/software/EasyBuild/4.9.4/local: ['local', 'lib', 'contrib', 'easybuild', 'etc', 'bin'] == 2025-02-17 14:40:32,015 build_log.py:171 ERROR EasyBuild crashed with an error (at easybuild/eb_tmp/local/lib/python3.12/dist-packages/ easybuild/tools/build_log.py:111 in caller_info): Failed to install EasyBuild packages: [Errno 22] Invalid argument: '/sw/eb/software/ EasyBuild/4.9.4/local' (at easybuild/eb_tmp/local/lib/python3.12/dist- packages/easybuild/easyblocks/e/easybuildmeta.py:158 in install_step)
== 2025-02-17 14:40:32,015 build_log.py:267 INFO ... (took 23 secs)
== 2025-02-17 14:40:32,018 filetools.py:2025 INFO Removing lock /sw/eb/ software/.locks/_sw_eb_software_EasyBuild_4.9.4.lock... == 2025-02-17 14:40:32,021 filetools.py:385 INFO Path /sw/eb/ software/.locks/_sw_eb_software_EasyBuild_4.9.4.lock successfully removed. == 2025-02-17 14:40:32,021 filetools.py:2029 INFO Lock removed: /sw/eb/ software/.locks/_sw_eb_software_EasyBuild_4.9.4.lock == 2025-02-17 14:40:32,021 easyblock.py:4297 WARNING build failed (first 300 chars): Failed to install EasyBuild packages: [Errno 22] Invalid argument: '/sw/eb/software/EasyBuild/4.9.4/local' == 2025-02-17 14:40:32,022 easyblock.py:326 INFO Closing log for application name EasyBuild version 4.9.4

I'm not a python programmer. Hints?
Thanks.


Reply via email to