Skip to content

Bug: No LocalPreferences.toml written #39

@frobnitzem

Description

@frobnitzem

The script defines JULIA_PREF_PROJECT and JULIA_PREFS:

JUHPC/juhpc

Lines 190 to 191 in f510cfa

export JULIA_PREF_PROJECT="$JULIA_PREFDIR/Project.toml"
export JULIA_PREFS="$JULIA_PREFDIR/LocalPreferences.toml"

Then calls julia_pref many times to write to those files. However, in my install today with Julia 1.11.6+0.x64.linux.gnu, no LocalPreferences.toml file was written. I get only Project.toml.

Verbose output indicates this is because paths in /dev/shm/$USER are not executable.

[ JUHPC: Starting installation of HPC setup for juliaup, julia and HPC key packages requiring system libraries...
[ JUHPC: Installing juliaup and julia temporarily in /dev/shm/99r/juliaup...

info: downloading installer
Checking for new Julia versions
Installing Julia 1.11.6+0.x64.linux.gnu
Configured the default Julia version to be 'release'.
[ JUHPC: ... done: temporary installation completed.
[ JUHPC: Creating preferences for HPC key packages (this can take a few minutes, because some packages have to be temporarily installed)...
./juhpc: line 73: /dev/shm/99r/juliaup/bin/julia: Permission denied
./juhpc: line 73: /dev/shm/99r/juliaup/bin/julia: Permission denied
./juhpc: line 73: /dev/shm/99r/juliaup/bin/julia: Permission denied
./juhpc: line 73: /dev/shm/99r/juliaup/bin/julia: Permission denied
./juhpc: line 73: /dev/shm/99r/juliaup/bin/julia: Permission denied
./juhpc: line 73: /dev/shm/99r/juliaup/bin/julia: Permission denied
./juhpc: line 73: /dev/shm/99r/juliaup/bin/julia: Permission denied
[ JUHPC: ERROR: preferences file is missing or empty.
[ JUHPC: cleaning up temporary juliaup installation in /dev/shm/99r/juliaup.
Error running 02-script in /tmp/build/99r/juhpc.yaml

Manually running the juliaup installer to install to /dev/shm/99r/juliaup shows the file is marked executable. It's a system permission error.

$ ls -l /dev/shm/99r/juliaup/bin/julia
lrwxrwxrwx 1 99r 99r 38 Aug  5 16:55 /dev/shm/99r/juliaup/bin/julia -> /dev/shm/99r/juliaup/bin/julialauncher
$ ls -l /dev/shm/99r/juliaup/bin/julialauncher 
-rwxr-xr-x 1 99r 99r 3307984 Apr 23 11:39 /dev/shm/99r/juliaup/bin/julialauncher

That causes the following line to break:
https://github.com/JuliaParallel/JUHPC/blob/f510cfa9eb7d3fdb244b93ca7b20b9cd5487a9a0/juhpc#L240C1-L240C83

My full process was:

export JUHPC_CUDA_HOME=$CUDA_HOME
export JUHPC_CUDA_RUNTIME_VERSION=$CRAY_CUDATOOLKIT_VERSION
export JUHPC_MPI_VENDOR=cray
export JUHPC_MPI_EXEC=srun
export JUHPC_HDF5_HOME=$HDF5_DIR

bash -l ./juhpc $prefix/juhpc $prefix/juliaup --verbose=2

So, the error is from my system. However, the temporary directory is not configurable as it needs to be to work around this cleanly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions