David Rowe wrote:
Yves de Champlain wrote:

Le 07-08-11 à 16:22, David Rowe a écrit :

I am attempting a clean reinstallation of various Macports applications - i.e. I have renamed /opt/local as /opt/ZZlocal (so I can go back if necessary), I have reinstalled Macports 1.5.1 into MacOS and I am starting from the beginning.

The first two applications I attempted both fail to work. They have both worked OK in a previous installation (though I was having trouble updating them).

1) Gnucash apparently installed OK, but when I try to launch it, the X11 log reports:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
dyld: Symbol not found: __cg_jpeg_resync_to_restart
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
 Expected in: /opt/local/lib/libjpeg.62.dylib

Trace/BPT trap

Means you have a DYLD_LIBRARY_PATH defined somewhere (I think)

yves

Thanks for the suggestion. I presume you mean DYLD_LIBRARY_PATH may be defined as an environment variable is my shell. I have just checked and it is NOT defined. Also, if I reinstate the old MacPorts installation (by renaming /opt/ZZlocal), the old Gnucash 2.0.2 runs just fine.

I tried Goolging for __cg_jpeg_resync_to_restart and it looks like this is a problem that has surfaced with several different applications, and with Fink as well as MacPorts. The root of the problem is confusion between the MacOS library in /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib and the MacPorts library in /opt/local/lib/libjpeg.dylib (an alias for libjpeg.62.dylib)

What I am not sure is how to fix the problem.

Update -  I have been investigating further:

It is true that DYLD_LIBRARY_PATH is not set in my shell at the time I invoke gnucash.

However the file 'gnucash' is itself a shell script that does (in gnucash 2.1.0) set DYLD_LIBRARY_PATH in a series of steps: I put in an 'echo' command to see what the value was by the time the gnucash binary was invoked - it was: /opt/local/lib/gnucash::/opt/local/lib:/opt/local/lib/gnucash:

This looks sort-of OK but I don't see why the /opt/local/lib/gnucash entry is duplicated.

I tried knocking out the setting of DYLD_LIBRARY_PATH to see what happens.
The answer is that loading proceeds a bit further - the Gnucash splash screen appears momentarily and then it fails saying:

ERROR: In procedure dynamic-link:
ERROR: file: "libgnc-core-utils", message: "dlopen(libgnc-core-utils.so, 9): image not found"

So it is necessary to set DYLD_LIBRARY_PATH, but presumably the above value is not right.
Does anyone know what it should be set to?

PS - for the record, the corresponding Gnucash script for the previous version (2.0.5) (which works OK on my system) does NOT set DYLD_LIBRARY_PATH.

David Rowe

_______________________________________________
macports-users mailing list
macports-users@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to