From: Peter O'Gorman <peter@pogma.com>
To: Hans Aberg <haberg@math.su.se>
Cc: bug-guile@gnu.org, Ken Raeburn <raeburn@raeburn.org>,
bug-libtool@gnu.org
Subject: Re: Mac OS X .dylib not working
Date: Thu, 4 Feb 2010 07:49:17 -0600 [thread overview]
Message-ID: <20100204134916.GB23972@tw.local> (raw)
In-Reply-To: <470370CA-2B7D-49F3-B48C-70B0731757F9@math.su.se>
On Thu, Feb 04, 2010 at 01:40:07PM +0100, Hans Aberg wrote:
> On 2 Feb 2010, at 17:52, Bob Friesenhahn wrote:
>
>> Under OS-X (Leopard and later), the 'dtruss' program can be used to
>> see what is really going on.
>
> While at it, I found another problem involving libltdl.7.dylib,
> guile-1.8.7 and lilypond 2.13.7:
>
> When upgrading guile using libtool-2.2.6b, lilypond broke, the one which
> is in an Application distribution:
> /Applications/LilyPond.app/Contents/Resources/bin/guile
> It has its own
> /Applications/LilyPond.app/Contents/Resources/lib/libltdl.7.dylib
>
> However, dtruss shows that segmentation fault is caused when calling
> /usr/local/lib/libltdl.7.dylib
>
> When I move this to another name, then lilypond works, but dtruss now
> shows that it calls
> /usr/lib/libltdl.7.dylib
Sorry, I missed most of this thread as I was travelling.
What does otool -L
/Applications/LilyPond.app/Contents/Resources/bin/guile say? Which
libltdl.7.dylib does it list?
If you run lilypond with DYLD_PRINT_LIBRARIES=1 set in the environment
does more than one copy of libltdl.7.dylib get loaded?
This sounds like a packaging bug to me though, you can probably fix it
with use of install_name_tool(1).
As for your earlier questions about .so and .dylib - On Mac OS X 10.0
and earlier, there was no way to load MH_DYLIB type files (usually
.dylib extensions) at runtime. API was introduced to allow this in 10.1,
and dlopen() was added in 10.3, rewritten in 10.4 and dlclose() actually
removes the image in 10.5, prior to that only files of MH_BUNDLE type
could be unloaded.
When libtool support for Mac OS X was added, there was no way to load
.dylib files, not much software had any knowledge of Mac OS X, and quite
a lot of things had hardcoded ".so" when loading files at runtime, so to
accomodate this, .so was chosen as the extension when creating loadable
modules (MH_BUNDLE) and .dylib when creating MH_DYLIB. Changing
this now would cause far too many problems.
So, long story short, ltld looks for ".so" because that is the extension
used for loadable modules. Guile wants to use its loadable modules as
input to ld, this is not portable to ancient Mac OS X, nor ancient Net
BSD, and possibly other systems, however it seems unlikly to be a major
issue.
I think that covers most of the thread, but I admit to now reading all
of it.
Peter
--
Peter O'Gorman
http://pogma.com
next prev parent reply other threads:[~2010-02-04 13:49 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-01 14:26 Mac OS X .dylib not working Hans Aberg
2010-02-02 6:42 ` Ralf Wildenhues
2010-02-02 9:08 ` Hans Aberg
2010-02-02 14:20 ` Ken Raeburn
2010-02-02 15:48 ` Hans Aberg
2010-02-02 16:52 ` Bob Friesenhahn
2010-02-02 17:15 ` Hans Aberg
2010-02-02 18:01 ` Ludovic Courtès
2010-02-03 14:23 ` Ken Raeburn
2010-02-03 15:10 ` Ludovic Courtès
2010-02-04 12:40 ` Hans Aberg
2010-02-04 13:49 ` Peter O'Gorman [this message]
2010-02-04 15:21 ` Hans Aberg
2010-02-04 15:34 ` Peter O'Gorman
2010-02-04 16:52 ` Hans Aberg
2010-02-04 16:58 ` Hans Aberg
-- strict thread matches above, loose matches on Subject: below --
2011-03-03 19:32 Hans Åberg
2011-03-03 19:56 ` Michael Ellis
2011-03-04 2:59 ` Peter O'Gorman
2011-03-04 3:41 ` Michael Ellis
2011-03-04 8:59 ` Andy Wingo
2011-03-04 9:44 ` Hans Aberg
2011-03-04 18:07 ` Peter O'Gorman
2011-03-04 18:47 ` Ralf Wildenhues
2011-03-04 19:00 ` Peter O'Gorman
2011-03-05 16:16 ` Peter O'Gorman
2011-03-04 3:00 ` Bob Friesenhahn
2011-03-04 3:48 ` Michael Ellis
2011-03-04 17:04 ` Ralf Wildenhues
2011-03-04 9:47 ` Hans Aberg
2011-03-03 19:53 Hans Aberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100204134916.GB23972@tw.local \
--to=peter@pogma.com \
--cc=bug-guile@gnu.org \
--cc=bug-libtool@gnu.org \
--cc=haberg@math.su.se \
--cc=raeburn@raeburn.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).