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