[Buildroot] [PATCH 1/1] package/alsa-lib: build with versioned symbols

Thomas Petazzoni thomas.petazzoni at bootlin.com
Fri May 15 19:46:57 UTC 2020


Hello,

+Max Filippov

On Fri, 15 May 2020 11:33:53 -0700
Joseph Kogut <joseph.kogut at gmail.com> wrote:

> Is there a reason to leave --without-versioned in the package, or make
> it an optional config? I can't imagine the size difference is all that
> great.

This --without-versioned was added in commit
e90a4bf4af3b6466b2a2d8df12cfe84f5d364cca back in February 2009 (wow, 11
years ago). This commit, from Peter Korsgaard, says:

commit e90a4bf4af3b6466b2a2d8df12cfe84f5d364cca
Author: Peter Korsgaard <jacmet at sunsite.dk>
Date:   Mon Feb 23 13:01:26 2009 +0000

    alsa-lib: don't use versioned symbols
    
    As reported by Dirk Vermaak and Daniel Mack. Fixes runtime issues with
    alsa-lib, see
    http://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014999.html
    for details.

The mailing list thread pointed by this link contains an interesting
explanation:
https://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/015031.html,
i.e it wasn't working with uClibc because uClibc doesn't support
versioned symbols.

Interestingly, in 2015, the fact that uClibc doesn't support versioned
symbol also caused some issue with elfutils, as was reported by Max
Filippov at:

https://lists.fedorahosted.org/archives/list/elfutils-devel@lists.fedorahosted.org/thread/XIK5GQRWKOMOZ4FVBRWTPOH57DUYFNZV/

So it seems like this problem still exists.

Also, in 2017, Alexey Brokdin also reminded about this in his talk on
uClibc, see
https://elinux.org/images/9/9f/Uclibc-still-makes-sense-brodkin-elce2017_0.pdf

So, we unfortunately can't apply your patch as-is. Perhaps we should
make that conditional on uClibc ? Indeed, I assume that CEF will never
work with uClibc anyway :-)

I am puzzled though: if alsa-lib is built without symbol versioning,
how can CEF "know" about such versioning ? It is hardcoded into the CEF
source code ?

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list