SoQt linking error on Mavericks (10.9.3)

Mark Brethen mark.brethen at gmail.com
Sat Jun 28 15:14:51 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

Coin:

brethen-mbp:Libraries marbre$ ls -al
total 14776
drwxr-xr-x  5 root  wheel      170 Jun 28 16:43 .
drwxr-xr-x  6 root  wheel      204 Jun 28 16:43 ..
-rwxr-xr-x  1 root  wheel  7555684 Jun 28 16:43 libCoin.60.1.3.dylib
lrwxr-xr-x  1 root  wheel       20 Jun 28 16:43 libCoin.60.dylib -> libCoin.60.1.3.dylib
lrwxr-xr-x  1 root  wheel       20 Jun 28 16:43 libCoin.dylib -> libCoin.60.1.3.dylib
brethen-mbp:Libraries marbre$ otool -L libCoin.60.1.3.dylib
libCoin.60.1.3.dylib:
	Inventor.framework/Versions/C/Inventor (compatibility version 62.0.0, current version 62.3.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.16.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)

For SoQt:

brethen-mbp:Libraries marbre$ ls -al
total 1240
drwxr-xr-x  5 root  wheel     170 Jun 28 17:02 .
drwxr-xr-x  6 root  wheel     204 Jun 28 17:02 ..
-rwxr-xr-x  1 root  wheel  624900 Jun 28 17:02 libSoQt.20.5.0.dylib
lrwxr-xr-x  1 root  wheel      20 Jun 28 17:02 libSoQt.20.dylib -> libSoQt.20.5.0.dylib
lrwxr-xr-x  1 root  wheel      20 Jun 28 17:02 libSoQt.dylib -> libSoQt.20.5.0.dylib
brethen-mbp:Libraries marbre$ otool -L libSoQt.20.5.0.dylib
libSoQt.20.5.0.dylib:
	SoQt.framework/Versions/A/SoQt (compatibility version 26.0.0, current version 26.0.0)
	/opt/local/Library/Frameworks/QtOpenGL.framework/Versions/4/QtOpenGL (compatibility version 4.8.0, current version 4.8.6)
	/opt/local/Library/Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.8.0, current version 4.8.6)
	/opt/local/Library/Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.6)
	Inventor.framework/Versions/C/Inventor (compatibility version 62.0.0, current version 62.3.0)
	/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

Qt4-mac, Coin and SoQt are consistent, in that they all use symlinks to the actual library. Those in /usr/lib however use absolute paths.

Mark






More information about the macports-dev mailing list