Incorrect libjpeg.dylib after installing ImageMagick

View: New views
5 Messages — Rating Filter:   Alert me  

Incorrect libjpeg.dylib after installing ImageMagick

by esiegel :: Rate this Message:

| View Threaded | Show Only this Message

I have been trying to solve this problems for several hours now with many
failed attempts.  I found some answers from before, but they don't seem to
work with me.

Basically, after installing ImageMagick with macports, libjpeg was
installed to /opt/local/lib/libjpeg.dylib, but now several executables
(unrelated to Imagemagick) now point to this library instead of the OS X
default.

For example mate, php, and others all report this error message:

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.dylib

>From a previous post, it was suggested that I copy the library from
ImageIO folder into the opt/local folder, but this caused library
incompatibility problems.

I have tried uninstalling ImageMagick, but it didn't help.

I have tried searching for every symbolic link hoping that I could change
something to point back to the original library.

I have looked at my .profile .bashrc, etc to see if there was anything
that should be changed, but so far no go.

AHHHH, I'm going crazy.

eric

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

Re: Incorrect libjpeg.dylib after installing ImageMagick

by Yolande Serra-2 :: Rate this Message:

| View Threaded | Show Only this Message

Not sure this will help, but if you defined a DYLD_LIBRARY_PATH in  
your .bashrc or .profile get rid of it.

The libraries that macs point to are found assuming this variable is  
not defined.  Somewhere buried in the system it has a path to its own  
libs.  You mess this up when you define dynamic library paths.

hope this helps, Yolande

On Mar 20, 2009, at 11:09 AM, esiegel@... wrote:

> I have been trying to solve this problems for several hours now with  
> many
> failed attempts.  I found some answers from before, but they don't  
> seem to
> work with me.
>
> Basically, after installing ImageMagick with macports, libjpeg was
> installed to /opt/local/lib/libjpeg.dylib, but now several executables
> (unrelated to Imagemagick) now point to this library instead of the  
> OS X
> default.
>
> For example mate, php, and others all report this error message:
>
> 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.dylib
>
>> From a previous post, it was suggested that I copy the library from
> ImageIO folder into the opt/local folder, but this caused library
> incompatibility problems.
>
> I have tried uninstalling ImageMagick, but it didn't help.
>
> I have tried searching for every symbolic link hoping that I could  
> change
> something to point back to the original library.
>
> I have looked at my .profile .bashrc, etc to see if there was anything
> that should be changed, but so far no go.
>
> AHHHH, I'm going crazy.
>
> eric
>
> _______________________________________________
> macports-users mailing list
> macports-users@...
> http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

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

Re: Incorrect libjpeg.dylib after installing ImageMagick

by Ryan Schmidt-24 :: Rate this Message:

| View Threaded | Show Only this Message

On Mar 20, 2009, at 13:20, Yolande Serra wrote:

> Not sure this will help, but if you defined a DYLD_LIBRARY_PATH in  
> your .bashrc or .profile get rid of it.
>
> The libraries that macs point to are found assuming this variable  
> is not defined.  Somewhere buried in the system it has a path to  
> its own libs.  You mess this up when you define dynamic library paths.

I agree with Yolande: it sounds like you have DYLD_LIBRARY_PATH set,  
and you should not.


> On Mar 20, 2009, at 11:09 AM, esiegel@... wrote:
>
>> I have been trying to solve this problems for several hours now  
>> with many
>> failed attempts.  I found some answers from before, but they don't  
>> seem to
>> work with me.
>>
>> Basically, after installing ImageMagick with macports, libjpeg was
>> installed to /opt/local/lib/libjpeg.dylib, but now several  
>> executables
>> (unrelated to Imagemagick) now point to this library instead of  
>> the OS X
>> default.
>>
>> For example mate, php, and others all report this error message:
>>
>> 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.dylib

Curious capitalization: The MacPorts jpeg port provides  
libjpeg.dylib, not libJPEG.dylib.


>> From a previous post, it was suggested that I copy the library from
>> ImageIO folder into the opt/local folder, but this caused library
>> incompatibility problems.

Yes, please do not copy libraries into /opt/local manually.


>> I have tried uninstalling ImageMagick, but it didn't help.

I wouldn't expect that to help, since ImageMagick has nothing to do  
with libjpeg.dylib, other than using it. The port that actually  
provides libjpeg.dylib is jpeg, so you could uninstall the jpeg port.  
Of course then you can't use any ports like ImageMagick that require  
libjpeg.dylib.


>> I have tried searching for every symbolic link hoping that I could  
>> change
>> something to point back to the original library.
>>
>> I have looked at my .profile .bashrc, etc to see if there was  
>> anything
>> that should be changed, but so far no go.

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

Re: Incorrect libjpeg.dylib after installing ImageMagick

by Bryan Blackburn-4 :: Rate this Message:

| View Threaded | Show Only this Message

On Fri, Mar 20, 2009 at 07:00:35PM -0500, Ryan Schmidt said:
[...]

>>> For example mate, php, and others all report this error message:
>>>
>>> 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.dylib
>
> Curious capitalization: The MacPorts jpeg port provides libjpeg.dylib, not
> libJPEG.dylib.

Probably because ImageIO links to libJPEG.dylib and that plus
case-preserving but case-insensitive makes it see them as the same
library (when DYLD env vars are messed with)...

$ otool -L /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ImageIO.framework/ImageIO
...
        /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib (compatibility version 1.0.0, current version 1.0.0)
...

Bryan

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

Re: Incorrect libjpeg.dylib after installing ImageMagick

by cssdev :: Rate this Message:

| View Threaded | Show Only this Message

On Mar 20, 2009, at 8:00 PM, Ryan Schmidt wrote:

> On Mar 20, 2009, at 13:20, Yolande Serra wrote:
>
>> Not sure this will help, but if you defined a DYLD_LIBRARY_PATH in  
>> your .bashrc or .profile get rid of it.
>>
>> The libraries that macs point to are found assuming this variable  
>> is not defined.  Somewhere buried in the system it has a path to  
>> its own libs.  You mess this up when you define dynamic library  
>> paths.
>
> I agree with Yolande: it sounds like you have DYLD_LIBRARY_PATH set,  
> and you should not.


I'll note that there are cases requiring this environment variable. If  
this is one of those, then you can probably use  
DYLD_FALLBACK_LIBRARY_PATH instead. See http://developer.apple.com/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryUsageGuidelines.html 
  for more information about load libraries.

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