public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Peter Stuge <peter@stuge.se>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] libtool lt_dlopenext vs. gen_ld_script: breakages at runtime
Date: Wed, 8 Jan 2014 21:14:43 +0100	[thread overview]
Message-ID: <20140108201443.28291.qmail@stuge.se> (raw)
In-Reply-To: <robbat2-20140105T033326-886000793Z@orbis-terrarum.net>

Robin H. Johnson wrote:
> Comments:
> ---------
> In bug #4411, comment 43, vapier noted:
> > any package that does dlopen("libfoo.so") without the version info like ".so.X" is broken.
> In this case, the lt_dlopenext consumer is explicitly testing multiple
> versions of libusb at runtime, and picking the correct interface:
> it doesn't need to depend on a specific version.

vapier is still correct and the consumer is indeed broken, it does
too need to specify the .so version in the dlopen() call, at least
in the case of libusb.

It's fine for programs to try to dlopen() API providers for both
libusb-0.1 and libusb-1.0 APIs and use whichever they find, but that
MUST be done by full filename including ABI version in each call.

dev-libs/libusb-0.1 has only ever existed as libusb-0.1.so.4.4.4 so
either that or libusb-0.1.so.4 is what must be used with dlopen().

libusb-1.0 API providers are by design API as well as ABI incompatible
with libusb-0.1 so there is no way to get libusb-1.0 if you ask for
libusb-0.1.

I believe that libusb-0.1 being the way it is happened by accident
and I know that libusb-1.0 use of libtool is better but can still
improve.


> This is also because the lt_dlopenext interface does NOT accepted
> files versioned after the .so: it needs the filename with no extensions.

Hm, that seems limited?


//Peter


  parent reply	other threads:[~2014-01-08 20:14 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-05  4:09 [gentoo-dev] libtool lt_dlopenext vs. gen_ld_script: breakages at runtime Robin H. Johnson
2014-01-06 19:23 ` William Hubbs
2014-01-06 19:31   ` Robin H. Johnson
2014-01-08  8:59 ` [gentoo-dev] " Steven J. Long
2014-01-08 20:14 ` Peter Stuge [this message]
2014-01-08 20:27   ` [gentoo-dev] " Robin H. Johnson
2014-01-08 20:43     ` Rick "Zero_Chaos" Farina
2014-01-12 11:15       ` [gentoo-dev] " Steven J. Long

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140108201443.28291.qmail@stuge.se \
    --to=peter@stuge.se \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox