oscar-system / Singular.jl

Julia package for the Singular library
Other
33 stars 33 forks source link

Precompiling Singular fails due to `libsingular_julia.so` #601

Closed lgoettgens closed 2 years ago

lgoettgens commented 2 years ago

Starting this afternoon, I couldn't use oscar anymore due to some error in libsingular_julia.so

[ Info: Precompiling Singular [bcd08a7b-43d2-5ff7-b6d4-c458787f915c]
ERROR: LoadError: InitError: could not load library "/home/lgoe/.julia/artifacts/8c68540735639048366b866540b29701451e153d/lib/libsingular_julia.so"
/home/lgoe/.julia/artifacts/8c68540735639048366b866540b29701451e153d/lib/libsingular_julia.so: undefined symbol: _Z6idElemP10sip_sideal
Stacktrace:
  [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
    @ Base.Libc.Libdl ./libdl.jl:117
  [2] dlopen(s::String, flags::UInt32)
    @ Base.Libc.Libdl ./libdl.jl:116
  [3] macro expansion
    @ ~/.julia/packages/JLLWrappers/QpMQW/src/products/library_generators.jl:54 [inlined]
  [4] __init__()
    @ libsingular_julia_jll ~/.julia/packages/libsingular_julia_jll/9NIdQ/src/wrappers/x86_64-linux-gnu-cxx11-julia_version+1.8.0.jl:10
  [5] _include_from_serialized(pkg::Base.PkgId, path::String, depmods::Vector{Any})
    @ Base ./loading.jl:831
  [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String, build_id::UInt64)
    @ Base ./loading.jl:1039
  [7] _require(pkg::Base.PkgId)
    @ Base ./loading.jl:1315
  [8] _require_prelocked(uuidkey::Base.PkgId)
    @ Base ./loading.jl:1200
  [9] macro expansion
    @ ./loading.jl:1180 [inlined]
 [10] macro expansion
    @ ./lock.jl:223 [inlined]
 [11] require(into::Module, mod::Symbol)
    @ Base ./loading.jl:1144
 [12] include
    @ ./Base.jl:419 [inlined]
 [13] 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, UInt64}}, source::Nothing)
    @ Base ./loading.jl:1554
 [14] top-level scope
    @ stdin:1
during initialization of module libsingular_julia_jll
pkg> st -m
Project PBWDeformations v0.1.0
Status `~/code/pbwdeformations.jl/Manifest.toml`
  [c3fe647b] AbstractAlgebra v0.27.6
  [f01c122e] BinaryWrappers v0.1.2
  [d360d2e6] ChainRulesCore v1.15.6
  [9e997f8a] ChangesOfVariables v0.1.4
  [861a8166] Combinatorics v1.0.2
  [34da2185] Compat v4.3.0
  [1f15a43c] CxxWrap v0.12.1
  [55939f99] DecFP v1.3.1
⌅ [ffbed154] DocStringExtensions v0.8.6
⌅ [c863536a] GAP v0.8.5
  [d5909c97] GroupsCore v0.4.0
  [3e1990a7] Hecke v0.15.5
  [3587e190] InverseFunctions v0.1.8
  [92d709cd] IrrationalConstants v0.1.1
  [692b3bcd] JLLWrappers v1.4.1
  [682c06a0] JSON v0.21.3
  [2ab3a3ac] LogExpFunctions v0.3.18
  [1914dd2f] MacroTools v0.5.10
⌅ [4fe8b98c] Mongoc v0.7.1
  [2edaba10] Nemo v0.32.4
  [f1435218] Oscar v0.10.2
  [69de0a69] Parsers v2.4.2
  [d720cf60] Polymake v0.8.1
  [21216c6a] Preferences v1.3.0
  [fb686558] RandomExtensions v0.4.3
  [3cdcf5f2] RecipesBase v1.3.1
  [ae029012] Requires v1.3.0
  [6c6a2e73] Scratch v1.1.1
⌅ [bcd08a7b] Singular v0.12.0
  [66db9d55] SnoopPrecompile v1.0.1
  [276daf66] SpecialFunctions v2.1.7
  [e21ec000] Antic_jll v0.201.500+0
  [d9960996] Arb_jll v200.2300.0+0
  [fcfa6d1b] Calcium_jll v0.401.100+0
  [47200ebd] DecFP_jll v2.0.3+1
  [e134572f] FLINT_jll v200.900.1+0
⌅ [5cd7a574] GAP_jll v400.1192.2+1
⌅ [de1ad85e] GAP_lib_jll v400.1192.2+0
⌅ [ba154793] GAP_pkg_juliainterface_jll v0.800.0+0
  [e8aa6df9] GLPK_jll v5.0.1+0
  [1d63c593] LLVMOpenMP_jll v14.0.4+0
  [dd4b983a] LZO_jll v2.10.1+0
  [90100e71] MongoC_jll v1.19.1+0
  [68e3532b] Ncurses_jll v6.2.0+0
  [76642167] Ninja_jll v1.11.1+0
⌅ [656ef2d0] OpenBLAS32_jll v0.3.17+0
  [458c3c95] OpenSSL_jll v1.1.19+0
  [efe28fd5] OpenSpecFun_jll v0.5.5+0
  [80dd9cbb] PPL_jll v1.2.1+0
  [83958c19] Perl_jll v5.34.0+2
  [05236dd9] Readline_jll v8.1.1+1
  [43d676ae] Singular_jll v403.100.300+0
  [36f60fef] TOPCOM_jll v0.17.8+0
  [3161d3a3] Zstd_jll v1.5.2+0
  [508c9074] bliss_jll v0.77.0+1
⌅ [28df3c45] boost_jll v1.76.0+1
  [f07e07eb] cddlib_jll v0.94.13+0
  [5558cf25] cohomCalg_jll v0.32.0+0
  [1493ae25] lib4ti2_jll v1.6.10+0
  [3eaa8342] libcxxwrap_julia_jll v0.9.2+1
  [4d8266f6] libpolymake_julia_jll v0.8.2+1
⌅ [ae4fbd8f] libsingular_julia_jll v0.25.0+0
  [3873f7d0] lrslib_jll v0.3.3+0
  [6d01cc9a] msolve_jll v0.4.4+0
  [55c6dc9b] nauty_jll v2.6.13+0
  [6690c6e9] normaliz_jll v300.900.301+0
  [7c209550] polymake_jll v400.700.1+1
  [fe1e1685] snappy_jll v1.1.9+1
  [0dad84c5] ArgTools v1.1.1
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [8ba89e20] Distributed
  [f43a241f] Downloads v1.6.0
  [7b1f6079] FileWatching
  [b77e0a4c] InteractiveUtils
  [4af54fe1] LazyArtifacts
  [b27032c2] LibCURL v0.6.3
  [76f85450] LibGit2
  [8f399da3] Libdl
  [37e2e46d] LinearAlgebra
  [56ddb016] Logging
  [d6f4376e] Markdown
  [a63ad114] Mmap
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.8.0
  [de0858da] Printf
  [9abbd945] Profile
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [2f01184e] SparseArrays
  [10745b16] Statistics
  [fa267f1f] TOML v1.0.0
  [a4e569a6] Tar v1.10.0
  [8dfed614] Test
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll v0.5.2+0
  [781609d7] GMP_jll v6.2.1+2
  [deac9b47] LibCURL_jll v7.84.0+0
  [29816b5a] LibSSH2_jll v1.10.2+0
  [3a97d323] MPFR_jll v4.1.1+1
  [c8ffd9c3] MbedTLS_jll v2.28.0+0
  [14a3606d] MozillaCACerts_jll v2022.2.1
  [4536629a] OpenBLAS_jll v0.3.20+0
  [05823500] OpenLibm_jll v0.8.1+0
  [83775a58] Zlib_jll v1.2.12+3
  [8e850b90] libblastrampoline_jll v5.1.1+0
  [8e850ede] nghttp2_jll v1.48.0+0
  [3f19e933] p7zip_jll v17.4.0+0
Info Packages marked with ⌅ have new versions available but cannot be upgraded. To see why use `status --outdated -m`
versioninfo(;verbose=true)
Julia Version 1.8.0
Commit 5544a0fab76 (2022-08-17 13:38 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
      "Arch Linux"
  uname: Linux 5.15.75-1-lts #1 SMP Wed, 26 Oct 2022 11:14:25 +0000 x86_64 unknown
  CPU: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz: 
              speed         user         nice          sys         idle          irq
       #1  1626 MHz     143195 s         58 s      35319 s     518104 s      11133 s
       #2  2300 MHz     160705 s         66 s      31352 s     167990 s       3556 s
       #3  2732 MHz     156644 s         97 s      33221 s     166754 s       6644 s
       #4  2300 MHz     160658 s        183 s      31200 s     168305 s       3569 s
       #5  2300 MHz     166691 s        150 s      30884 s     165536 s       3522 s
       #6  2300 MHz     162421 s        100 s      30879 s     167328 s       3536 s
       #7  2300 MHz     162498 s        119 s      30689 s     167352 s       3530 s
       #8  2300 MHz     161804 s        167 s      30835 s     167910 s       3556 s
  Memory: 15.349933624267578 GB (1548.875 MB free)
  Uptime: 613660.64 sec
  Load Avg:  2.33  3.13  2.86
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
  Threads: 1 on 8 virtual cores
Environment:
  WINDOWPATH = 1
  HOME = /home/lgoe
  TERM = xterm-256color

Due to the time of the issue, it seems to coincide with https://github.com/JuliaRegistries/General/pull/71577

Maybe @tthsqe12 has some idea?

thofma commented 2 years ago

I will yank this release for now, see https://github.com/JuliaRegistries/General/pull/71591

benlorenz commented 2 years ago

That error probably comes from this commit https://github.com/Singular/Singular/commit/48f1dd268d0ff74ef2f7dccbf02545425002ddcc which changes the ABI by making the function inline and removing the function symbol.

tthsqe12 commented 2 years ago

Oh no. I guess I was always testing locally with a rebuilt lisingular_julia. So, we need to bump a version offset in Singular_jll as well to signal the ABI breakage?

benlorenz commented 2 years ago

Yes, a new Singular_jll with a bump in the minor version part (e.g. offset 0.1.0) to make sure it isn't picked by older libsingular_julia releases. Then a new libsingular_julia with updated compat bound (that one can probably be just a patch-level bump?).

tthsqe12 commented 2 years ago

thofma removed it so Singular.jl version 0.13 should be fine now. Version 0.14 is out now.