[MacPorts] #65820: libsdl_ttf @2.0.11: rev-upgrade fails due to undefined symbols for architecture x86_64
MacPorts
noreply at macports.org
Sun Sep 11 00:54:45 UTC 2022
#65820: libsdl_ttf @2.0.11: rev-upgrade fails due to undefined symbols for
architecture x86_64
--------------------------+--------------------
Reporter: cooljeanius | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version: 2.7.2
Resolution: | Keywords:
Port: libsdl_ttf |
--------------------------+--------------------
Comment (by ryandesign):
Replying to [ticket:65820 cooljeanius]:
> rev-upgrade reports libsdl_ttf as broken:
> {{{
> Incompatible library version: /opt/local/lib/libSDL_ttf-2.0.0.dylib
requires version 12.0.0 or later, but /opt/local/lib/libSDL-1.2.0.dylib
provides version 1.0.0
> }}}
/opt/local/lib/libSDL-1.2.0.dylib (provided by the libsdl port) is now
just a symlink to /opt/local/libexec/sdl12-compat/lib/libSDL-1.2.0.dylib
(provided by the sdl12-compat port).
Its minor compatibility version should be 12.0.0, and that's what it is on
my Catalina system, even after rebuilding from source or redownloading the
binary:
{{{
$ otool -L /opt/local/libexec/sdl12-compat/lib/libSDL.dylib
/opt/local/libexec/sdl12-compat/lib/libSDL.dylib:
/opt/local/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0,
current version 12.52.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
(compatibility version 45.0.0, current version 1894.40.150)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 1281.100.1)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
(compatibility version 1.0.0, current version 52.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
(compatibility version 150.0.0, current version 1675.129.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
(compatibility version 300.0.0, current version 1675.129.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current
version 228.0.0)
}}}
Evidently on your system the compatibility version has regressed to 1.0.0,
and that should not be. Until that's fixed, nothing should be attempted
with any port that depends on libsdl. Maybe fixing libsdl will fix this.
Try reinstalling the sdl12-compat binary:
{{{
sudo port -nb upgrade --force sdl12-compat
}}}
> {{{
> Undefined symbols for architecture x86_64:
> "_libiconv", referenced from:
> _SDL_main in showfont.o
> "_libiconv_close", referenced from:
> _SDL_main in showfont.o
> "_libiconv_open", referenced from:
> _SDL_main in showfont.o
> ld: symbol(s) not found for architecture x86_64
> }}}
> This looks like that common libtool error. Maybe it needs an autoreconf?
It doesn't sound a like a common libtool error; it sounds like something
that needs libiconv and has forgotton to add `-liconv` to the link flags.
However, let's fix whatever's wrong with your sdl12-compat first before
thinking about the things that depend on it.
--
Ticket URL: <https://trac.macports.org/ticket/65820#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list