[bootlin/training-materials updates] master: labs/sysdev-thirdparty: build alsa-lib with --without-versioned (7f54a226)

Thomas Petazzoni thomas.petazzoni at bootlin.com
Wed Sep 28 15:08:20 CEST 2022


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/7f54a22686115712e85eecf3ffe0fff899132132

>---------------------------------------------------------------

commit 7f54a22686115712e85eecf3ffe0fff899132132
Author: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Date:   Wed Sep 28 15:02:59 2022 +0200

    labs/sysdev-thirdparty: build alsa-lib with --without-versioned
    
    Without this, speaker-test simply does not work.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>


>---------------------------------------------------------------

7f54a22686115712e85eecf3ffe0fff899132132
 labs/sysdev-thirdparty/sysdev-thirdparty.tex | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/labs/sysdev-thirdparty/sysdev-thirdparty.tex b/labs/sysdev-thirdparty/sysdev-thirdparty.tex
index 33347e2a..bae77a0a 100644
--- a/labs/sysdev-thirdparty/sysdev-thirdparty.tex
+++ b/labs/sysdev-thirdparty/sysdev-thirdparty.tex
@@ -175,7 +175,20 @@ So, let's override the value of the \code{--host} option:
 \bashcmd{$ CC=arm-linux-gcc ./configure --host=arm-linux}
 
 The \code{configure} script should end properly now, and create a
-Makefile. Run the \code{make} command, which should run just fine.
+Makefile.
+
+However, there is one subttle last issue to handle: because the C
+library used in our toolchain (uClibc-ng) does not support {\em symbol
+versioning}, we need to tell {\em alsa-lib} about this by passing
+\code{--without-versioned}. Without this option, {\em alsa-lib} will
+built fine, but it will not work properly at runtime\footnote{See
+\url{https://mailman.alsa-project.org/pipermail/alsa-devel/2009-February/014999.html}
+for all the details}. So you should configure {\em alsa-lib} as
+follows:
+
+\bashcmd{$ CC=arm-linux-gcc ./configure --host=arm-linux --without-versioned}
+
+Run the \code{make} command, which should run just fine.
 
 Look at the result of compiling in \code{src/.libs}: a set of object files
 and a set of \code{libasound.so*} files.




More information about the training-materials-updates mailing list