Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New package: Couenne_jll v0.5.8+0 #33796

Merged
merged 1 commit into from
Apr 9, 2021

Conversation

jlbuild
Copy link
Contributor

@jlbuild jlbuild commented Apr 7, 2021

Autogenerated JLL package registration

@jlbuild jlbuild temporarily deployed to stopwatch April 7, 2021 23:08 Inactive
@github-actions
Copy link
Contributor

github-actions bot commented Apr 7, 2021

Your new _jll package pull request met all of the guidelines for auto-merging and is scheduled to be merged in the next round.


If you want to prevent this pull request from being auto-merged, simply leave a comment. If you want to post a comment without blocking auto-merging, you must include the text [noblock] in your comment.

@giordano
Copy link
Member

giordano commented Apr 7, 2021

@odow https://github.com/JuliaRegistries/General/pull/33796/checks?check_run_id=2292099385#step:6:191

ERROR: InitError: could not load library "/tmp/jl_lYVjlJ/artifacts/ecc837f417130ef88b6288424541354733c387b1/lib/libCouenne.so"
libbonminampl.so.4: cannot open shared object file: No such file or directory

[noblock]

@odow
Copy link
Contributor

odow commented Apr 8, 2021

I continue to display a terrible naivety with BinaryBuilder. I guess if a JLL uses a library from another JLL, that library must be declared as one of the products?

julia> using Ipopt_jll, Bonmin_jll, Libdl

julia> Libdl.dlopen(joinpath(dirname(Ipopt_jll.libipopt_path), "libipoptamplinterface.dylib"))
Ptr{Nothing} @0x00007fac8c749850

julia> Libdl.dlopen(joinpath(dirname(Bonmin_jll.libbonmin_path), "libbonminampl.dylib"))
Ptr{Nothing} @0x00007fac8c572190

julia> using Couenne_jll

julia> Couenne_jll.amplexe() do path
       run(`$(path) -v`)
       end
Couenne 0.5.8 -- an Open-Source solver for Mixed Integer Nonlinear Optimization
Mailing list: couenne@list.coin-or.org
Instructions: http://www.coin-or.org/Couenne
couenne (Linux x86_64), ASL(20210327)

Process(`/Users/oscar/.julia/artifacts/2a977e2bc37cb7d4c751b647ffe19671a1e097a8/bin/couenne -v`, ProcessExited(0))

So I guess I need to add LibraryProduct("libipoptamplinterface", :libipoptamplinterface), to
https://github.com/JuliaPackaging/Yggdrasil/blob/e93b3b95a9e8a2704fc095ce2cb788fe38a6af6d/I/Ipopt/build_tarballs.jl#L41-L44
and
LibraryProduct("libbonminampl", :libbonminampl), to
https://github.com/JuliaPackaging/Yggdrasil/blob/b19036c32fc5d00ea4cc7fc5a1b35131d44a5403/C/Coin-OR/Bonmin/build_tarballs.jl#L58-L61?

[noblock]

@giordano
Copy link
Member

giordano commented Apr 8, 2021

I guess if a JLL uses a library from another JLL, that library must be declared as one of the products?

Yes, that's correct 🙂

[noblock]

@giordano
Copy link
Member

giordano commented Apr 8, 2021

Rejoice, new error!

ERROR: InitError: could not load library "/tmp/jl_KKxJ1h/artifacts/ecc837f417130ef88b6288424541354733c387b1/lib/libCouenne.so"
/tmp/jl_KKxJ1h/artifacts/ecc837f417130ef88b6288424541354733c387b1/lib/libCouenne.so: undefined symbol: _ZTv0_n720_NK21OsiClpSolverInterface10getRowNameEij
% echo _ZTv0_n720_NK21OsiClpSolverInterface10getRowNameEij|c++filt 
virtual thunk to OsiClpSolverInterface::getRowName(int, unsigned int) const

[noblock]

@giordano
Copy link
Member

giordano commented Apr 8, 2021

Seems to be the same function that caused a failure in #31558 (comment)

[noblock]

@odow
Copy link
Contributor

odow commented Apr 8, 2021

Now I'm very very confused, because Pkg claims to have pulled in Clp@1.17.6 (https://github.com/JuliaRegistries/General/pull/33796/checks?check_run_id=2300504160#step:6:100), which is the one Cbc_jll needed to fix the problem (#31977).

[noblock]

Here's what I get on a Mac after deving the package.

(couenne) pkg> st -m
      Status `/private/tmp/couenne/Manifest.toml`
  [692b3bcd] JLLWrappers v1.2.0
  [ae81ac8f] ASL_jll v0.1.2+0
  [29cba6d7] Bonmin_jll v1.8.8+2
  [38041ee0] Cbc_jll v2.10.5+2
  [3830e938] Cgl_jll v0.60.2+6
  [06985876] Clp_jll v1.17.6+7
  [be027038] CoinUtils_jll v2.11.3+4
  [f09e9e23] Couenne_jll v0.5.8+0 `~/.julia/dev/Couenne_jll`
  [9cc047cb] Ipopt_jll v3.13.4+1
  [d00139f3] METIS_jll v5.1.0+5
  [d7ed1dd3] MUMPS_seq_jll v5.2.1+4
  [656ef2d0] OpenBLAS32_jll v0.3.12+1
  [7da25872] Osi_jll v0.108.5+4
  [0dad84c5] ArgTools
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [f43a241f] Downloads
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL
  [76f85450] LibGit2
  [8f399da3] Libdl
  [56ddb016] Logging
  [d6f4376e] Markdown
  [ca575930] NetworkOptions
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [fa267f1f] TOML
  [a4e569a6] Tar
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll
  [deac9b47] LibCURL_jll
  [29816b5a] LibSSH2_jll
  [c8ffd9c3] MbedTLS_jll
  [14a3606d] MozillaCACerts_jll
  [83775a58] Zlib_jll
  [8e850ede] nghttp2_jll
  [3f19e933] p7zip_jll

julia> using Couenne_jll
[ Info: Precompiling Couenne_jll [f09e9e23-9010-5c9e-b679-9f1d8f79b85c]

julia> Couenne_jll.amplexe() do path
       run(`$(path) -v`)
       end
Couenne 0.5.8 -- an Open-Source solver for Mixed Integer Nonlinear Optimization
Mailing list: couenne@list.coin-or.org
Instructions: http://www.coin-or.org/Couenne
couenne (Linux x86_64), ASL(20210327)

Process(`/Users/oscar/.julia/artifacts/2a977e2bc37cb7d4c751b647ffe19671a1e097a8/bin/couenne -v`, ProcessExited(0))

while on linux

(couenne) pkg> st -m
      Status `/tmp/couenne/Manifest.toml`
  [692b3bcd] JLLWrappers v1.2.0
  [ae81ac8f] ASL_jll v0.1.2+0
  [29cba6d7] Bonmin_jll v1.8.8+2
  [38041ee0] Cbc_jll v2.10.5+2
  [3830e938] Cgl_jll v0.60.2+6
  [06985876] Clp_jll v1.17.6+7
  [be027038] CoinUtils_jll v2.11.3+4
  [f09e9e23] Couenne_jll v0.5.8+0 `~/.julia/dev/Couenne_jll`
  [9cc047cb] Ipopt_jll v3.13.4+1
  [d00139f3] METIS_jll v5.1.0+5
  [d7ed1dd3] MUMPS_seq_jll v5.2.1+4
  [656ef2d0] OpenBLAS32_jll v0.3.12+1
  [7da25872] Osi_jll v0.108.5+4
  [0dad84c5] ArgTools
  [56f22d72] Artifacts
  [2a0f44e3] Base64
  [ade2ca70] Dates
  [f43a241f] Downloads
  [b77e0a4c] InteractiveUtils
  [b27032c2] LibCURL
  [76f85450] LibGit2
  [8f399da3] Libdl
  [56ddb016] Logging
  [d6f4376e] Markdown
  [ca575930] NetworkOptions
  [44cfe95a] Pkg
  [de0858da] Printf
  [3fa0cd96] REPL
  [9a3f8284] Random
  [ea8e919c] SHA
  [9e88b42a] Serialization
  [6462fe0b] Sockets
  [fa267f1f] TOML
  [a4e569a6] Tar
  [cf7118a7] UUIDs
  [4ec0a83e] Unicode
  [e66e0078] CompilerSupportLibraries_jll
  [deac9b47] LibCURL_jll
  [29816b5a] LibSSH2_jll
  [c8ffd9c3] MbedTLS_jll
  [14a3606d] MozillaCACerts_jll
  [83775a58] Zlib_jll
  [8e850ede] nghttp2_jll
  [3f19e933] p7zip_jll

julia> using Couenne_jll
ERROR: InitError: could not load library "/home/parallels/.julia/artifacts/ecc837f417130ef88b6288424541354733c387b1/lib/libCouenne.so"
/home/parallels/.julia/artifacts/ecc837f417130ef88b6288424541354733c387b1/lib/libCouenne.so: undefined symbol: _ZTv0_n720_NK21OsiClpSolverInterface10getRowNameEij
Stacktrace:
 [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
   @ Base.Libc.Libdl ./libdl.jl:114
 [2] dlopen(s::String, flags::UInt32)
   @ Base.Libc.Libdl ./libdl.jl:114
 [3] macro expansion
   @ ~/.julia/packages/JLLWrappers/WnWcZ/src/products/library_generators.jl:63 [inlined]
 [4] __init__()
   @ Couenne_jll ~/.julia/dev/Couenne_jll/src/wrappers/x86_64-linux-gnu-cxx11.jl:19
 [5] _include_from_serialized(path::String, depmods::Vector{Any})
   @ Base ./loading.jl:674
 [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
   @ Base ./loading.jl:760
 [7] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:998
 [8] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [9] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901
during initialization of module Couenne_jll

@odow
Copy link
Contributor

odow commented Apr 8, 2021

So it seems the issue is that Couenne is looking for _ZTv0_n720_NK21OsiClpSolverInterface10getRowNameEij, but Clp_jll provides _ZTv0_n720_NK21OsiClpSolverInterface10getRowNameB5cxx11Eij".

Is this something to do with Couenne skipping cxx03?
https://github.com/JuliaPackaging/Yggdrasil/blob/0900c40edc0ababc90bda1f5edb2f9c6e6ae0727/C/Coin-OR/Couenne/build_tarballs.jl#L63-L64

julia> using Couenne_jll
ERROR: InitError: could not load library "/home/parallels/.julia/artifacts/ecc837f417130ef88b6288424541354733c387b1/lib/libCouenne.so"
/home/parallels/.julia/artifacts/ecc837f417130ef88b6288424541354733c387b1/lib/libCouenne.so: undefined symbol: _ZTv0_n720_NK21OsiClpSolverInterface10getRowNameEij
Stacktrace:
 [1] dlopen(s::String, flags::UInt32; throw_error::Bool)
   @ Base.Libc.Libdl ./libdl.jl:114
 [2] dlopen(s::String, flags::UInt32)
   @ Base.Libc.Libdl ./libdl.jl:114
 [3] macro expansion
   @ ~/.julia/packages/JLLWrappers/WnWcZ/src/products/library_generators.jl:63 [inlined]
 [4] __init__()
   @ Couenne_jll ~/.julia/dev/Couenne_jll/src/wrappers/x86_64-linux-gnu-cxx11.jl:19
 [5] _include_from_serialized(path::String, depmods::Vector{Any})
   @ Base ./loading.jl:674
 [6] _require_search_from_serialized(pkg::Base.PkgId, sourcepath::String)
   @ Base ./loading.jl:760
 [7] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:998
 [8] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:914
 [9] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:901
during initialization of module Couenne_jll

julia> filter(s -> occursin("getRowName", s), split(read(pipeline(`nm $(Clp_jll.libOsiClp)`), String), '\n'))
4-element Vector{SubString{String}}:
 "                 U _ZN18OsiSolverInterface11getRowNamesB5cxx11Ev"
 "0000000000017d20 T _ZNK21OsiClpSolverInterface10getRowNameB5cxx11Eij"
 "                 U _ZNK8ClpModel10getRowNameB5cxx11Ei"
 "0000000000017e20 T _ZTv0_n720_NK21OsiClpSolverInterface10getRowNameB5cxx11Eij"

[noblock]

@giordano giordano force-pushed the registrator/couenne_jll/f09e9e23/v0.5.8+0 branch from 912181c to 9e8385a Compare April 8, 2021 22:32
@giordano giordano temporarily deployed to stopwatch April 8, 2021 22:32 Inactive
UUID: f09e9e23-9010-5c9e-b679-9f1d8f79b85c
Repo: https://github.com/JuliaBinaryWrappers/Couenne_jll.jl.git
Tree: 1b5368978c5628619171a440a1953ddc88dba31a

Registrator tree SHA: fc49368213d6dcbacdc444120efa4babcf248dcc
@jlbuild jlbuild force-pushed the registrator/couenne_jll/f09e9e23/v0.5.8+0 branch from 9e8385a to bb2e22c Compare April 9, 2021 00:00
@jlbuild jlbuild temporarily deployed to stopwatch April 9, 2021 00:00 Inactive
@JuliaTagBot JuliaTagBot merged commit 65fc770 into master Apr 9, 2021
@JuliaTagBot JuliaTagBot deleted the registrator/couenne_jll/f09e9e23/v0.5.8+0 branch April 9, 2021 00:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants