Skip to content

Conda install fails on Hera if installation directory is more than 90 characters in length #1329

@mkavulich

Description

@mkavulich

Expected behavior

Conda should install successfully

Current behavior

On Hera, if your working directory that you install the app in is longer than 90 characters, the conda install fails.

I swear this is not a joke.

Machines affected

Hera, potentially others but I doubt it? 90 characters doesn't seem all that long...

Steps To Reproduce

  1. On Hera, attempt to install the ufs-srweather-app in a working directory that has a path length of 91 or more characters including slashes
  2. Observe that the conda environment fails in a strange way when attempting to build new libraries:
/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app$ ./devbuild.sh -p=hera
PLATFORM(MACHINE)=hera
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 82.9M  100 82.9M    0     0  2617k      0  0:00:32  0:00:32 --:--:-- 1869k
PREFIX=/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app/conda
Unpacking payload ...
Extracting _libgcc_mutex-0.1-conda_forge.tar.bz2
Extracting ca-certificates-2023.7.22-hbcca054_0.conda
Extracting ld_impl_linux-64-2.40-h41732ed_0.conda

...
...

Linking conda-23.3.1-py310hff52083_0
Linking conda-libmamba-solver-23.3.0-pyhd8ed1ab_0
Linking mamba-1.4.2-py310h51d5547_0
Transaction finished
installation finished.
Traceback (most recent call last):
  File "/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app/conda/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'
Traceback (most recent call last):
  File "/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app/conda/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'
Traceback (most recent call last):
  File "/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest11111/ufs-srweather-app/conda/condabin/mamba", line 7, in <module>
    from mamba.mamba import main
ModuleNotFoundError: No module named 'mamba'
Traceback (most recent call last):
  File "/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app/conda/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'
Traceback (most recent call last):
  File "/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest11111/ufs-srweather-app/conda/condabin/mamba", line 7, in <module>
    from mamba.mamba import main
ModuleNotFoundError: No module named 'mamba'
Traceback (most recent call last):
  File "/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app/conda/bin/conda", line 12, in <module>
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'
Traceback (most recent call last):
  File "/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest11111/ufs-srweather-app/conda/condabin/mamba", line 7, in <module>
    from mamba.mamba import main
ModuleNotFoundError: No module named 'mamba'

The build then continues as normal, but the conda environments were not built and so can not be activated:

/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app$ module use modulefiles/
/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app$ module load wflow_hera
Please do the following to activate conda:
       > conda activate srw_app
/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest1111/ufs-srweather-app$ conda activate srw_app

EnvironmentNameNotFound: Could not find conda environment: srw_app
You can list all discoverable environments with `conda info --envs`.

When I build in a path with one fewer character length (/scratch4/BMC/gsd-fv3-dev/Michael.Kavulich/UFS/workdir/FIRE/openmp_changes/pathnametest111/ufs-srweather-app), it is successful.

Detailed Description of Fix (optional)

🤷

This feels like the case of the 500 mile email. Why on earth is there a character limit on path lengths somewhere deep in this pile of spaghetti, and why is manifesting in such an obscure way???

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions