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. Regards David Rowe
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
On 12 Aug 2007, at 8:02:55 PM, David Rowe wrote:
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
Yes. It was after 2.0.5 that the DYLD_LIBRARY_PATH was added to gnucash in various places. It is definitely needed at some point (testing?), because gnucash won't complete a 'make check' without it. But gnucash probably doesn't need the path set at runtime. I don't know the details well enough to propose a specific fix upstream. So I've fixed it in the fink version by patching gnucash to set DYLD_FALLBACK_LIBRARY_PATH for every instance where the non-fallback version is set. Works for me.
DYLD_LIBRARY_PATH.
David Rowe
Dave -- David Reiser dbreiser@gmail.com
participants (2)
-
David Reiser
-
David Rowe