[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mac OS X .dylib not working
From: |
Michael Ellis |
Subject: |
Re: Mac OS X .dylib not working |
Date: |
Thu, 3 Mar 2011 14:56:50 -0500 |
On Thu, Mar 3, 2011 at 2:32 PM, Hans Åberg <address@hidden> wrote:
> [I'm not on the bug-libtool list, so please cc me.]
>
> Despite being reported a year ago, Guile can still not open dynamic libraries
> ending with .dylib on Mac OS X. Looking throw the past discussion, it looks
> as though developers of the one package hold the opinion that those of the
> other package should do the fix. So I am merely reporting it, cross-linking,
> so that you can figure out who guys should do the fix. :-)
>
> So guile-2.0.0 using libltdl.7.dylib of libtool-2.4, can on Mac OS X 10.6.6
> only open a dynamic library if the name of what it actually opens ends in .so
> (say by making a soft link using 'ln -s'); if it ends in .dylib, it cannot
> open it, even if the full name is given.
>
> See
> http://lists.gnu.org/archive/html/bug-guile/2011-03/msg00008.html
> http://lists.gnu.org/archive/html/guile-devel/2011-03/msg00021.html
>
> Mac OS X does not care about file name extensions; .dylib is just a
> convention for native dynamic libraries.
>
> So the wanted behavior is to first try opening a library without adding an
> extension, and then try out different endings. On Mac OS X, it would be best
> trying out .dylib first - I haven't seen any other ending in use.
>
> Hans
I completely agree. FWIW, in section quoted below, the libtool manual
appears to promise that lt_dlopenext() will respect the conventions of
the host platform with regard to filename extensions for dynamic
libraries.
...
— Function: lt_dlhandle lt_dlopenext (const char *filename)
The same as lt_dlopen, except that it tries to append different file
name extensions to the file name. If the file with the file name
filename cannot be found libltdl tries to append the following
extensions:
-- the libtool archive extension .la
-- the extension used for native dynamically loadable modules on the
host platform, e.g., .so, .sl, etc.
...
from
http://www.gnu.org/software/libtool/manual/html_node/Libltdl-interface.html#Libltdl-interface
Cheers,
Mike