Look at my Dockerfile for 24.04. I install Python 3.12 because EasyBuild can not be installed by the default system Python Ubuntu 24.04.  I would highly recommend that you always build software inside of a container.


On Feb 19, 2025, at 7:29 AM, Random Task <[email protected]> wrote:


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!



On Wed, Feb 19, 2025 at 2:21 AM Kenneth Hoste <[email protected]> wrote:
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.
>

Reply via email to