[Wine] [Fwd: Trouble with libgsm on Mac OS X 10.6.2]

James Mckenzie jjmckenzie51 at earthlink.net
Tue Sep 7 08:57:47 CDT 2010

doh123 <wineforum-user at winehq.org> wrote:
>Sent: Sep 6, 2010 8:33 PM
>To: wine-users at winehq.org
>Subject: [Wine]  [Fwd: Trouble with libgsm on Mac OS X 10.6.2]
>I'm far from an expert on the subject matter. Maybe some app that was written for Linux/BSD or whatever is looking at a
>LD_LIBRARY_PATH on its own and its nothing to do with the OS?  I've never tried messing with LD_LIBRARY_PATH on OSX, but
>its not *supposed* to do anything normally.

I agree with both Ryan and you, LD_LIBRARY_PATH is supposed to do absolutely NOTHING under MacOSX.  However, Wine needs it for some strange reason.  If I leave it out, the built dependency libraries are not found for freetype and fontconfig (and I know that fontconfig is included with MacOSX 10.6 now.)  Otherwise, I get a series of freetype cannot be found, install freetype 2.0.5 or higher.  I'll look at the Fink setup script to see how they did this.
>The OS Relies on DYLD_LIBRARY_PATH.  If you change it, you have to make sure it encompasses every single location for
>every library accessed... or there are major issues. This is what makes DYLD_FALLBACK_LIBRARY_PATH very useful.  If the
>library isn't found, it'll check the fallback locations.  Usually its best to not mess with DYLD_LIBRARY_PATH.... but
>being a fallback, if a user actually has the file on their machine in a normal location, it can cause problems making
>anything portable, because it goes with the one it finds first.

That statement is correct.  That is why most .app files don't use it.  Again, it is most interesting that adding the DYLB_LIBRARY_PATH causes calls to Wine's 'fake' dll files to fail.  

>You might want to use otool on your binaries and dylibs and see what exact location they are looking for things in.  You
>can also use install_name_tool to modify them to look in other places.  Very useful tools to change things around after
>they are built.

They are looking at @excutable_path/../lib/<filename here> and /usr/lib/<filename here>  The second library file is definitely there, but the first I could not figure out.

BTW, I am running $BUILDDIRECTORY/dlls/gdi32/tests/gdi32.exe.so (the test program for gdi32), when I run into this mess.  The file is a mach-o 32 bit executable.

Again, it is strange that LD_LIBRARY_PATH is doing anything at all, but it is.  I cannot explain it, except that Wine comes from Linux and is not 'pure' Apple ObjC code and that may have something to do with it.

I'll have to get WineSkin and see what you are doing differently that I'm not.

James McKenzie

More information about the wine-users mailing list