-
Notifications
You must be signed in to change notification settings - Fork 555
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
[lrslib] Add LibraryProduct for liblrsnash
#2862
Conversation
Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
@giordano, all the builds succeed on my machine, though it looks like some of them failed in CI. Any idea what's happening? |
What version of Julia and BinaryBuilder are you using? We use Julia v1.6.0 with the environment in the
At a quick glance, Edit: or maybe the issue is that the global variable in the header file is being defined twice in two different object files. It's just a completely bad idea to define variables in header files (without being extern at least). |
Will do, thanks for the pointer. I'm currently on Julia 1.5.3 and some less-than-current version of BinaryBuilder.
Yeah, it looked to me like clang's complaint was probably valid and just being let slide by the GNU toolchain. I'm going to first try just setting the mac and freebsd toolchains to gnu and see if that makes CI pass, and move on to the linkage bug if that doesn't work. |
You may have missed the edit:
I think clang is being more strict, but also more correct. It looks like the source code is simply wrong. |
Yeah, I'd never seen a non- |
First attempt to duct-tape JuliaPackaging#2862 (comment)
…o lrslib-liblrsnash
Switching to GNU toolchain fixed CI. I think pending the above comment about |
Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
@giordano, are we ready to merge now or do you think this PR needs to wait on JuliaPolyhedra/lrslib#2? If needs to wait, then @blegat I suggest we merge JuliaPolyhedra/lrslib#3 so that the migration to BinaryBuilder isn't delayed. |
Ok, let's go with this one, but a proper fix upstream rather than ignoring the issue would be better 🙂 |
Thanks! And a fix is under way in JuliaPolyhedra/lrslib#3! |
JuliaPolyhedra/LRSLib.jl#40 CI is passing on version [0.1.0+3](JuliaPackaging#2862) of `lrslib_jll`, and fails on earlier versions due to the lack of an `liblrsnash` LibraryProduct. AFAIK, Julia package compatibility [specifiers](https://pkgdocs.julialang.org/v1/compatibility/) don't have a way of saying "version 0.1.0+3 or above," so we need a version bump to be able to require at least this version in LRSLib.jl's `Project.toml` (see JuliaPolyhedra/LRSLib.jl#40). Since this release adds more API (in the form of the new LibraryProduct), I think a bump to the [minor version](https://semver.org/#spec-item-7) makes sense, i.e., to `v"0.2.0"`
JuliaPolyhedra/LRSLib.jl#40 CI is passing on version [0.1.0+3](#2862) of `lrslib_jll`, and fails on earlier versions due to the lack of an `liblrsnash` LibraryProduct. AFAIK, Julia package compatibility [specifiers](https://pkgdocs.julialang.org/v1/compatibility/) don't have a way of saying "version 0.1.0+3 or above," so we need a version bump to be able to require at least this version in LRSLib.jl's `Project.toml` (see JuliaPolyhedra/LRSLib.jl#40). Since this release adds more API (in the form of the new LibraryProduct), I think a bump to the [minor version](https://semver.org/#spec-item-7) makes sense, i.e., to `v"0.2.0"`
Adds a
LibraryProduct
forliblrsnash
, which will allow this JLL to be used by JuliaPolyhedra/LRSLib.jl.x-ref: JuliaPolyhedra/LRSLib.jl#39