Skip to content

Building documentation fails with USE_BINARYBUILDER=0 #50701

Closed
@ararslan

Description

@ararslan

We don't have full source distribution tarballs for 1.10.0-beta1 because the following error occurs when building the documentation:

Building HTML documentation.
  Installing known registries into `~/test/julia/doc/deps`
┌ Warning: The active manifest file has dependencies that were resolved with a different julia version (1.9.0-DEV). Unexpected behavior may occur.
└ @ ~/test/julia/doc/Manifest.toml:0
   Installed IOCapture ─────────── v0.2.2
   Installed ANSIColoredPrinters ─ v0.0.1
   Installed Parsers ───────────── v2.4.0
   Installed DocStringExtensions ─ v0.9.1
   Installed JSON ──────────────── v0.21.3
   Installed Documenter ────────── v0.27.23
Precompiling project...
  7 dependencies successfully precompiled in 7 seconds
  1 dependency had warnings during precompilation:
┌ Parsers [69de0a69-1ddd-5017-9359-2bf0b02dc9f0]
│  WARNING: method definition for dpeekbyte at /home/ararslan/test/julia/doc/deps/packages/Parsers/34hDN/src/utils.jl:199 declares type variable T but does not use it.
└
ERROR: LoadError: InitError: could not load library "libamd.so.3"
libsuitesparseconfig.so.7: cannot open shared object file: No such file or directory
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen
    @ Base.Libc.Libdl ./libdl.jl:116 [inlined]
  [3] dlopen(s::String)
    @ Base.Libc.Libdl ./libdl.jl:116
  [4] __init__()
    @ SuiteSparse_jll ~/test/julia/usr/share/julia/stdlib/v1.10/SuiteSparse_jll/src/SuiteSparse_jll.jl:86
  [5] run_module_init(mod::Module, i::Int64)
    @ Base ./loading.jl:1128
  [6] register_restored_modules(sv::Core.SimpleVector, pkg::Base.PkgId, path::String)
    @ Base ./loading.jl:1116
  [7] _include_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String, depmods::Vector{Any})
    @ Base ./loading.jl:1061
  [8] _tryrequire_from_serialized(pkg::Base.PkgId, path::String, ocachepath::String)
    @ Base ./loading.jl:1525
  [9] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1984
 [10] __require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1806
 [11] #invoke_in_world#3
    @ Base ./essentials.jl:921 [inlined]
 [12] invoke_in_world
    @ Base ./essentials.jl:918 [inlined]
 [13] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1797
 [14] macro expansion
    @ Base ./loading.jl:1784 [inlined]
 [15] macro expansion
    @ Base ./lock.jl:267 [inlined]
 [16] __require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1747
 [17] #invoke_in_world#3
    @ Base ./essentials.jl:921 [inlined]
 [18] invoke_in_world
    @ Base ./essentials.jl:918 [inlined]
 [19] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1740
 [20] include(mod::Module, _path::String)
    @ Base ./Base.jl:489
 [21] include(x::String)
    @ SparseArrays ~/test/julia/usr/share/julia/stdlib/v1.10/SparseArrays/src/SparseArrays.jl:6
 [22] top-level scope
    @ ~/test/julia/usr/share/julia/stdlib/v1.10/SparseArrays/src/SparseArrays.jl:77
 [23] include
    @ Base ./Base.jl:489 [inlined]
 [24] 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::String)
    @ Base ./loading.jl:2216
 [25] top-level scope
    @ stdin:3
during initialization of module SuiteSparse_jll
in expression starting at /home/ararslan/test/julia/usr/share/julia/stdlib/v1.10/SparseArrays/src/solvers/LibSuiteSparse.jl:1
in expression starting at /home/ararslan/test/julia/usr/share/julia/stdlib/v1.10/SparseArrays/src/SparseArrays.jl:3
in expression starting at stdin:3
ERROR: LoadError: Failed to precompile SparseArrays [2f01184e-e22b-5df5-ae63-d93ebab69eaf] to "/home/ararslan/test/julia/doc/deps/compiled/v1.10/SparseArrays/jl_wIqmSr".
Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
    @ Base ./loading.jl:2468
  [3] compilecache
    @ Base ./loading.jl:2334 [inlined]
  [4] (::Base.var"#967#968"{Base.PkgId})()
    @ Base ./loading.jl:1968
  [5] mkpidlock(f::Base.var"#967#968"{Base.PkgId}, at::String, pid::Int32; kwopts::@Kwargs{stale_age::Int64, wait::Bool})
    @ FileWatching.Pidfile ~/test/julia/usr/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:92
  [6] #mkpidlock#6
    @ FileWatching.Pidfile ~/test/julia/usr/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:87 [inlined]
  [7] trymkpidlock(::Function, ::Vararg{Any}; kwargs::@Kwargs{stale_age::Int64})
    @ FileWatching.Pidfile ~/test/julia/usr/share/julia/stdlib/v1.10/FileWatching/src/pidfile.jl:110
  [8] #invokelatest#2
    @ Base ./essentials.jl:889 [inlined]
  [9] invokelatest
    @ Base ./essentials.jl:884 [inlined]
 [10] maybe_cachefile_lock(f::Base.var"#967#968"{Base.PkgId}, pkg::Base.PkgId, srcpath::String; stale_age::Int64)
    @ Base ./loading.jl:2898
 [11] maybe_cachefile_lock
    @ Base ./loading.jl:2895 [inlined]
 [12] _require(pkg::Base.PkgId, env::String)
    @ Base ./loading.jl:1964
 [13] __require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1806
 [14] #invoke_in_world#3
    @ Base ./essentials.jl:921 [inlined]
 [15] invoke_in_world
    @ Base ./essentials.jl:918 [inlined]
 [16] _require_prelocked(uuidkey::Base.PkgId, env::String)
    @ Base ./loading.jl:1797
 [17] macro expansion
    @ Base ./loading.jl:1784 [inlined]
 [18] macro expansion
    @ Base ./lock.jl:267 [inlined]
 [19] __require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1747
 [20] #invoke_in_world#3
    @ Base ./essentials.jl:921 [inlined]
 [21] invoke_in_world
    @ Base ./essentials.jl:918 [inlined]
 [22] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1740
 [23] eval
    @ ./boot.jl:383 [inlined]
 [24] top-level scope
    @ ~/test/julia/doc/make.jl:227
in expression starting at /home/ararslan/test/julia/doc/make.jl:226
make[1]: *** [Makefile:47: html] Error 1
make: *** [Makefile:113: docs] Error 2

It appears the SuiteSparse libraries aren't getting their RPATH set properly:

$ ldd usr/lib/libamd.so
        linux-vdso.so.1 (0x00007ffe4cff8000)
        libsuitesparseconfig.so.7 => not found
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1014670000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f101447e000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f10147e0000)
$ objdump -p usr/lib/libamd.so                                                                                                                               

usr/lib/libamd.so:     file format elf64-x86-64

Program Header:
    LOAD off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**12
         filesz 0x0000000000000c28 memsz 0x0000000000000c28 flags r--
    LOAD off    0x0000000000001000 vaddr 0x0000000000001000 paddr 0x0000000000001000 align 2**12
         filesz 0x00000000000071b1 memsz 0x00000000000071b1 flags r-x
    LOAD off    0x0000000000009000 vaddr 0x0000000000009000 paddr 0x0000000000009000 align 2**12
         filesz 0x0000000000001014 memsz 0x0000000000001014 flags r--
    LOAD off    0x000000000000add0 vaddr 0x000000000000bdd0 paddr 0x000000000000bdd0 align 2**12
         filesz 0x00000000000002e8 memsz 0x00000000000002f0 flags rw-
 DYNAMIC off    0x000000000000ade0 vaddr 0x000000000000bde0 paddr 0x000000000000bde0 align 2**3
         filesz 0x0000000000000200 memsz 0x0000000000000200 flags rw-
    NOTE off    0x00000000000002a8 vaddr 0x00000000000002a8 paddr 0x00000000000002a8 align 2**3
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
    NOTE off    0x00000000000002c8 vaddr 0x00000000000002c8 paddr 0x00000000000002c8 align 2**2
         filesz 0x0000000000000024 memsz 0x0000000000000024 flags r--
0x6474e553 off    0x00000000000002a8 vaddr 0x00000000000002a8 paddr 0x00000000000002a8 align 2**3
         filesz 0x0000000000000020 memsz 0x0000000000000020 flags r--
EH_FRAME off    0x0000000000009838 vaddr 0x0000000000009838 paddr 0x0000000000009838 align 2**2
         filesz 0x00000000000000d4 memsz 0x00000000000000d4 flags r--
   STACK off    0x0000000000000000 vaddr 0x0000000000000000 paddr 0x0000000000000000 align 2**4
         filesz 0x0000000000000000 memsz 0x0000000000000000 flags rw-
   RELRO off    0x000000000000add0 vaddr 0x000000000000bdd0 paddr 0x000000000000bdd0 align 2**0
         filesz 0x0000000000000230 memsz 0x0000000000000230 flags r--

Dynamic Section:
  NEEDED               libsuitesparseconfig.so.7
  NEEDED               libm.so.6
  NEEDED               libc.so.6
  SONAME               libamd.so.3
  INIT                 0x0000000000001000
  FINI                 0x00000000000081a4
  INIT_ARRAY           0x000000000000bdd0
  INIT_ARRAYSZ         0x0000000000000008
  FINI_ARRAY           0x000000000000bdd8
  FINI_ARRAYSZ         0x0000000000000008
  GNU_HASH             0x00000000000002f0
  STRTAB               0x00000000000006b0
  SYMTAB               0x00000000000003b0
  STRSZ                0x0000000000000282
  SYMENT               0x0000000000000018
  PLTGOT               0x000000000000c000
  PLTRELSZ             0x00000000000001c8
  PLTREL               0x0000000000000007
  JMPREL               0x0000000000000a60
  RELA                 0x00000000000009b8
  RELASZ               0x00000000000000a8
  RELAENT              0x0000000000000018
  VERNEED              0x0000000000000978
  VERNEEDNUM           0x0000000000000002
  VERSYM               0x0000000000000932
  RELACOUNT            0x0000000000000003

Version References:
  required from libm.so.6:
    0x09691a75 0x00 03 GLIBC_2.2.5
  required from libc.so.6:
    0x09691a75 0x00 02 GLIBC_2.2.5

Possibly related to #48977, I guess?

Metadata

Metadata

Assignees

Labels

buildingBuild system, or building Julia or its dependenciesexternal dependenciesInvolves LLVM, OpenBLAS, or other linked librariesregressionRegression in behavior compared to a previous version

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions