JuliaPackaging / Yggdrasil

Collection of builder repositories for BinaryBuilder.jl
https://binarybuilder.org
Other
304 stars 539 forks source link

diffutils: Inconsistency detected by ld.so: dl-version.c: 204: _dl_check_map_versions: Assertion `needed != NULL' failed! #8461

Open mortenpi opened 5 months ago

mortenpi commented 5 months ago

Getting this error with diffutils_jll 3.10 and 3.8. 3.7, interestingly, is fine. And so are the other binaries from the diffutils_jll (diff3, sdiff and cmp):

julia> run(`$(diffutils_jll._diff()) -v`)
Inconsistency detected by ld.so: dl-version.c: 204: _dl_check_map_versions: Assertion `needed != NULL' failed!
ERROR: failed process: Process(setenv(`/home/mortenpi/.julia/artifacts/95f399139d1ce2b1d78d0fca85d8905d0242e52c/bin/diff -v`,["PATH=/home/mortenpi/.julia/artifacts/95f399139d1ce2b1d78d0fca85d8905d0242e52c/bin:/home/mortenpi/.local/bin:/home/mortenpi/.julia/juliaup/bin:/home/mortenpi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin", "LD_LIBRARY_PATH=/home/mortenpi/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/bin/../lib/julia:/home/mortenpi/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/bin/../lib",  … ]), ProcessExited(127)) [127]

cc @eschnett, but just because you relatively recently updated the JLL, and I'm wondering if anyone can repro this.

This is on Pop OS 22.04, with Julia 1.10.2 via juliaup.

Edit: I can also repro this on Ubuntu on a different system, and with Julia 1.6 and 1.9. So I suspect this is not due to my environment.

giordano commented 5 months ago

According to https://github.com/microsoft/onnxruntime/issues/9754 this may be due to patchelf, which we use during audit.

giordano commented 5 months ago

Although, looking at the auditor log

[ Info: Beginning audit of /cache/build/yggy-amdci7-5/julialang/yggdrasil/D/diffutils/build/x86_64-linux-gnu/3r3lWGpB/x86_64-linux-gnu-libgfortran3-cxx03/destdir
[ Info: Checking bin/cmp with RPath list Any[]
[ Info: Ignored system libraries librt.so.1, libc.so.6
[ Info: Checking bin/diff with RPath list Any[]
[ Info: Ignored system libraries librt.so.1, libc.so.6
[ Info: Checking bin/diff3 with RPath list Any[]
[ Info: Ignored system libraries librt.so.1, libc.so.6
[ Info: Checking bin/sdiff with RPath list Any[]
[ Info: Ignored system libraries librt.so.1, libc.so.6
[ Info: Checking license file
[ Info: Found license file(s): COPYING
[ Info: /cache/build/yggy-amdci7-5/julialang/yggdrasil/D/diffutils/build/x86_64-linux-gnu/3r3lWGpB/x86_64-linux-gnu-libgfortran3-cxx03/destdir/bin/cmp matches our search criteria of ["cmp"]
[ Info: /cache/build/yggy-amdci7-5/julialang/yggdrasil/D/diffutils/build/x86_64-linux-gnu/3r3lWGpB/x86_64-linux-gnu-libgfortran3-cxx03/destdir/bin/diff matches our search criteria of ["diff"]
[ Info: /cache/build/yggy-amdci7-5/julialang/yggdrasil/D/diffutils/build/x86_64-linux-gnu/3r3lWGpB/x86_64-linux-gnu-libgfortran3-cxx03/destdir/bin/diff3 matches our search criteria of ["diff3"]
[ Info: /cache/build/yggy-amdci7-5/julialang/yggdrasil/D/diffutils/build/x86_64-linux-gnu/3r3lWGpB/x86_64-linux-gnu-libgfortran3-cxx03/destdir/bin/sdiff matches our search criteria of ["sdiff"]
[ Info: Compressing files in /cache/build/yggy-amdci7-5/julialang/yggdrasil/D/diffutils/build/x86_64-linux-gnu/3r3lWGpB/x86_64-linux-gnu-libgfortran3-cxx03/destdir/logs/diffutils
[ Info: Tree hash of contents of diffutils.v3.10.0.x86_64-linux-gnu.tar.gz: 5daa8b86cd11b88a5f594d92b112afee9498060a
[ Info: SHA256 of diffutils.v3.10.0.x86_64-linux-gnu.tar.gz: 2c402d8554348f2230f9f703a09291aa68bba2a2d08ee628773e80b46d62ac53
[ Info: Tree hash of contents of diffutils-logs.v3.10.0.x86_64-linux-gnu.tar.gz: 622026c7a65c5e7e685157c49294bb564c262dbe
[ Info: SHA256 of diffutils-logs.v3.10.0.x86_64-linux-gnu.tar.gz: 7dc25db8592d4f08886db2cb105fe08a4a291af9f6c0a6fee65477515da9d246
[ Info: Timings: setup: 10.01s, build: 15.52s, audit: 5.96s, packaging: 0.82s

I'm not sure patchelf did anything in this case, since the executables just depend on system libraries.