[MacPorts] #69603: port gnome/gjs does not build on macos 10.13.6 with error info:build ld: symbol(s) not found for architecture x86_64
MacPorts
noreply at macports.org
Wed Mar 27 18:16:49 UTC 2024
#69603: port gnome/gjs does not build on macos 10.13.6 with error info:build ld:
symbol(s) not found for architecture x86_64
----------------------------+--------------------
Reporter: christophecvr | Owner: (none)
Type: defect | Status: new
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: gnome/gjs |
----------------------------+--------------------
Comment (by kencu):
This is an issue that come up in MacPorts every once in a while.
See this list, for examples, where it has happened before:
https://trac.macports.org/search?changeset=on&milestone=on&portsummarysearch=on&ticket=on&wiki=on&q=%2FSystem%2FLibrary%2FFrameworks%2FImageIO.framework%2FVersions%2FA%2FImageIO&page=1&noquickjump=1
essentially, the dyld library loader finds the newer libjpeg.dylib
installed by MacPorts instead of the older libjpeg.dylib that ImageIO was
originally built against.
The fix is always to find out why the library loader is being forced to
look in /opt/local/lib when loading the libraries the system ImageIO is
linked against. There is always some reason -- errant @rpath settings,
DYLD_LIBRARY_PATH being set, something along those lines usually.
In this particular case, it might be {{{-Wl,-rpath,/opt/local/lib}}} that
is forcing the dyld loader to look first in that location, and messing up
the finding of the proper library. If that turns out to be the case, what
to do about it is another question.
Some package mangers sequester all the headers and libraries away in
subfolders to prevent this issue. It makes builds harder for everything
else, though.
--
Ticket URL: <https://trac.macports.org/ticket/69603#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list