GNU bug report logs - #8976
documentation / behavior discrepancy with lt_dlopenext

Previous Next

Package: libtool;

Reported by: Andy Wingo <wingo <at> pobox.com>

Date: Fri, 1 Jul 2011 16:17:01 UTC

Severity: normal

To reply to this bug, email your comments to 8976 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-libtool <at> gnu.org:
bug#8976; Package libtool. (Fri, 01 Jul 2011 16:17:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andy Wingo <wingo <at> pobox.com>:
New bug report received and forwarded. Copy sent to bug-libtool <at> gnu.org. (Fri, 01 Jul 2011 16:17:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> pobox.com>
To: bug-libtool <at> gnu.org
Cc: bug-guile <at> gnu.org
Subject: Re: documentation / behavior discrepancy with lt_dlopenext
Date: Fri, 01 Jul 2011 17:03:03 +0200
Hi list,

Re-sending this report, now that you have debbugs.

On Wed 30 Mar 2011 19:19, Andy Wingo <wingo <at> pobox.com> writes:

> The ltdl docs say:
>
>     — 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: [...]
>
> However, there are cases in which lt_dlopenext does not look for a bare
> filename.  Specifically the code does:
>
>       if (!filename
>           || !advise
>           || !advise->try_ext
>           || has_library_ext (filename))
>         try the bare file
>       else if (filename && *filename)
>         try extensions...
>
> So, we see that if has_library_ext is FALSE, we don't try the bare
> file.  But that check fails for full paths, like
> "/usr/lib64/libSDL-1.2.so.0.11.3".
>
>     $ strace guile -c '(dynamic-link "/usr/lib64/libSDL-1.2.so.0.11.3")'
>     [...]
>     open("/usr/lib64/libSDL-1.2.so.0.11.3.la", O_RDONLY) = -1 ENOENT (No such file or directory)
>     open("/usr/lib64/libSDL-1.2.so.0.11.3.so", O_RDONLY) = -1 ENOENT (No such file or directory)
>     [...]
>
> The documentation and the code do not agree.  I propose that we fix the
> code, to add another `stat' (I know) -- of the bare file name, before
> trying to add extensions, in the dlopenext case.
>
> What do you think?

The original discussion was here:

  http://thread.gmane.org/gmane.lisp.guile.bugs/5387

Any ideas? :-)

Andy
-- 
http://wingolog.org/




This bug report was last modified 12 years and 274 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.