unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* documentation / behavior discrepancy with lt_dlopenext
@ 2011-03-30 17:19 Andy Wingo
  2011-03-30 19:20 ` Ralf Wildenhues
  2011-07-01 15:03 ` Andy Wingo
  0 siblings, 2 replies; 6+ messages in thread
From: Andy Wingo @ 2011-03-30 17:19 UTC (permalink / raw)
  To: bug-libtool; +Cc: bug-guile

Hello list,

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?

Andy
-- 
http://wingolog.org/



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-07-01 15:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-03-30 17:19 documentation / behavior discrepancy with lt_dlopenext Andy Wingo
2011-03-30 19:20 ` Ralf Wildenhues
2011-03-30 21:36   ` Andy Wingo
2011-03-31  1:31     ` Bob Friesenhahn
2011-03-31  8:33       ` Andy Wingo
2011-07-01 15:03 ` Andy Wingo

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).