libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libltdl "unknown error"


From: Sébastien Sablé
Subject: libltdl "unknown error"
Date: 10 Jan 2002 15:12:58 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1

I had a project using libltdl from libtool 1.4.1 which worked quite
well... and then I switched to libtool 1.4.2.
Then my project started to core dump as soon as libltdl functions were
invoked.

I decided to wait since other people were experiencing trouble as
well. Then recently a new debian package of libtool appeared :

libtool (1.4.2-4) unstable; urgency=medium

  * Applied patch from Roger Leigh <address@hidden> that fixes
    libtoolize's AC_CONFIG_AUX_DIR support when using new style
    `configure.ac'.  Patch has been sent upstream.  (Closes: #126374)
  * Applied patch from Daniel Kobras <address@hidden> that fixes a
    segmentation fault due to a missing error check.  Patch has been sent
    upstream.  (Closes: #127083)
  * Applied patch from Sebastian Rittau <address@hidden> that
    corrects misnamed plugin modules on Tru64.  Patch has been sent
    upstream.  (Closes: #126666)
  * Applied patch from Bill Allombert <address@hidden> that fixes
    incorrect assumption that ARM builds use glibc 2.1.1.  Bug report sent
    upstream.  (Closes: #120515)

I decided to try this new version. Now my project does not core dump
any more, however it still does report some "unknown error" when I
call lt_dlsym.

So my question is : is libltdl from libtool 1.4.2 supposed to work at
all? and if yes, why would a project that used to work with 1.4.1 not
work anymore?

My code looks something like this :

int load_braille_driver(void)
{
  const char* strerror;
  int error;

  lt_dlinit();
  error = lt_dladdsearchdir(PKGLIBDIR);
  if(error)
    {
      Log(LOG_ERR, "Cannot change search path : %s", lt_dlerror());
      return 0;
    }
  library = lt_dlopenext(braille_libname);
  if (library == NULL) 
    {
      Log(LOG_ERR, "Cannot open braille driver library %s : %s", 
braille_libname, lt_dlerror());
      return 0;
    }
  Log(LOG_INFO, "Library %s loaded", braille_libname);

  identbrl = lt_dlsym(library, "identbrl"); /* locate function from the shared 
library */
  strerror = lt_dlerror();
  if (strerror)
    {
      Log(LOG_ERR, "Driver symbol not found identbrl : %s", strerror);
      return 0;
    }
  ...

And it reports this error message :

Library libbraillebn loaded
Driver symbol not found identbrl : unknown error

It worked perfectly before and the only change is the switch to
libtool 1.4.2...

address@hidden:~/tim/dev/braille/libbraille$ autoconf --version
autoconf (GNU Autoconf) 2.52

address@hidden:~/tim/dev/braille/libbraille$ automake --version
automake (GNU automake) 1.5

address@hidden:~/tim/dev/braille/libbraille$ libtool --version
ltmain.sh (GNU libtool) 1.4.2a (1.922.2.79 2001/11/28 21:50:31)

Thanks for any help

-- 
Sébastien Sablé <address@hidden>
http://inova.snv.jussieu.fr/~sable/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]