Opened 2 years ago

Closed 2 years ago

#65471 closed defect (fixed)

libgcc12: rev-upgrade fails due to missing libiconv

Reported by: kencu (Ken) Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cjones051073 (Chris Jones), mascguy (Christopher Nielsen)
Port: libgcc12

Description

after installing libgcc12, rev-upgrade fails:

% sudo port -v install libgcc

% sudo port -d rev-upgrade
DEBUG: Copying /Users/cunningh/Library/Preferences/com.apple.dt.Xcode.plist to /opt/local/var/macports/home/Library/Preferences
--->  Scanning binaries for linking errors
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libasan.8.dylib
Could not open /opt/local/lib/libiconv.2.dylib: Error opening or reading file (referenced from /opt/local/lib/libgcc/libasan.8.dylib)
DEBUG: Marking /opt/local/lib/libgcc/libasan.8.dylib as broken
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libasan.8.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libgcc_s.1.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libgfortran.5.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libgfortran.5.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libobjc-gnu.4.dylib
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libstdc++.6.dylib
DEBUG: Marking /opt/local/lib/libgcc/libstdc++.6.dylib as broken
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libubsan.1.dylib
DEBUG: Marking /opt/local/lib/libgcc/libubsan.1.dylib as broken
DEBUG: Ignoring loadcommand containing @rpath in /opt/local/lib/libgcc/libubsan.1.dylib
--->  Found 3 broken files, matching files to ports
--->  Found 1 broken port, determining rebuild order
DEBUG: Broken: libgcc12
DEBUG: Processing port libgcc12 @0:12.1.0_1+enable_stdlib_flag
DEBUG: Processing port libgcc @3:6.0_0
You can always run 'port rev-upgrade' again to fix errors.
The following ports will be rebuilt: libgcc12 @12.1.0+enable_stdlib_flag

manually installing libiconv fixes rev-upgrade.

I'm not sure if libgcc12/gcc12 can be made to ignore MacPorts' libiconv during the build. If not, or if we don't mind the dep, it looks like it needs a dep on libiconv.

Change History (5)

comment:1 Changed 2 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:2 Changed 2 years ago by cjones051073 (Chris Jones)

libasan.8 is new in gcc12, the previous gcc supplied lib asan.6 (No, I have no idea what happened to v 7)...

I see the same, the new dep.

Oberon ~/Projects/MacPorts/ports > otool -L /opt/local/lib/libgcc/libasan.8.dylib
/opt/local/lib/libgcc/libasan.8.dylib:
	@rpath/libasan.8.dylib (compatibility version 9.0.0, current version 9.0.0)
	@rpath/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.30.0)
	/opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0)
	@rpath/libgcc_s.1.1.dylib (compatibility version 1.0.0, current version 1.1.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)
Oberon ~/Projects/MacPorts/ports > otool -L /opt/local/lib/libgcc/libasan.6.dylib
/opt/local/lib/libgcc/libasan.6.dylib:
	/opt/local/lib/libgcc/libasan.6.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.29.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.100.3)

comment:3 Changed 2 years ago by cjones051073 (Chris Jones)

libiconv is already a dep of gcc12, and a build dep on libgcc12. So the simple solution is to make a a runtime dep of both.

comment:4 Changed 2 years ago by cjones051073 (Chris Jones)

Last edited 2 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:5 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.