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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> that fixes a
    segmentation fault due to a missing error check.  Patch has been sent
    upstream.  (Closes: #127083)
  * Applied patch from Sebastian Rittau <[EMAIL PROTECTED]> that
    corrects misnamed plugin modules on Tru64.  Patch has been sent
    upstream.  (Closes: #126666)
  * Applied patch from Bill Allombert <[EMAIL PROTECTED]> 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...

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

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

sable@incubus:~/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é <[EMAIL PROTECTED]>
http://inova.snv.jussieu.fr/~sable/


_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool

Reply via email to