aboutsummaryrefslogtreecommitdiff
path: root/package/audiofile
diff options
context:
space:
mode:
authorGravatar Jörg Krause <joerg.krause@embedded.rocks>2015-11-24 22:22:46 +0100
committerGravatar Peter Korsgaard <peter@korsgaard.com>2015-11-26 07:14:59 +0100
commit1a0645851cf267621e406cda9255858e4203ae1a (patch)
tree02befa93e422326b48d431cd31306f2c7b0c2a33 /package/audiofile
parentf58a5d73abf2ff7b19f788c4776571fb08ffc391 (diff)
downloadbuildroot-1a0645851cf267621e406cda9255858e4203ae1a.tar.gz
buildroot-1a0645851cf267621e406cda9255858e4203ae1a.tar.bz2
package/audiofile: add patch to fix static linking issue
Static linking userspace programs such as MPD against libaudiofile fails if FLAC is available, because libaudiofile is linked against FLAC, but this isn't expressed in the pkg-config file: [..] arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACDecoder::reset2()': FLAC.cpp:(.text+0x58): undefined reference to `FLAC__stream_decoder_seek_absolute' /home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACEncoder::sync2()': FLAC.cpp:(.text+0x88): undefined reference to `FLAC__stream_encoder_finish' /home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACDecoder::~FLACDecoder()': FLAC.cpp:(.text+0xc4): undefined reference to `FLAC__stream_decoder_delete' /home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACEncoder::~FLACEncoder()': FLAC.cpp:(.text+0x164): undefined reference to `FLAC__stream_encoder_delete' /home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACDecoder::runPull()': [..] The Libs.private field is specifically designed for such usage: >From pkg-config documentation: Libs.private: This line should list any private libraries in use. Private libraries are libraries which are not exposed through your library, but are needed in the case of static linking. Therefore, this patch adds a reference to FLAC as well as to lcov in the Libs.private field of the pkg-config file. Patch status: Pending https://github.com/mpruett/audiofile/pull/26 Fixes: http://autobuild.buildroot.net/results/e95/e959e703a8db81032da27bece295c121e53d830d/ http://autobuild.buildroot.net/results/10b/10bd00209f098e8782016355cb2f46d1d3e7d3a3/ Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/audiofile')
-rw-r--r--package/audiofile/0001-Fix-pkg-config-for-static-linking.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/package/audiofile/0001-Fix-pkg-config-for-static-linking.patch b/package/audiofile/0001-Fix-pkg-config-for-static-linking.patch
new file mode 100644
index 0000000000..54757abbd5
--- /dev/null
+++ b/package/audiofile/0001-Fix-pkg-config-for-static-linking.patch
@@ -0,0 +1,56 @@
+From 2abf7d2e5c533bf4d7407c2c8057a329cd49a3cd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
+Date: Tue, 24 Nov 2015 21:57:27 +0100
+Subject: [PATCH 1/1] Fix pkg-config for static linking
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Static linking userspace programs such as MPD against libaudiofile fails if
+FLAC is available, because libaudiofile is linked against FLAC, but this isn't
+expressed in the pkg-config file:
+
+[..]
+arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACDecoder::reset2()':
+FLAC.cpp:(.text+0x58): undefined reference to `FLAC__stream_decoder_seek_absolute'
+/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACEncoder::sync2()':
+FLAC.cpp:(.text+0x88): undefined reference to `FLAC__stream_encoder_finish'
+/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACDecoder::~FLACDecoder()':
+FLAC.cpp:(.text+0xc4): undefined reference to `FLAC__stream_decoder_delete'
+/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACEncoder::~FLACEncoder()':
+FLAC.cpp:(.text+0x164): undefined reference to `FLAC__stream_encoder_delete'
+/home/buildroot/build/instance-1/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libaudiofile.a(FLAC.o): In function `FLACDecoder::runPull()':
+[..]
+
+The Libs.private field is specifically designed for such usage:
+
+From pkg-config documentation:
+
+ Libs.private:
+
+ This line should list any private libraries in use. Private
+ libraries are libraries which are not exposed through your
+ library, but are needed in the case of static linking.
+
+Therefore, this patch adds a reference to FLAC as well as to lcov in the
+Libs.private field of the pkg-config file.
+
+Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ audiofile.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/audiofile.pc.in b/audiofile.pc.in
+index ad5956a..d6055ef 100644
+--- a/audiofile.pc.in
++++ b/audiofile.pc.in
+@@ -8,5 +8,5 @@ Description: audiofile
+ Requires:
+ Version: @VERSION@
+ Libs: -L${libdir} -laudiofile
+-Libs.private: -lm
++Libs.private: @FLAC_LIBS@ @COVERAGE_LIBS@ -lm
+ Cflags: -I${includedir}
+--
+2.6.2
+