[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