build: Rebuild nvim Against Unibilium 2.1.4 - #56
Conversation
Forces build-time and runtime requirements for the unibilium library to a lower-bounded version of 2.1.4 (latest release), which contains a malformed-SONAME fix. The prior nvim artifact linked against unibilium 2.1.2, whose malformed SONAME produced a `libunibilium.so..` DT_NEEDED entry. Requiring 2.1.4 in both host and cross-build dependencies forces relinking against the corrected `libunibilium.so.4` SONAME. Incrementing the build number makes solvers prefer the rebuilt artifact. The unibilium run exports generate the matching runtime constraint, so no explicit run dependency is necessary. Signed-off-by: Paul Kim <44695374+thekpaul@users.noreply.github.com>
|
Hi! This is the friendly automated conda-forge-linting service. I just wanted to let you know that I linted all conda-recipes in your PR ( |
xhochy
left a comment
There was a problem hiding this comment.
We should instead fix the global unibilium pin
|
Thanks for this. I'd not go as far as doing all point releases of nvim to pin this. May be just the latest 0.11.x one? Frankly, I'm not 100% sure on this. |
|
The problem is that the latest We can fix this via:
|
Leaves ABI version selection to the conda-forge global unibilium pin, so future nvim builds use the corrected library without a feedstock-specific constraint. Build number 1 remains to rebuild nvim 0.12.5. A companion repodata patch must constrain every published nvim artifact that was built against the malformed SONAME to unibilium <2.1.4. This keeps old binaries on the compatible library while newer builds move forward. Signed-off-by: Paul Kim <44695374+thekpaul@users.noreply.github.com>
|
Thank you for your feedbacks. I've reverted the pinning for this feedstock so that only the build number is bumped, without enforcing any pins here. I will instead proceed with the global-pin bumping and repodata-patch PR, linking back to this PR to provide further info if necessary. I've checked with past versions of Neovim on conda-forge, and it turned out that all versions from v0.9.0 to v0.12.5 depend on unibilium (either unconstrained or if:
name: nvim
has_depends: "unibilium?( *)"
timestamp_lt: 1787544213485 # Contains up to latest Neovim artifact release (v0.12.5, build 0)
then:
- add_depends: "unibilium <2.1.4"PR Submitted
|
|
I can confirm that I can reproduce this issue on Ubuntu |
|
@xhochy: Can you or somebody from the core team please review the two linked PRs above? Will we need a rebuild after that? |
|
Will this fix the I get on a fresh install or should I open a separate issue for this? |
|
Until this I agree with what was mentioned here #56 (review), it probably just needs a rebuild. |
|
I have merged the repodata patch and global pinning. |
|
@conda-forge-admin: please restart ci |
|
Please rerender to ensure that the new build picks up the new pinnings! |
|
@conda-forge-admin: please rerender |
…2026.09.16.18.21.5
Forces build-time and runtime requirements for the unibilium library to a lower-bounded version of 2.1.4 (latest release), which contains a malformed-SONAME fix. The prior nvim artifact linked against unibilium 2.1.2, whose malformed SONAME produced a
libunibilium.so..DT_NEEDED entry. Requiring 2.1.4 in both host and cross-build dependencies forces relinking against the correctedlibunibilium.so.4SONAME.Incrementing the build number makes solvers prefer the rebuilt artifact. The unibilium run exports generate the matching runtime constraint, so no explicit run dependency is necessary.
This would also affect previous release versions once the updated unibilium library is used there;
if the maintainers would also like to rebuild past releases, I am willing to help out wherever necessary :)
Checklist