Opened 2 years ago
Closed 2 years ago
#65733 closed defect (fixed)
libgit2 @1.5.0: install_name changed, dependents need rev bump
Reported by: | tventers | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | Cc: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), l2dy (Zero King), herbygillot (Herby Gillot), amake (Aaron Madlon-Kay), chadcatlett (Chad Catlett), harens (Haren S), ctreleaven (Craig Treleaven), manojkarthick (Manoj Karthick), sikmir (Nikolay Korotkiy), ken-matsui (Ken Matsui), dbevans (David B. Evans), cjones051073 (Chris Jones) | |
Port: | libgit2 bat broot committed dura exa geany-plugins git-absorb git-branchless git-delta gitui gitweb gnuastro libgit2-glib mergestat onefetch poac py-pygit2 stagit starship |
Description (last modified by jmroot (Joshua Root))
$ port -v MacPorts 2.7.2 $ sudo port clean all Password: $ sudo port install rav1e Password: ---> Computing dependencies for rav1e ---> Fetching distfiles for rav1e ---> Verifying checksums for rav1e ---> Extracting rav1e ---> Configuring rav1e ---> Building rav1e Error: Failed to build rav1e: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_github.com_macports_macports-ports_multimedia_rav1e/rav1e/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port rav1e failed
Attachments (1)
Change History (25)
Changed 2 years ago by tventers
Attachment: | rav1e_install.log added |
---|
comment:1 Changed 2 years ago by jmroot (Joshua Root)
Description: | modified (diff) |
---|---|
Owner: | set to MarcusCalhoun-Lopez |
Status: | new → assigned |
Summary: | Build of rav1e failed when running port upgrade outdated → rav1e @0.5.1_1 build failure |
comment:2 Changed 2 years ago by jmroot (Joshua Root)
Cc: | dbevans added |
---|---|
Port: | libgit2 cargo added |
Summary: | rav1e @0.5.1_1 build failure → libgit2 @1.5.0: install_name changed, dependents need rev bump |
Looks like libgit2 broke binary compatibility (previous install_name /opt/local/lib/libgit2.1.3.dylib
, current one /opt/local/lib/libgit2.1.5.dylib
.) So all the dependents (such as cargo) need to be rev bumped.
comment:3 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:4 Changed 2 years ago by mascguy (Christopher Nielsen)
The broken binary in question - cargo-cbuild
- is provided by port cargo-c
. And AFAIK, other ports like rust
and cargo
are fine. (If they weren't, builds would be failing everywhere, which they aren't.)
Also confirmed that the buildbot binaries for cargo-c
are indeed stale, and need to be rebuilt. So I'll rev-bump that port.
comment:5 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | MarcusCalhoun-Lopez added; mascguy removed |
---|---|
Owner: | changed from MarcusCalhoun-Lopez to mascguy |
Port: | cargo-c added; libgit2 cargo rav1e removed |
Summary: | libgit2 @1.5.0: install_name changed, dependents need rev bump → cargo-c: buildbot binaries broken, due to libgit2@1.5 ABI change |
comment:6 Changed 2 years ago by Christopher Nielsen <mascguy@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:8 follow-up: 11 Changed 2 years ago by jmroot (Joshua Root)
Port: | libgit2 added |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
Summary: | cargo-c: buildbot binaries broken, due to libgit2@1.5 ABI change → libgit2 @1.5.0: install_name changed, dependents need rev bump |
dura
for one is still broken. All the libgit2 dependents that haven't been updated since the last libgit2 update on August 1st need to be rev bumped (or have their dependencies fixed if they don't actually link with it).
comment:9 Changed 2 years ago by mascguy (Christopher Nielsen)
Owner: | mascguy deleted |
---|---|
Status: | reopened → assigned |
comment:10 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:11 Changed 2 years ago by mascguy (Christopher Nielsen)
Replying to jmroot:
dura
for one is still broken. All the libgit2 dependents that haven't been updated since the last libgit2 update on August 1st need to be rev bumped (or have their dependencies fixed if they don't actually link with it).
I've already spent multiple hours on this - including queuing rebuilds for 10.7, etc - and need to move on. Have at it.
comment:12 follow-up: 13 Changed 2 years ago by jmroot (Joshua Root)
Cc: | l2dy herbygillot amake chadcatlett harens ctreleaven manojkarthick sikmir ken-matsui added; dbevans removed |
---|---|
Owner: | set to dbevans |
Port: | bat broot committed dura exa geany-plugins git-absorb git-branchless git-delta gitui gitweb gnuastro libgit2-glib mergestat onefetch poac py-pygit2 stagit starship added; cargo-c removed |
The implication was not that it's your job, but the problem does still exist.
comment:13 Changed 2 years ago by mascguy (Christopher Nielsen)
Replying to jmroot:
The implication was not that it's your job, but the problem does still exist.
Understood. I simply wanted to let folks know that I can't spend more time on it, as much as I'd like to!
comment:14 Changed 2 years ago by Christopher Nielsen <mascguy@…>
comment:15 follow-up: 16 Changed 2 years ago by mascguy (Christopher Nielsen)
Since the rev-bumps are a no-brainer, I took care of that.
As for validating deps for these ports, presumably most of them do link with libgit2
, given their purposes. So perhaps we're mostly good on that front already.
However, I'm curious as to why cargo
and rust
weren't broken: A quick non-exhaustive check of related binaries with otool -L
, didn't show a dylib reference. So are these components dynamically loading libgit2*.dylib
at runtime, or did I simply not check enough of them...?
comment:16 follow-up: 18 Changed 2 years ago by mascguy (Christopher Nielsen)
Replying to mascguy:
However, I'm curious as to why
cargo
andrust
weren't broken: A quick non-exhaustive check of related binaries withotool -L
, didn't show a dylib reference. So are these components dynamically loadinglibgit2*.dylib
at runtime, or did I simply not check enough of them...?
Hmmm, I'm seeing some unexpected build failures for Rust-based ports, which suggest that perhaps cargo
and/or rust
do need to be rebuilt. (While they don't appear to be broken in-general, the rustlib utilizing libgit2
does appear that it is.)
So, I'll rev-bump rust
and cargo
, and then queue rebuilds for the affected ports. (Was hoping to avoid that, as rust
ties up our buildbots for hours on end. Sigh...)
comment:17 Changed 2 years ago by Christopher Nielsen <mascguy@…>
comment:18 Changed 2 years ago by mascguy (Christopher Nielsen)
Replying to mascguy:
So, I'll rev-bump
rust
andcargo
, and then queue rebuilds for the affected ports. (Was hoping to avoid that, asrust
ties up our buildbots for hours on end. Sigh...)
Queued rebuilds across-the-board, for the three ports affected: exa
, gitui
, and mergestat
.
comment:19 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | dbevans added; mascguy removed |
---|---|
Owner: | changed from dbevans to mascguy |
Assigning back to myself, since I'm spearheading the effort.
comment:20 Changed 2 years ago by mascguy (Christopher Nielsen)
Of note, gitui
is broken across-the-board; tracked separately by: issue:65654
comment:21 Changed 2 years ago by mascguy (Christopher Nielsen)
Port mergestat
is also broken across-the-board; tracked by new ticket: issue:65756
comment:22 Changed 2 years ago by Gandoon (Erik Hedlund)
Just for information, I noticed this a few weeks ago and had to revert to libgit2 @1.3.0_1 as ibgit2 @1.5.0_0 broke exa @0.10.1_2+doc+git (turned out it was the +git that messed things up).
I was planning on trying to see if I could figure out if I could find a workaround, but I never had time for it, so I just reverted for the time being and never submitted a ticket. Good that someone got around to it. I will keep an eye out for fixes.
comment:23 follow-up: 24 Changed 2 years ago by mascguy (Christopher Nielsen)
Cc: | cjones051073 added |
---|
Rust gurus, do we also need to update the various git2
-related crates, now that libgit2
has been updated to 1.5.x? Or will everything "just work," with the versions we're currently using?
comment:24 Changed 2 years ago by mascguy (Christopher Nielsen)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to mascguy:
Rust gurus, do we also need to update the various
git2
-related crates, now thatlibgit2
has been updated to 1.5.x? Or will everything "just work," with the versions we're currently using?
Everything looks good now, after all rev-bumps and rebuilds. Closing as fixed.
Install logfile of rav1e