SoQt linking error on Mavericks (10.9.3)
Mark Brethen
mark.brethen at gmail.com
Sat Jun 28 13:30:15 PDT 2014
On Jun 28, 2014, at 1:44 PM, Brandon Allbery <allbery.b at gmail.com> wrote:
>
> On Sat, Jun 28, 2014 at 2:23 PM, Mark Brethen <mark.brethen at gmail.com> wrote:
> So either the coin or soqt framework is bundled incorrectly? How would check which is the culprit? I just installed coin +aqua and soqt +aqua using '--without-framework' and did not get any link errors.
>
> The implication from what I've seen is that something is not using install_name_tool properly to make the shared objects bundle-relative, yes. I haven't done much with bundles but could probably find the Apple docs on how to set the install_name appropriately for framework bundles.
>
> --
> brandon s allbery kf8nh sine nomine associates
> allbery.b at gmail.com ballbery at sinenomine.net
> unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
I found this in Coin/work/Coin-3.1.3/src/Makefile.in:
# **************************************************************************
# Installation information.
# On Mac OS 10.2 or later, create two-level namespace binaries and use
# prebinding. Also pad the install_name to make it possible to change
# it later (e.g. to include the library in an app bundle). On Mac OS
# 10.3 or later, use -undefined dynamic_lookup to delay symbol lookup
# to runtime (needed to make enable_hacking work)
# Must export deployment target environment, since it is required by
# the linker to allow the -undefined dynamic_lookup flag.
@MACOSX_10_2FF_TRUE@@MACOSX_USE_DYNAMIC_LOOKUP_TRUE at export MACOSX_DEPLOYMENT_TARGET=@MACOSX_DEPLOYMENT_TARGET@
# **************************************************************************
@MAC_FRAMEWORK_TRUE at install-data-local: install-exec-am
@MAC_FRAMEWORK_TRUE@ cd $(DESTDIR)$(MAC_FRAMEWORK_PREFIX)/$(MAC_FRAMEWORK_NAME).framework/Versions/Current && ln -sf Libraries/libCoin.dylib $(MAC_FRAMEWORK_NAME) && cd -; \
@MAC_FRAMEWORK_TRUE@ cd $(DESTDIR)$(MAC_FRAMEWORK_PREFIX)/$(MAC_FRAMEWORK_NAME).framework && ln -sf Versions/Current/$(MAC_FRAMEWORK_NAME) $(MAC_FRAMEWORK_NAME) && install_name_tool -id $(MAC_FRAMEWORK_NAME).framework/Versions/$(MAC_FRAMEWORK_VERSION)/$(MAC_FRAMEWORK_NAME) $(MAC_FRAMEWORK_NAME) && cd -;
@MAC_FRAMEWORK_FALSE at install-data-local:
@MAC_FRAMEWORK_FALSE@ @basename="coin at COIN_MAJOR_VERSION@@SUFFIX@"; \
@MAC_FRAMEWORK_FALSE@ for ext in lib; do \
@MAC_FRAMEWORK_FALSE@ file="$$basename.$$ext"; \
@MAC_FRAMEWORK_FALSE@ if test -f "$$file"; then \
@MAC_FRAMEWORK_FALSE@ $(mkinstalldirs) "$(DESTDIR)$(libdir)"; \
@MAC_FRAMEWORK_FALSE@ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(libdir)/$$file"; \
@MAC_FRAMEWORK_FALSE@ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(libdir)/$$file" || exit 1; \
@MAC_FRAMEWORK_FALSE@ fi \
@MAC_FRAMEWORK_FALSE@ done;
Mark
More information about the macports-dev
mailing list