bug-libtool
[Top][All Lists]
Advanced

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

bug#12319: libltdl does not skip bad libs


From: Pierre Ossman
Subject: bug#12319: libltdl does not skip bad libs
Date: Fri, 31 Aug 2012 13:30:46 +0200

I've unfortunately stumbled upon a key difference in behaviour between
dlopen() and lt_dlopen(). When dlopen() encounters a bad library (e.g.
wrong arch), it will just continue on and find another library.
lt_dlopen() however, will stop on the first library which it can read.

This breaks libltdl applications horribly in multi-arch environments.
As LD_LIBRARY_PATH is not arch specific, having a universal one means
having one like:

        LD_LIBRARY_PATH=/usr/foo/lib32:/usr/foo/lib64

This works fine with dlopen(), but not with lt_dlopen().

The fix seems simple enough. In find_handle_callback(), change:

        *phandle = 0;

to:

        return 0;

Rgds
-- 
Pierre Ossman            OpenSource-based Thin Client Technology
System Developer         Telephone: +46-13-21 46 00
Cendio AB                Web: http://www.cendio.com

Attachment: signature.asc
Description: PGP signature


reply via email to

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