The workaround that Alexander suggested below works! Octave now calls
AquaTerm without a problem, just like it did before the Mac OS X Lion
10.7.3 update.

Thank you,
Gabi

On Wed, Feb 8, 2012 at 11:15 AM, Alexander Hansen
<alexanderk.han...@gmail.com> wrote:
> On 2/8/12 8:55 AM, Gabi Huiber wrote:
>> Then I'm stumped. I can't find any specific setting for
>> DYLD_LIBRARY_PATH, because "echo $ DYLD_LIBRARY_PATH" turns up
>> nothing. I also didn't install anything new since last week,
>> before the 10.7.3 update, when Octave and AquaTerm worked fine.
>>
>> Any ideas about how to fix this, I would greatly appreciate them.
>>
>> If this helps, echo $PATH says this:
>>
>> Gabis-Mac:~ ghuiber$ echo $PATH
>> /Applications/Stata/StataMP.app/Contents/MacOS:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/texbin:/Users/ghuiber/android-sdk-macosx/tools:/Users/ghuiber/android-sdk-macosx/platform-tools
>>
>>  Thank you, Gabi
>>
>
> I found something.
>
> When I checked out the Gnuplot.app that was shipped along with the
> Octave-3.4.0 OS X app, I noted the following:
>
> $ otool -L
> /Volumes/gnuplot/Gnuplot.app//Contents/Resources/lib/libfreetype.6.dylib
> /Volumes/gnuplot/Gnuplot.app//Contents/Resources/lib/libfreetype.6.dylib:
>        /tmp/gnuplot-i386/lib/libfreetype.6.dylib (compatibility version
> 13.0.0, current version 13.2.0)
>
> $ grep -ir DYLD_LIBRARY_PATH /Volumes/gnuplot/Gnuplot.app/
> /Volumes/gnuplot/Gnuplot.app/Contents/Resources/bin/gnuplot:DYLD_LIBRARY_PATH="${ROOT}/lib:${DYLD_LIBRARY_PATH}"
> /Volumes/gnuplot/Gnuplot.app/Contents/Resources/bin/gnuplot:
> DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" HOME="${HOME}"
> GNUHELP="${GNUHELP}" \
>
> I was able to reproduce your issue.  There are two things going on here:
>
> 1) Your original assumption was correct, and mine was not:  prior to
> the 10.7.3 update, libfreetype.6.dylib had
>
> $ otool -L /Volumes/FreeAgent\ GoFlex\
> Drive/Backups.backupdb/Fiona/Latest/MacHD/usr/X11/lib/libfreetype.6.dylib
> /Volumes/FreeAgent GoFlex
> Drive/Backups.backupdb/Fiona/Latest/MacHD/usr/X11/lib/libfreetype.6.dylib:
>        /usr/X11/lib/libfreetype.6.dylib (compatibility version 13.0.0,
> current version 13.2.0)
>
> (Time Machine is so handy)
>
> and now it has
> $ otool -L /usr/X11/lib/libfreetype.6.dylib
> /usr/X11/lib/libfreetype.6.dylib:
>        /usr/X11/lib/libfreetype.6.dylib (compatibility version 14.0.0,
> current version 14.2.0)
>
> 2)  However, that shouldn't have broken Gnuplot for you.  Going from
> an older to a newer compatibility version of a library is fine.
>
> What broke it is the use of DYLD_LIBRARY_PATH internally.
>
> DYLD_LIBRARY_PATH is *not* analogous to LD_LIBRARY_PATH in GNU/Linux,
> and it overrides the whole library lookup path, as I mentioned before.
>  Here's your error again:
>
> dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
>  Referenced from: /usr/X11/lib/libfontconfig.1.dylib
>  Reason: Incompatible library version: libfontconfig.1.dylib requires
> version 14.0.0 or later, but libfreetype.6.dylib provides version
> 13.0.0
>
> What happens is:
> 1) DYLD_LIBRARY_PATH is set to point to the libfreetype.6.dylib inside
> of Gnuplot.app.
> 2) /usr/X11/lib/libfontconfig.1.dylib would normally try to link to
> /usr/X11/lib/libfreetype.6.dylib, but since DYLD_LIBRARY_PATH is
> pointing at Gnuplot.app/Contents/Resources/lib, it instead tries to
> link to Gnuplot.app/Contents/Resources/lib/libfreetype.6.dylib.
> 3) Originally the libfreetype.6.dylib in /usr/X11/lib and
> Gnuplot.app/Contents/Resource/lib were at the same version, so that
> either one would satisfy libfontconfig.1.dylib.
> 4) However, after the 10.7.3 update, the libfreetype.6.dylib in
> Gnuplot.app is now too old for what the new libfontconfig.1.dylib is
> expecting, and so you get an error.
>
> The error message is confusing because it says that
> /usr/X11/lib/libfreetype.6.dylib wasn't loaded.  It mentions this
> particular library because that's what is encoded within
> libfontconfig.1.dylib.
>
> A workaround (it worked for me, anyway) is to replace all instances of
> DYLD_LIBRARY_PATH with DYLD_FALLBACK_LIBRARY_PATH in
> Gnuplot.app/Contents/Resources/bin/gnuplot.
>
> DYLD_FALLBACK_LIBRARY_PATH doesn't override the library search path,
> but rather provides a place to look if a library isn't found in the
> normal paths.  Its behavior is more like what GNU/Linux people expect
> from LD_LIBRARY_PATH.
>
> Anyway, try my workaround.
> --
> Alexander Hansen, Ph.D.
> Fink User Liaison
> http://finkakh.wordpress.com/

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Octave-dev mailing list
Octave-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/octave-dev

Reply via email to