1 |
On Wed, Jan 08, 2014 at 09:14:43PM +0100, Peter Stuge wrote: |
2 |
> Robin H. Johnson wrote: |
3 |
> > Comments: |
4 |
> > --------- |
5 |
> > In bug #4411, comment 43, vapier noted: |
6 |
> > > any package that does dlopen("libfoo.so") without the version info like ".so.X" is broken. |
7 |
> > In this case, the lt_dlopenext consumer is explicitly testing multiple |
8 |
> > versions of libusb at runtime, and picking the correct interface: |
9 |
> > it doesn't need to depend on a specific version. |
10 |
> vapier is still correct and the consumer is indeed broken, it does |
11 |
> too need to specify the .so version in the dlopen() call, at least |
12 |
> in the case of libusb. |
13 |
> > This is also because the lt_dlopenext interface does NOT accepted |
14 |
> > files versioned after the .so: it needs the filename with no extensions. |
15 |
> Hm, that seems limited? |
16 |
It's NOT calling dlopen directly. It's calling the lt_dlopenext |
17 |
interface from libtool. That iterates over the possible combinations |
18 |
that end with ".so", and never iterates over the numbered suffixes. |
19 |
|
20 |
lt_dlforeachfile actully complicates it even more, but also doesn't see |
21 |
the numbered suffixes. |
22 |
|
23 |
So should you're saying that we need to change libtool's code now? |
24 |
|
25 |
-- |
26 |
Robin Hugh Johnson |
27 |
Gentoo Linux: Developer, Infrastructure Lead |
28 |
E-Mail : robbat2@g.o |
29 |
GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 |