SoQt linking error on Mavericks (10.9.3)
Mark Brethen
mark.brethen at gmail.com
Fri Jun 27 18:49:29 PDT 2014
On Jun 27, 2014, at 9:22 AM, Joshua Root <jmr at macports.org> wrote:
> On 2014-6-27 23:30 , Mark Brethen wrote:
>>
>> On Jun 27, 2014, at 12:45 AM, Ryan Schmidt <ryandesign at macports.org> wrote:
>>
>>>
>>> On Jun 27, 2014, at 12:38 AM, Joshua Root wrote:
>>>
>>>> On 2014-6-27 14:03 , Mark Brethen wrote:
>>>>> After installing Coin, I get the following error with SoQt:
>>>>>
>>>>> ---> Found 1 broken file(s), matching files to ports
>>>>>
>>>>>
>>>>> Error: Port SoQt is still broken after rebuilding it more than 3 times.
>>>>> Error: Please run port -d -y rev-upgrade and use the output to report a bug.
>>>>>
>>>>> Running port -d -y rev-upgrade gives:
>>>>>
>>>>> Could not open Inventor.framework/Versions/C/Inventor: Error opening or reading file (referenced from /opt/local/Library/Frameworks/SoQt.framework/Versions/A/Libraries/libSoQt.20.5.0.dylib)
>>>>> DEBUG: Marking /opt/local/Library/Frameworks/SoQt.framework/Versions/A/Libraries/libSoQt.20.5.0.dylib as broken
>>>>> ---> Found 1 broken file(s), matching files to ports
>>>>
>>>> "Inventor.framework/Versions/C/Inventor" is a relative path and so not a
>>>> suitable install_name.
>>>
>>> Correct. And that's yet another bug in the Coin port's +aqua variant that needs to be fixed.
>>>
>>> SoQt's frameworks' install_names are wrong too, but I'm not sure if that's because Coin's are wrong or if it's a separately-fixable instance of the same problem.
>>>
>>>
>>>
>>
>> The Inventor install_name originates with Coin: 'Since Coin is an Open Inventor implementation, the framework is named "Inventor", not Coin.' (Coin/Readme.MacOS)
>>
>> However, I did not experience any linking errors when I installed Coin as a framework. SoQt is just a bridge between Qt and Coin.
>>
>> So, to clarify, are you saying this is just a flag that is raised because there isn't a port named 'Inventor'?
>
> No, we're saying the install_name needs to be an absolute path, not a
> relative one.
>
> - Josh
For SoQt: -install_name /opt/local/Library/Frameworks/SoQt.framework/Versions/A/Libraries/libSoQt.20.dylib
For Coin: -install_name /opt/local/Library/Frameworks/Inventor.framework/Versions/C/Libraries/libCoin.60.dylib
brethen-mbp:Frameworks marbre$ ls -alR Inventor.framework
total 32
drwxr-xr-x 7 root wheel 238 Jun 24 19:52 .
drwxr-xr-x 27 root wheel 918 Jun 27 19:41 ..
lrwxr-xr-x 1 root wheel 24 Jun 24 19:52 Headers -> Versions/Current/Headers
lrwxr-xr-x 1 root wheel 25 Jun 24 19:52 Inventor -> Versions/Current/Inventor
lrwxr-xr-x 1 root wheel 26 Jun 24 19:52 Libraries -> Versions/Current/Libraries
lrwxr-xr-x 1 root wheel 26 Jun 24 19:52 Resources -> Versions/Current/Resources
drwxr-xr-x 4 root wheel 136 Jun 24 19:52 Versions
Inventor.framework/Versions:
total 8
drwxr-xr-x 4 root wheel 136 Jun 24 19:52 .
drwxr-xr-x 7 root wheel 238 Jun 24 19:52 ..
drwxr-xr-x 6 root wheel 204 Jun 24 19:52 C
lrwxr-xr-x 1 root wheel 1 Jun 24 19:52 Current -> C
Inventor.framework/Versions/C:
total 8
drwxr-xr-x 6 root wheel 204 Jun 24 19:52 .
drwxr-xr-x 4 root wheel 136 Jun 24 19:52 ..
drwxr-xr-x 115 root wheel 3910 Jun 24 19:52 Headers
lrwxr-xr-x 1 root wheel 23 Jun 24 19:52 Inventor -> Libraries/libCoin.dylib
drwxr-xr-x 5 root wheel 170 Jun 24 19:52 Libraries
drwxr-xr-x 8 root wheel 272 Jun 24 19:52 Resources
Inventor.framework/Versions/C/Libraries:
total 14776
drwxr-xr-x 5 root wheel 170 Jun 24 19:52 .
drwxr-xr-x 6 root wheel 204 Jun 24 19:52 ..
-rwxr-xr-x 1 root wheel 7555684 Jun 24 19:52 libCoin.60.1.3.dylib
lrwxr-xr-x 1 root wheel 20 Jun 24 19:52 libCoin.60.dylib -> libCoin.60.1.3.dylib
lrwxr-xr-x 1 root wheel 20 Jun 24 19:52 libCoin.dylib -> libCoin.60.1.3.dylib
Why isn't SoQt linked directly to libCoin.60.1.3.dylib?
I found this error in the main.log for Coin:
:debug:build Executing proc-post-org.macports.build-build-0
:info:build ---> Patching Coin.pc: s|-arch [a-z0-9_]+||g
:debug:build Executing reinplace: /usr/bin/sed -E {s|-arch [a-z0-9_]+||g} < /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_Coin/Coin/work/Coin-3.1.3/Coin.pc >@ file10 2>@stderr
Mark
More information about the macports-dev
mailing list