Unable to launch julia 1.6 - SSL and glibc issues

I recently installed Julia 1.6 on a CentOS 7 cluster, but am unable to run it.

[affans@hpc ~]$ julia
ERROR: Unable to load dependent library /home/affans/julia-1.6.1/bin/../lib/julia/libjulia-internal.so.1
Message:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/affans/julia-1.6.1/bin/../lib/julia/libjulia-internal.so.1)

From the official 1.6 launch thread and some help on Slack, I was able to solve this issue. Turns out glibc libraries on the cluster are version 2.17 but Julia apparently requires 2.22. The issue is with the libstdc++.so.6 library. I fixed this by running

# for julia 1.6, the glibc libraries are too old so make sure to use the julia shipepd ones
export LD_LIBRARY_PATH=/home/affans/julia-1.6.1/lib/julia:$LD_LIBRARY_PATH

This made everything work and it was great for a few hours… until I tried git clone and it failed with a BADCERT_NOT_TRUSTED error. Digging a bit more, it wasn’t a git issue, but a more generic issue with ssl certificates… for example:

[affans@hpc ~]$ curl https://julialang.org/
curl: (60) Cert verify failed: BADCERT_NOT_TRUSTED
More details here: http://curl.haxx.se/docs/sslcerts.html

If I comment out the LD_LIBRARY_PATH export (so it goes back to system libraries), all the ssl errors go away. So why is it that when I use the Julia’s shipped version of glibc libraries, it clashes?

This stuff is way out of my domain so any help would be sincerely appreciated.

This is not correct, official binaries of Julia for x86_64 platforms require glibc 2.12.2, which is way older than what you have in your system. The library which is giving you troubles is libstdc++, not glibc.

I see. So what does the symbol GLIBCXX_3.4.20 mean? And why does switching to the Julia library break ssl?

Some extra information. The libstdc++.so.6 in my system (/usr/lib64) has these “strings” (not sure what this means). I don’t see GLIBC_3.4.20 in here… but still, I am confused to why other things are breaking if I switch to the Julia library. Is there a way to fix this? Maybe building from source?

[affans@hpc lib64]$ strings libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH

That indicates the minimum version of libstdc++ required to load the library: ABI Policy and Guidelines. You system’s libstdc++ gets up to 3.4.19, which corresponds to gcc 4.8.3. BTW, since this is on a cluster you likely have a way to load a module with a more recent gcc toolchain, the default one is often fairly old. Clearing up LD_LIBRARY_PATH before starting Julia is a good idea anyway.

I recommend editing LD_LIBRARY_PATH only to run Julia, don’t modify the rest of the system just for Julia.

Well, if I get rid of the LD_LIBRARY_PATH (where I append the Julia folder first in the order), that’s when the ssl issues start. As soon as I comment that now, the ssl issues go away. So it does seem that when using to Julia’s libstdc++ has something to do with it.

Is there a way to do:

I recommend editing LD_LIBRARY_PATH only to run Julia, don’t modify the rest of the system just for Julia.

I mean I have

export LD_LIBRARY_PATH=/home/affans/julia-1.6.1/lib/julia:$LD_LIBRARY_PATH

which makes Julia work, but like I said, it somehow clashes with ssl certificates. It would be nice for Julia to use it’s own libstdc++ while the rest of the system uses whatever is there is /usr/lib64

Start Julia with

LD_LIBRARY_PATH="" julia

and that’s it.

2 Likes

Oh! That works. So I just commented out the entire export LD_LIBRARY_PATH from my bashrc file. Not sure why I had it in there (maybe for some other program? will have to see what breaks).

Okay, so when LD_LIBRARY_PATH = "" , and I type in julia, what version of libstdc++ does it use? Does it use the system one (unlikely since the minimum version is only 3.4.19) or does it use the one that itself shipped with? I am guessing the latter.

And ofcourse, other programs that use libstdc++ use the system one… since how would they be aware of the Julia one (unless I append it to LD_LIBRARY_PATH which I was doing and it was messing things up).

Ah, 30 minutes to learn linux… a lifetime to master.

The latter. Official binaries of Julia v1.6 come with libstdc++.so.6.0.26, which corresponds to GCC 9.1.

1 Like

This is almost identical to the problem I have. I am also working on Linux - CentOS 7 (I actually found your username by chance in the home list, so we may be working on the same cluster @affans ) I have no idea how to fix this particular version of the error. I was sincerely hoping @giordano 's accepted solution would solve the issue, but it does not appear to be so. Julia adds certain packages without trouble, but it gets stuck on the package Singular (a package I need to add the real target package, Oscar).

To check the library it is pointed at, I ran the following code a la this answer,

>> using Libdl
>> libstdcpp_path = filter!(contains("libstdc++"), dllist()) |> first |> abspath
"/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/lib/julia/libstdc++.so.6"

so I know it is pointing to the internal library. I am not a computer scientist/HPC expert, so it is entirely possible I am missing some obvious dependency declaration (though I followed all the instructions to the letter on the documentation). I have also attempted to load different versions of Julia, including a version 8 and and a version 10. I even “rm -rf julia” for the proper julia files to make sure I started with a clean slate, so I know it is not a mixed dependency issue.

Below is my stacktrace for the package Singular. Any help would be greatly appreciated.

Precompiling project...
  âś— Singular
  0 dependencies successfully precompiled in 10 seconds. 26 already precompiled.

ERROR: The following 1 direct dependency failed to precompile:

Singular [bcd08a7b-43d2-5ff7-b6d4-c458787f915c]

Failed to precompile Singular [bcd08a7b-43d2-5ff7-b6d4-c458787f915c] to "/home/ecar10/.julia/compiled/v1.9/Singular/jl_LM3ajV".
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libpthread.so.0: version `GLIBC_PRIVATE' not found (required by /lib64/librt.so.1)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_ABI_DT_RELR' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libpthread.so.0)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libstdc++.so.6)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libstdc++.so.6)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libstdc++.so.6)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libstdc++.so.6)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.36' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libstdc++.so.6)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libstdc++.so.6)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.35' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libgcc_s.so.1)
/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia/libgcc_s.so.1)
ERROR: LoadError: failed process: Process(setenv(`/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse /home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/share/singular/LIB/GND.lib`,["CC_CLUSTER=cedar", "PATH=/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Core/mii/1.1.2/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Core/flexiblascore/3.3.1/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcc12/openmpi/4.1.5/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/ucc/1.2.0/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/pmix/4.2.4/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/libfabric/1.18.0/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/ucx/1.14.1/bin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/hwloc/2.9.1/sbin:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/hwloc/2.9.1/bin:/cvmfs/soft.(supercomputer_address)/gentoo/2023/x86-64-v3/usr/x86_64-pc-linux-gnu/gcc-bin/12:/cvmfs/soft.(supercomputer_address)/easybuild/bin:/cvmfs/soft.(supercomputer_address)/custom/bin:/cvmfs/soft.(supercomputer_address)/gentoo/2023/x86-64-v3/usr/bin:/cvmfs/soft.(supercomputer_address)/custom/bin/(supercomputer_address):/opt/software/bin:/opt/software/slurm/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/puppetlabs/bin:/opt/dell/srvadmin/bin:/home/ecar10/.local/bin:/home/ecar10/bin", "SSH_USER_AUTH=publickey: RSA SHA256:ZoHPZ0CBXRXQ63SeHOQSsVy3iPq+nn1nDNaMPWIbHxQ, keyboard-interactive", "LMOD_ROOT=/cvmfs/soft.(supercomputer_address)/custom/software/lmod", "EBVERSIONJULIA=1.9.3", "__LMOD_STACK_LESSOPEN=fGxlc3NwaXBlICVz:fHwvdXNyL2Jpbi9sZXNzcGlwZS5zaCAlcw==", "SACCT_FORMAT=Account,User,JobID,Start,End,AllocCPUS,Elapsed,AllocTRES%30,CPUTime,AveRSS,MaxRSS,MaxRSSTask,MaxRSSNode,NodeList,ExitCode,State%20", "ARCH=x86_64", "EBROOTIMKL=/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Core/imkl/2023.2.0", "LD_LIBRARY_PATH=/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia:/home/ecar10/.julia/artifacts/2c602b7b18fbeff1c121a7533547fd7f518d4d7e/lib:/home/ecar10/.julia/artifacts/3f4ae12d938ec5fab4f2d701b8d0baa28d7dea16/lib:/home/ecar10/.julia/artifacts/21e9ee9e284cdb38c560222b1b6e6cc31c4d7e68/lib:/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/lib:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib/julia:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/bin/../lib"  …  "__SCRATCH_PURGE_REPORTED=1", "JULIA_LOAD_PATH=/home/ecar10/.julia/environments/v1.9/Project.toml:/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/share/julia/stdlib/v1.9", "EBVERSIONIMKL=2023.2.0", "EPREFIX=/cvmfs/soft.(supercomputer_address)/gentoo/2023/x86-64-v3", "EBDEVELOPENMPI=/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcc12/openmpi/4.1.5/easybuild/x86-64-v3-Compiler-gcc12-openmpi-4.1.5-easybuild-devel", "EBROOTGENTOO=/cvmfs/soft.(supercomputer_address)/gentoo/2023/x86-64-v3/usr", "LMOD_ADMIN_FILE=/cvmfs/soft.(supercomputer_address)/config/lmod/admin.list", "MKLROOT=/cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Core/imkl/2023.2.0/mkl/2023.2.0", "LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45::su=00:sg=00:ca=00:ow=00:st=00:tw=00:ex=00:or=00::", "OPENBLAS_MAIN_FREE=1"]), ProcessExited(1)) [1]

Stacktrace:
  [1] pipeline_error
    @ ./process.jl:565 [inlined]
  [2] read(cmd::Cmd)
    @ Base ./process.jl:449
  [3] read
    @ ./process.jl:458 [inlined]
  [4] (::Singular.Setup.var"#2#6"{Dict{Symbol, Vector{Tuple{String, String}}}, Vector{String}, String})()
    @ Singular.Setup ~/.julia/packages/Singular/C3EMh/src/setup.jl:43
  [5] cd(f::Singular.Setup.var"#2#6"{Dict{Symbol, Vector{Tuple{String, String}}}, Vector{String}, String}, dir::String)
    @ Base.Filesystem ./file.jl:112
  [6] regenerate_libraryfuncdictionary(prefixpath::String)
    @ Singular.Setup ~/.julia/packages/Singular/C3EMh/src/setup.jl:39
  [7] top-level scope
    @ ~/.julia/packages/Singular/C3EMh/src/setup.jl:52
  [8] include(mod::Module, _path::String)
    @ Base ./Base.jl:457
  [9] include(x::String)
    @ Singular ~/.julia/packages/Singular/C3EMh/src/Singular.jl:8
 [10] top-level scope
    @ ~/.julia/packages/Singular/C3EMh/src/Singular.jl:81
 [11] include
    @ ./Base.jl:457 [inlined]
 [12] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt128}}, source::Nothing)
    @ Base ./loading.jl:2049
 [13] top-level scope
    @ stdin:3
in expression starting at /home/ecar10/.julia/packages/Singular/C3EMh/src/setup.jl:1
in expression starting at /home/ecar10/.julia/packages/Singular/C3EMh/src/Singular.jl:1
in expression starting at stdin:3
Stacktrace:
 [1] pkgerror(msg::String)
   @ Pkg.Types /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/share/julia/stdlib/v1.9/Pkg/src/Types.jl:69
 [2] precompile(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, timing::Bool, kwargs::Base.Pairs{Symbol, Base.TTY, Tuple{Symbol}, NamedTuple{(:io,), Tuple{Base.TTY}}})
   @ Pkg.API /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/share/julia/stdlib/v1.9/Pkg/src/API.jl:1581
 [3] precompile(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.TTY, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/share/julia/stdlib/v1.9/Pkg/src/API.jl:156
 [4] precompile(pkgs::Vector{Pkg.Types.PackageSpec})
   @ Pkg.API /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/share/julia/stdlib/v1.9/Pkg/src/API.jl:145
 [5] precompile(; name::Nothing, uuid::Nothing, version::Nothing, url::Nothing, rev::Nothing, path::Nothing, mode::Pkg.Types.PackageMode, subdir::Nothing, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/share/julia/stdlib/v1.9/Pkg/src/API.jl:171
 [6] precompile()
   @ Pkg.API /cvmfs/soft.(supercomputer_address)/easybuild/software/2023/x86-64-v3/Compiler/gcccore/julia/1.9.3/share/julia/stdlib/v1.9/Pkg/src/API.jl:162
 [7] top-level scope
   @ REPL[3]:1

My educated guess is that the Easybuild build of Julia that is on your system is to blame here.

Try to run these commands

julia> using Libdl

julia> filter(startswith(r"GLIBC_"), split(readchomp(`strings $(only(filter(contains("libgcc_s"), dllist())))`)))
3-element Vector{SubString{String}}:
 "GLIBC_2.14"
 "GLIBC_2.3.2"
 "GLIBC_2.2.5"

I expect to see GLIBC_2.34 and GLIBC_2.35 in your output.

1 Like

You are correct, the output of that command is

 "GLIBC_2.35"
 "GLIBC_2.14"
 "GLIBC_2.34"
 "GLIBC_2.2.5"

I have no idea how users of your cluster are supposed to automagically find the right glibc, the setup looks a bit perverse (I really hope this doesn’t rely on LD_LIBRARY_PATH being set…) :slightly_smiling_face: Either take the problem to your sysadmins, or use the official binaries.

2 Likes

sigh I will try a local install and see if that works. Will edit this post if that does work.

I had to use an internal computer-specific script to point to the proper libraries (not quite the same as LD_LIBRARY_PATH as @giordano was possibly concerned about, unless it is doing that in the blackbox script they sent me). It was a bit of a pain but I had great IT support to help out, so they were able to get it working (for now). In general, it appears this error is telling you that your artifacts are not being put in the proper directory. Henceforth, you have to set the path to be discoverable for whatever path it tells you it is missing. E.g., in my case, one of these paths was

/home/ecar10/.julia/artifacts/d742f40bb63b9380341851126ab31d8d64d59941/bin/libparse

It is kind of a hack, unfortunately. If I run across something better (if this doesn’t work), I will post here if I believe it would be of general applicability.

I don’t quite understand what this means, the only thing I can think of doesn’t make sense to me.

To quote, “the main issue is that Julia is not looking in our centrally installed libraries here, but instead in a pre-defined path like /lib64/libc.”
They knew about this issue and had a workaround ready to go, using a shell script I do not have access to so I cannot explain exactly how they do it. On the surface it looks like it just added this path to the library. The needed libraries were being stored under the path
/home/ecar10/.julia/artifacts
which were not accessible apparently by Julia in some way, I don’t fully understand, nor will I because I don’t have access to their script.
Apologies that my verbiage was unclear.

That’s false, that’s not the issue.

The libraries are installed in non-standard directories for all Julia users, not just you, and that’s not a problem for anyone.

I’m still convinced you wouldn’t have all these problems if you used the official Julia binaries, as I suggested above. If so, that would prove that what you’ve been told doesn’t make much sense.

This may depend on who built Julia, but the official binaries do not do this.