bibledit-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [be] Need help installing onto my Mac


From: John Brownie
Subject: Re: [be] Need help installing onto my Mac
Date: Sat, 04 Feb 2012 12:51:44 +1100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:10.0) Gecko/20120129 Thunderbird/10.0

Neil Mayhew wrote:
Hi John,

On 2012-02-03 3:12 PM John Brownie wrote:
I tried installing Bibledit on my Mac with 10.7.3, and ran into a library conflict when trying to start X11. Basically, there seem to be two JPEG libraries, the one installed with MacPorts in /opt/local/lib and the one in the system framework ImageIO. Somehow the library search order is wrong, looking for a routine in ImageIO in /opt/local/lib and failing:

Dyld Error Message:
  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.dylib
in /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO

I looked around for a bit and my understanding of the problem is as follows:

The main library in ImageIO.framework references libJPEG.dylib
libJPEG.dylib exists as a private library of ImageIO.framework
libjpeg.dylib also exists in /opt/local/lib
HFS+ is case-insensitive (by default) so these are considered the same
ImageIO's private build of libjpeg prepends _cg_ to all the library function names
The standard libjpeg has the function name without the _cg_
The standard libjpeg is loaded but doesn't have the function ImageIO is referencing

It may be possible to find a work-around by fiddling with library search paths, but I'm not sure how or where to do that.

Unfortunately, if you were to change the search order so that ImageIO's libJPEG is loaded instead, anything that needs the functions from the standard version won't be able to access them. So this is a no-win situation.

The same problem came up when I was trying to install mono for getting FieldWorks to try to compile, so it's not just Bibledit that has the problem. Hence the cross-post to Collaborate Forum.

It seems to me that Bibledit may not need the MacPorts libjpeg, and it's there only because of the work you did with FieldWorks. You could try deactivating the jpeg port. which would hide the library, and Bibledit might then work.

If this doesn't work, you would have to do something to ensure the two libraries have different names. Renaming the ones in ImageIO is definitely risky, but maybe you could do something with the MacPorts one. For example, /opt/local/lib/libjpeg.dylib is just a symlink to libjpeg.8.dylib, and it could be that many things would still work if you removed the symlink, since they actually refer to libjpeg.8.dylib.

If Apple is going to use private versions of open-source libraries, they should really give them different names, not just rename the functions.

--Neil


Sigh, removing libjpeg.dylib led to others, libtiff and libpng, and then other things started to go wrong. I tried removing libiconv, then libxml2 and libxslt, and X11 would launch, but then crashed with a null pointer dereference. There seems to be too many things that go wrong to be able to get things to work without a more substantial effort than I have time to put in, so I'll just stick with Bibledit in Linux with VMware Fusion.

John
--
John Brownie, address@hidden or address@hidden
On furlough in Australia from:
Summer Institute of Linguistics      | Mussau-Emira language, Mussau Is.
Ukarumpa, Eastern Highlands Province | New Ireland Province
Papua New Guinea                     | Papua New Guinea



reply via email to

[Prev in Thread] Current Thread [Next in Thread]