gnucash linking wrong libffi.dylib
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:
>> 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/
> 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.
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?
More information about the macports-users