Julia crashes on Fedora 43

On my Fedora 43 machine, the system default julia-1.11 crashes. Compiling (with gcc-14) the latest release (julia-1.12) from the github source also gets stuck:

../build/gcc-14/usr/share/julia/Compiler/src/reinfer.jl
../build/gcc-14/usr/share/julia/Compiler/src/bindinginvalidations.jl
Compiling the compiler. This may take several minutes ...
make[1]: *** [/home/stustd/workspace/thirdparty/src/julia/repo/julia/sysimage.mk:197: /home/stustd/workspace/thirdparty/src/julia/repo/julia/build/gcc-14/usr/lib/julia/basecompiler-o.a] Error 139
make[1]: Leaving directory '/home/stustd/workspace/thirdparty/src/julia/repo/julia/build/gcc-14'
make: *** [/home/stustd/workspace/thirdparty/src/julia/repo/julia/Makefile:124: julia-sysimg-release] Error 2

Somehow, the make process doesn’t produce the libraries in usr/lib/julia/

FYI: on Ubuntu 24.04 everything (system default and source compiled) works.

Anyone having similar problems (or not) on Fedora 43?

Does the recommended way to install work?

curl -fsSL https://install.julialang.org | sh

Or alternative binaries:

Please do not use Julia shipped by Linux or BSD package managers. Many Linux/BSD/Unix package managers ship broken and/or significantly out of date versions of Julia.

Isn’t that what you’re doing and mean by “the system default julia-1.11”? You should be able to compile from source, though it shouldn’t be needed, nor is the best workaround.

Can you be more specific? This doesn’t say anything concrete.

Can you be more specific about what “gets stuck” means? How long have you waited?

Nope, doesn’t work (see segfault at the bottom):

┌──[](stustd@ax060)-[~] [0]
╰─$ curl -fsSL https://install.julialang.org | sh

info: downloading installer
Welcome to Julia!

This will download and install the official Julia Language distribution
and its version manager Juliaup.

Juliaup will be installed into the Juliaup home directory, located at:

  /home/stustd/.juliaup

The julia, juliaup and other commands will be added to
Juliaup's bin directory, located at:

  /home/stustd/.juliaup/bin

This path will then be added to your PATH environment variable by
modifying the profile files located at:

  /home/stustd/.bashrc
  /home/stustd/.profile
  /home/stustd/.bash_profile

Julia will look for a new version of Juliaup itself every 1440 minutes when you start julia.

You can uninstall at any time with juliaup self uninstall and these
changes will be reverted.

✔ Do you want to install with these default configuration choices? · Proceed with installation

Now installing Juliaup
    Checking for new Julia versions
  Installing Julia 1.12.5+0.x64.linux.gnu
         Add Installed Julia channel 'release'
   Configure Default Julia version set to 'release'.
Julia was successfully installed on your system.

Depending on which shell you are using, run one of the following
commands to reload the PATH environment variable:

  . /home/stustd/.bashrc
  . /home/stustd/.profile
  . /home/stustd/.bash_profile

┌──[](stustd@ax060)-[~] [0]
╰─$ which julia
~/.juliaup/bin/julia
┌──[](stustd@ax060)-[~] [0]
╰─$ julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.12.5 (2026-02-09)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org release
|__/                   |

(@v1.12) pkg> add Plots
  Installing known registries into `~/.julia`
Segmentation fault         (core dumped) julia━━━━━━━━╸━ 96.6 %
┌──[](stustd@ax060)-[~] [0]
1 Like

I waited for “several minutes” and then it segfaulted. This happens at sysimage.mk:197, i.e.

/home/stustd/workspace/thirdparty/src/julia/repo/julia/sysimage.mk:197: /home/stustd/workspace/thirdparty/src/julia/repo/julia/build/gcc-14/usr/lib/julia/basecompiler-o.a] Error 139

i.e. when the script calls the julia executable, which then crashes because the libraries in usr/lib/julia have not been created.

I can provide a crash dump if that helps.

Do you have LD_LIBRARY_PATH or LD_PRELOAD set? Can you show the output of versioninfo() in the REPL?

Indeed, the non-empty LD_LIBRARY_PATH causes the problem (… still have to figure out where). Now it works. Thanks!