Opened 7 months ago

Last modified 7 months ago

#68319 assigned defect

cargo: links with old library libgit2.1.6.dylib

Reported by: rmottola (Riccardo) Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version:
Keywords: lion Cc: mascguy (Christopher Nielsen), dbevans (David B. Evans), herbygillot (Herby Gillot)
Port: cargo, libgit2

Description

:info:build 	CARGO_TARGET_DIR=/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_librsvg/librsvg/work/librsvg-2.56.3/target					\
:info:build 	cargo --locked build --verbose  --release --lib \
:info:build 	&& cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_librsvg/librsvg/work/librsvg-2.56.3 && /bin/sh ./libtool  --tag=CC   --mode=link /opt/local/bin/clang-mp-16  -isysroot/ -arch x86_64  -lobjc -Wl,-syslibroot,/ -arch x86_64 -o librsvg_c_api.la _rsvg_dummy.lo && mv /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_librsvg/librsvg/work/librsvg-2.56.3/target/x86_64-apple-darwin/release/librsvg.a .libs/librsvg_c_api.a
:info:build dyld: Library not loaded: /opt/local/lib/libgit2.1.6.dylib
:info:build   Referenced from: /opt/local/bin/cargo
:info:build   Reason: image not found


Why is libgit needed at all?

Attachments (1)

main.log (29.2 KB) - added by rmottola (Riccardo) 7 months ago.
build on 10.7

Download all attachments as: .zip

Change History (3)

Changed 7 months ago by rmottola (Riccardo)

Attachment: main.log added

build on 10.7

comment:1 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: mascguy dbevans herbygillot added
Owner: changed from mascguy to MarcusCalhoun-Lopez
Port: cargo libgit2 added; librsvg removed
Summary: librsvg fails to build Lioncargo: links with old library libgit2.1.6.dylib

cargo declares a dependency on port:libgit2. It was added two years ago by @herbygillot but the commit message does not say why.

libgit2 used to provide /opt/local/lib/libgit2.1.6.dylib but now it provides /opt/local/lib/libgit2.1.7.dylib. It was the responsibility of whoever updated libgit2 three weeks ago to revbump all ports that link with the library whenever the library install_name changes, and in fact that did happen moments later. What version of the cargo port is installed? (port installed cargo) You should not see this problem with cargo @0.72.2_1 or later.

On my Monterey system cargo does not link with the libgit2 dylib but on yours evidently it does. I'm not sure why this difference exists.

In addition to the dependency on the libgit2 port, cargo uses a distfile called libgit2-sys-0.15.1+1.6.4.crate. I'm not sure why it needs both the libgit2 port and its own bundled copy. Normally in MacPorts we want to use MacPorts copies of libraries, not bundled copies.

comment:2 Changed 7 months ago by mascguy (Christopher Nielsen)

Riccardo, the existing MacPorts binaries for librsvg should still work. Or are you trying to build it Universal...?

Note: See TracTickets for help on using tickets.