Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 955402 - dev-lang/julia-1.9.4-r1 fails to build and julia-1.8.5-r2 hangs
Summary: dev-lang/julia-1.9.4-r1 fails to build and julia-1.8.5-r2 hangs
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Matthias Maier
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-04 08:46 UTC by Luke A. Guest
Modified: 2025-05-17 16:32 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (build.log.gz,258.42 KB, application/gzip)
2025-05-04 08:47 UTC, Luke A. Guest
Details
Build log for 1.8.5-r2 (build.log.gz,249.35 KB, application/gzip)
2025-05-04 08:48 UTC, Luke A. Guest
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luke A. Guest 2025-05-04 08:46:24 UTC
Base  ───────────── 13.205699 seconds
ArgTools  ─────────  2.466692 seconds
Artifacts  ────────  0.119328 seconds
Base64  ───────────  0.058496 seconds
CRC32c  ───────────  0.003735 seconds
FileWatching  ─────  0.081584 seconds
Libdl  ────────────  0.000979 seconds
Logging  ──────────  0.017922 seconds
Mmap  ─────────────  0.038156 seconds
NetworkOptions  ───  0.045961 seconds
SHA  ──────────────  0.084646 seconds
Serialization  ────  0.138099 seconds
Sockets  ──────────  0.146757 seconds
Unicode  ──────────  0.037773 seconds
LinearAlgebra  ────  3.012998 seconds
Markdown  ─────────  0.363833 seconds
Printf  ───────────  0.065343 seconds
Random  ───────────  0.292824 seconds
Tar  ──────────────  0.126347 seconds
Dates  ────────────  0.697897 seconds
Distributed  ──────  0.373586 seconds
Future  ───────────  0.003023 seconds
InteractiveUtils  ─  0.262281 seconds
LibGit2  ──────────  0.626541 seconds
Profile  ──────────  0.176095 seconds
SparseArrays  ─────  1.799924 seconds
UUIDs  ────────────  0.007013 seconds
REPL  ─────────────  1.602680 seconds
SharedArrays  ─────  0.060927 seconds
TOML  ─────────────  0.027799 seconds
Test  ─────────────  0.138406 seconds
LibCURL  ──────────  0.149981 seconds
Downloads  ────────  0.151502 seconds
Pkg  ──────────────  2.242525 seconds
LazyArtifacts  ────  0.001027 seconds
Stdlibs total  ──── 15.426835 seconds
Sysimage built. Summary:
Base ────────  13.205699 seconds 46.1197%
Stdlibs ─────  15.426835 seconds 53.8768%
Total ───────  28.633516 seconds
make[1]: Leaving directory '/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4'
make[1]: Entering directory '/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4'
Warning: git information unavailable; versioning information limited
/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/contrib/normalize_triplet.py:117: SyntaxWarning: invalid escape sequence '\d'
  version_numbers = list(filter(lambda x: re.match("\d+\.\d+(\.\d+)?", x), sys.argv[2].split()))
 cd /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/base && if ! JULIA_BINDIR=/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/usr/bin WINEPATH="/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/usr/bin;$WINEPATH" JULIA_NUM_THREADS=1  /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/usr/bin/julia -O3 -C "native" --output-o /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/usr/lib/julia/sys-o.a.tmp  --startup-file=no --warn-overwrite=yes --sysimage /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/usr/lib/julia/sys.ji /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/contrib/generate_precompile.jl 1; then echo '*** This error is usually fixed by running `make clean`. If the error persists, try `make cleanall`. ***'; false; fi 
Generating REPL precompile statements... 27/41ERROR: LoadError: IOError: stream is closed or unusable
Stacktrace:
  [1] check_open
    @ ./stream.jl:388 [inlined]
  [2] uv_write_async(s::Base.TTY, p::Ptr{UInt8}, n::UInt64)
    @ Base ./stream.jl:1074
  [3] uv_write(s::Base.TTY, p::Ptr{UInt8}, n::UInt64)
    @ Base ./stream.jl:1037
  [4] unsafe_write(s::Base.TTY, p::Ptr{UInt8}, n::UInt64)
    @ Base ./stream.jl:1120
  [5] write
    @ ./strings/io.jl:244 [inlined]
  [6] write
    @ ./io.jl:676 [inlined]
  [7] (::Main.anonymous.var"#2#6"{Set{String}, String, Base.DevNull})(precompile_file::String, precompile_file_h::IOStream)
    @ Main.anonymous /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/contrib/generate_precompile.jl:341
  [8] mktemp(fn::Main.anonymous.var"#2#6"{Set{String}, String, Base.DevNull}, parent::String)
    @ Base.Filesystem ./file.jl:734
  [9] mktemp
    @ ./file.jl:732 [inlined]
 [10] generate_precompile_statements()
    @ Main.anonymous /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/contrib/generate_precompile.jl:287
 [11] top-level scope
    @ /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/contrib/generate_precompile.jl:416
 [12] eval(m::Module, e::Any)
    @ Core ./boot.jl:370
 [13] top-level scope
    @ /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/contrib/generate_precompile.jl:10
in expression starting at /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/contrib/generate_precompile.jl:7
*** This error is usually fixed by running `make clean`. If the error persists, try `make cleanall`. ***
make[1]: *** [sysimage.mk:89: /var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4/usr/lib/julia/sys-o.a] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4'
make: *** [Makefile:90: julia-sysimg-release] Error 2
 * ERROR: dev-lang/julia-1.9.4-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/julia-1.9.4-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/julia-1.9.4-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/julia-1.9.4-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/julia-1.9.4-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4'
 * S: '/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4'

>>> Failed to emerge dev-lang/julia-1.9.4-r1, Log file:

>>>  '/var/tmp/portage/dev-lang/julia-1.9.4-r1/temp/build.log'

 * Messages for package dev-lang/julia-1.9.4-r1:

 * ERROR: dev-lang/julia-1.9.4-r1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/julia-1.9.4-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/julia-1.9.4-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/julia-1.9.4-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/julia-1.9.4-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4'
 * S: '/var/tmp/portage/dev-lang/julia-1.9.4-r1/work/julia-1.9.4'

 * Regenerating GNU info directory index...
 * Processed 148 info files.
 * After world updates, it is important to remove obsolete packages with
 * emerge --depclean. Refer to `man emerge` for more information.


Reproducible: Always

Steps to Reproduce:
1.emerge -av julia
2.
3.



# emerge -pqv '=dev-lang/julia-1.9.4-r1::gentoo'
[ebuild  N    ] dev-lang/julia-1.9.4-r1 

# emerge --info '=dev-lang/julia-1.9.4-r1::gentoo'
Portage 3.0.67 (python 3.13.3-final-0, default/linux/amd64/23.0/desktop/plasma, gcc-14, glibc-2.40-r8, 6.12.21-gentoo-dist x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.12.21-gentoo-dist-x86_64-AMD_Ryzen_9_9950X_16-Core_Processor-with-glibc2.40
KiB Mem:    96357148 total,  60223824 free
KiB Swap:   33554428 total,  33554428 free
Timestamp of repository gentoo: Sun, 04 May 2025 07:15:00 +0000
Head commit of repository gentoo: 47f4d9277737e9d5b7df8d38fa5ea03530712d29
Timestamp of repository guru: Sun, 04 May 2025 07:24:20 +0000
Head commit of repository guru: eecd67da86052814d57597507f99cebdb937c797

Head commit of repository scinext-overlay: 4c01d39eca223cc9bebe9945ca5e856708cf81b1

Timestamp of repository steam-overlay: Wed, 23 Apr 2025 15:38:10 +0000
Head commit of repository steam-overlay: 23f38449f9a86d0648566b51a51e73d9561a40e6

Head commit of repository zxe: de7cc9a68d5250099895848b747488586c7d85f9

sh bash 5.2_p37
ld GNU ld (Gentoo 2.44 p1) 2.44.0
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.17-r1::gentoo
dev-build/cmake:           3.31.5::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.7.0::gentoo
dev-lang/perl:             5.40.2::gentoo
dev-lang/python:           3.12.10::gentoo, 3.13.3::gentoo
dev-lang/rust-bin:         1.85.1::gentoo
llvm-core/clang:           19.1.7::gentoo
llvm-core/lld:             19.1.7::gentoo
llvm-core/llvm:            19.1.7::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.56::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.44::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             13.3.1_p20241220::gentoo, 14.2.1_p20241221::gentoo
sys-devel/gcc-config:      2.12.1::gentoo
sys-kernel/linux-headers:  6.12::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r8::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes
    sync-rsync-extra-opts: 

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    volatile: False

scinext-overlay
    location: /var/db/repos/scinext-overlay
    sync-type: git
    sync-uri: https://github.com/RarogCmex/scinext-overlay.git
    masters: gentoo
    volatile: False

steam-overlay
    location: /var/db/repos/steam-overlay
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/steam-overlay.git
    masters: gentoo
    volatile: False

zxe
    location: /var/db/repos/zxe
    sync-type: git
    sync-uri: https://github.com/redcode/zxe-gentoo-overlay.git
    masters: gentoo
    volatile: False

fpga-overlay
    location: /usr/local/portage/fpga-overlay
    masters: gentoo
    priority: 30
    volatile: True

lucretia
    location: /usr/local/portage/lucretia
    masters: gentoo
    priority: 30
    volatile: True

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://www.mirrorservice.org/sites/distfiles.gentoo.org/releases/amd64/binpackages/23.0/x86-64

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE @BINARY-REDISTRIBUTABLE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance binpkg-request-signature buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://ftp.free.fr/mirrors/ftp.gentoo.org/     http://mirrors.ircam.fr/pub/gentoo-distfiles/     https://mirrors.ircam.fr/pub/gentoo-distfiles/     https://mirror.dogado.de/gentoo     http://ftp.agdsn.de/gentoo     https://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/     http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/     https://mirrors.gethosted.online/gentoo/     http://mirrors.gethosted.online/gentoo/     https://www.mirrorservice.org/sites/distfiles.gentoo.org/     http://www.mirrorservice.org/sites/distfiles.gentoo.org/     https://scinext-overlay-distfiles.imperium.org.ru"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
MAKEOPTS="-j32 -l35"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RUSTFLAGS=" -C target-cpu=native"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alembic alsa amd64 avif bluetooth branding bzip2 cairo cdda cdr cet collada color-management colord crypt cuda cudnn cups dbus declarative dist-kernel dri dts dvd dvdr elogind encode exif ffmpeg flac gdbm gif gpm gtk gui harfbuzz heif iconv icu ios ipv6 jack jpeg kde kwallet ladspa lcms ldac libnotify libtirpc lv2 mad midi mng mp3 mp4 mpeg multilib ncurses networkmanager nls nsm ogg opencv openexr opengl openmp openvdb pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 qt6 readline screencast sdl seccomp semantic-desktop sound spell ssl startup-notification svg test-rust theora tiff truetype udev udisks unicode upower usb v4l vaapi vorbis vulkan wayland webp widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_14" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 avx512_bf16 avx512_bitalg avx512_vbmi2 avx512_vnni avx512_vp2intersect avx512_vpopcntdq avx512bw avx512cd avx512dq avx512f avx512ifma avx512vbmi avx512vl f16c fma3 pclmul popcnt rdrand sha sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="wacom libinput" KERNEL="linux" L10N="en-GB" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LLVM_TARGETS="M68k SPIRV" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres17" PYTHON_SINGLE_TARGET="python3_13" PYTHON_TARGETS="python3_13" QEMU_SOFTMMU_TARGETS="aarch64 arm i386 m68k mips mips64 mips64el mipsel ppc ppc64 riscv32 riscv64 x86_64" RUBY_TARGETS="ruby32" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Luke A. Guest 2025-05-04 08:47:30 UTC
Created attachment 927581 [details]
Build log
Comment 2 Luke A. Guest 2025-05-04 08:48:29 UTC
Created attachment 927582 [details]
Build log for 1.8.5-r2
Comment 3 William Throwe 2025-05-11 23:00:07 UTC
This appears (at least for 1.8.5) to be a incompatibility with newer versions of libgit2 (evidence below).  Because julia is doing foreign-function calls into the library, it has to include julia-language definitions of the libgit2 types, and so is likely to break after any ABI change.  Julia 1.8.5 appears to be compatible with libgit2 versions up to something around 1.4, and 1.9.4 appears to target 1.5, both of which are definitely not ABI-compatible with any version still available in the gentoo tree.

Evidence:

After modifying the script to enable debug output, the actual cause of the build hang is a segfault in code called from .../LibGit2/src/repository.jl:459 (full output below).  Looking at that line, it's a c-language call to libgit2's git_clone function, passing types compatible with libgit2-1.4 instead of the current version.

Debug output:

Generating REPL precompile statements... 25/40
#### inputting statement: ####
"Pkg.add(\"TestPkg\")"
####
julia> Pkg.add("TestPkg")
   Resolving package versions...
     Cloning [7b03278a-bf1f-4167-8abd-9651b101e75b] TestPkg from /tmp/jl_JdHt1q/TestPkg.jl

signal (11): Segmentation fault
in expression starting at REPL[16]:1
unknown function (ip: 0x7f3d945ff008)
macro expansion at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/LibGit2/src/error.jl:108 [inlined]
clone at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/LibGit2/src/repository.jl:459
#clone#120 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/LibGit2/src/LibGit2.jl:583
clone##kw at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/LibGit2/src/LibGit2.jl:556 [inlined]
#clone#3 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/GitTools.jl:115
clone##kw at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/GitTools.jl:88 [inlined]
#ensure_clone#2 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/GitTools.jl:74 [inlined]
ensure_clone##kw at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/GitTools.jl:70 [inlined]
install_git at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:587
unknown function (ip: 0x7f3d88b9d6ad)
#download_source#43 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:814
download_source at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:700 [inlined]
#add#85 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1278
add##kw at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1265 [inlined]
#add#129 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:275
add##kw at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:226
unknown function (ip: 0x7f3d88cc5081)
#add#29 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:156
add at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:145
#add#27 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:144 [inlined]
add at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:144 [inlined]
#add#26 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:143 [inlined]
add at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:143
unknown function (ip: 0x7f3d87137106)
jl_apply at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/julia.h:1843 [inlined]
do_call at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/interpreter.c:126
eval_value at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/interpreter.c:215
eval_stmt_value at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/interpreter.c:166 [inlined]
eval_body at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/interpreter.c:612
jl_interpret_toplevel_thunk at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/interpreter.c:750
jl_toplevel_eval_flex at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/toplevel.c:906
jl_toplevel_eval_flex at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/toplevel.c:850
ijl_toplevel_eval_in at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/toplevel.c:965
eval at ./boot.jl:368 [inlined]
eval_user_input at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:151
repl_backend_loop at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:247
start_repl_backend at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:232
#run_repl#47 at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:369
run_repl at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/share/julia/stdlib/v1.8/REPL/src/REPL.jl:355
unknown function (ip: 0x7f3d87db22ca)
#967 at ./client.jl:419
unknown function (ip: 0x7f3d87d3ff66)
jl_apply at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/julia.h:1843 [inlined]
jl_f__call_latest at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/builtins.c:774
#invokelatest#2 at ./essentials.jl:729 [inlined]
invokelatest at ./essentials.jl:726 [inlined]
run_main_repl at ./client.jl:404
exec_options at ./client.jl:318
_start at ./client.jl:522
unknown function (ip: 0x7f3d87d2fb73)
jl_apply at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/julia.h:1843 [inlined]
true_main at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/jlapi.c:575
jl_repl_entrypoint at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/src/jlapi.c:719
main at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/cli/loader_exe.c:59
unknown function (ip: 0x7f3d9a5fd3ed)
__libc_start_main at /lib64/libc.so.6 (unknown line)
_start at /var/tmp/portage/dev-lang/julia-1.8.5-r2/work/julia-1.8.5/usr/bin/julia (unknown line)
Allocations: 109006256 (Pool: 108951540; Big: 54716); GC: 105
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-05-11 23:09:24 UTC
(In reply to William Throwe from comment #3)
> This appears (at least for 1.8.5) to be a incompatibility with newer
> versions of libgit2 (evidence below).  Because julia is doing
> foreign-function calls into the library, it has to include julia-language
> definitions of the libgit2 types, and so is likely to break after any ABI
> change.  Julia 1.8.5 appears to be compatible with libgit2 versions up to
> something around 1.4, and 1.9.4 appears to target 1.5, both of which are
> definitely not ABI-compatible with any version still available in the gentoo
> tree.
> 

Ah, thanks for the analysis.
Comment 5 Larry the Git Cow gentoo-dev 2025-05-11 23:35:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1e1e4b7366c54b65c51d907ded4b7689a679c86

commit a1e1e4b7366c54b65c51d907ded4b7689a679c86
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-05-11 23:34:42 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-05-11 23:35:01 +0000

    dev-lang/julia: don't use system libgit2
    
    Julia uses libgit2 via FFI and libgit2 has unstable ABI.
    
    Closes: https://bugs.gentoo.org/955402
    Thanks-to: William Throwe <wtt6@cornell.edu>
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-lang/julia/{julia-1.8.3-r5.ebuild => julia-1.8.3-r6.ebuild} | 8 +++++---
 dev-lang/julia/{julia-1.8.5-r2.ebuild => julia-1.8.5-r3.ebuild} | 8 +++++---
 dev-lang/julia/{julia-1.9.0-r1.ebuild => julia-1.9.0-r2.ebuild} | 8 +++++---
 dev-lang/julia/{julia-1.9.4-r1.ebuild => julia-1.9.4-r2.ebuild} | 8 +++++---
 4 files changed, 20 insertions(+), 12 deletions(-)