The Ubuntu Python is so different that I stopped using it and at the time of our migration to 24.04 EasyBuild did not support 3.12. Installed Python 3.11.5 to user local and it was much easier to work with. OK, in that case let me back up and address first problems first...
On a minimal Ubuntu 24.04 install, when I simply follow the instructions and do:
$ export EB_TMPDIR=/tmp/$USER/eb_tmp $ python3 -m pip install --ignore-installed --prefix $EB_TMPDIR easybuild
The build succeeds, but is installed in /tmp/easybuild/eb_tmp/local/.
The version pulled seems to be easybuild 4.9.4.
Looking at the discussion links you sent, it seems that eb addressed this issue for its internal behavior -- when using a python built by easybuild -- but the bootstrap process on debian/ubuntu will still require that the system
/lib/python3.*/sysconfig.py be modified too (at least for the duration of the bootstrap).
Or am I way off base here?
Thanks!
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="" href="http://2Fdocs.easybuild.io" rel="noreferrer" target="_blank">2Fdocs.easybuild.io%2Finstallation%2F%23eb_as_module&data="" href="http://40ugent.be" rel="noreferrer" target="_blank">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.
>
|