gnucash linking wrong libffi.dylib

Peter O'Gorman peter at pogma.com
Sun Feb 3 22:52:50 PST 2008


On 3-Feb-08, at 11:27 PM, David Reiser wrote:

>
> On Feb 3, 2008, at 5:21 PM, Jeffrey Goldberg wrote:
>
>> I must confess that I do not even begin to understand prebinding.   
>> Nor do I know what the OS X analog of the linux ldconfig command  
>> and configuration is.  But I suspect that the answer to my problem  
>> will lie in those directions.
>>
>> I've installed gnome/gnucash using macports (that was a bit of a  
>> trick because of confusion about which guile installation was  
>> needed.  Gnucash configure couldn't find guile16, but I had other  
>> problems with guile 1.8.  I also needed to install "+without_docs"  
>> because otherwise port tried and failed to install firefox)  But I  
>> did finally get something compiled and installed.
>>
>> However, it won't run, and this is what I get to standard error.
>>
>> dyld: Library not loaded: /usr/lib/libffi.dylib
>>  Referenced from:
>>   /System/Library/Frameworks/QuartzCore.framework/Versions/A/ 
>> QuartzCore
>>  Reason: Incompatible library version: QuartzCore requires version  
>> 1.0.0 or later,
>>   but libffi.dylib provides version 0.0.0
>>
>> I note that there is a an /opt/local/lib/libffi.dylib installed,  
>> but apparently that's not the dynamic library that gnucash finds.
>>
>
> Seems to me that's x11 that's complaining about the version of  
> libffi. Before 2.2, gnucash used g-wrap to to handle some functions,  
> and g-wrap brought in a rather ancient version of libffi. gnucash  
> has since switched to swig for the functions formerly handled by g- 
> wrap, and you don't even need swig if you are building gnucash from  
> a tarball.
>
> While I don't know anything else about your system, you might try  
> removing g-wrap, or whatever else is supplying libffi in macports,  
> and see if xquartz will then use the Leopard-provided /usr/lib/ 
> libffi.dylib.
>
> I use that other packaging system, so I can't swear what needs to be  
> in place, but I don't have any libffi except /usr/lib/libffi.dylib,  
> and gnucash works for me on an almost  identical system.

Hi David,

Something is setting DYLD_LIBRARY_PATH. I know that gnucash used to do  
it, not sure if it still does. The symptoms are that DYLD_LIBRARY_PATH  
is set to /opt/local/lib so the dynamic linker is finding the version  
of libffi.dylib there. I am sure that otool -L will confirm that the  
libffi in /opt/local has compatibility_version 0.0.0.

Does gnucash still have a wrapper script that sets DYLD_LIBRARY_PATH?

Peter
--
Peter O'Gorman
http://pogma.com




More information about the macports-users mailing list