View Issue Details

IDProjectCategoryView StatusLast Update
0000136fileGeneralpublic2020-02-12 22:31
ReporterFabrice Assigned Tochristos  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version5.38 
Fixed in Version5.39 
Summary0000136: Static build failure (can be fixed by adding libmagic.pc)
Descriptionlibmagic can optionally depends on xz (for lzma) or bzip2 since version
5.38 and
https://github.com/file/file/commit/b259a07ea95827f565faa20f0316e5b2704064f7
so add libmagic.pc so package (such as gerbera) that links with libmagic
will be able to use pkg-config to retrieve those static dependencies
For example, this will avoid the following build failure:

[100%] Linking CXX executable gerbera
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/br-user/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmagic.a(compress.o): in function `uncompressbuf':
compress.c:(.text+0x69c): undefined reference to `BZ2_bzDecompressInit'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x710): undefined reference to `BZ2_bzDecompress'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x730): undefined reference to `BZ2_bzDecompressEnd'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x7bc): undefined reference to `lzma_auto_decoder'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x828): undefined reference to `lzma_code'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x848): undefined reference to `lzma_end'

Fixes:
 - http://autobuild.buildroot.org/results/37b1ef54dc41100689f311fbc31fc9300dc6ae63
Additional InformationYou'll find attached a patch that adds libmagic.pc
TagsNo tags attached.

Activities

Fabrice

2020-01-31 19:37

reporter  

0001-Add-libmagic.pc.patch (3,860 bytes)   
From d079cac1110cc2761417f0dcb0a142b217eb1eda Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 31 Jan 2020 20:26:29 +0100
Subject: [PATCH] Add libmagic.pc

libmagic can optionally depends on xz (for lzma) or bzip2 since version
5.38 and
https://github.com/file/file/commit/b259a07ea95827f565faa20f0316e5b2704064f7
so add libmagic.pc so package (such as gerbera) that links with libmagic
will be able to use pkg-config to retrieve those static dependencies
For example, this will avoid the following build failure:

[100%] Linking CXX executable gerbera
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/br-user/autobuild/run/instance-0/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libmagic.a(compress.o): in function `uncompressbuf':
compress.c:(.text+0x69c): undefined reference to `BZ2_bzDecompressInit'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x710): undefined reference to `BZ2_bzDecompress'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x730): undefined reference to `BZ2_bzDecompressEnd'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x7bc): undefined reference to `lzma_auto_decoder'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x828): undefined reference to `lzma_code'
/home/br-user/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/arm-buildroot-linux-uclibcgnueabi/8.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: compress.c:(.text+0x848): undefined reference to `lzma_end'

Fixes:
 - http://autobuild.buildroot.org/results/37b1ef54dc41100689f311fbc31fc9300dc6ae63

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 Makefile.am    |  5 +++++
 configure.ac   |  2 +-
 libmagic.pc.in | 10 ++++++++++
 3 files changed, 16 insertions(+), 1 deletion(-)
 create mode 100644 libmagic.pc.in

diff --git a/Makefile.am b/Makefile.am
index 8bd927d9..2ab67ed7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,3 +3,8 @@ ACLOCAL_AMFLAGS = -I m4
 EXTRA_DIST = MAINT
 
 SUBDIRS = src magic tests doc python
+
+# This variable must have 'exec' in its name, in order to be installed
+# by 'install-exec' target (instead of default 'install-data')
+pkgconfigexecdir = $(libdir)/pkgconfig
+pkgconfigexec_DATA = libmagic.pc
diff --git a/configure.ac b/configure.ac
index ac37fccd..b2e2e5b8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -217,5 +217,5 @@ if  test "$ac_cv_header_lzma_h$ac_cv_lib_lzma_lzma_stream_decoder" = "yesyes"; t
   AC_DEFINE([XZLIBSUPPORT], 1, [Enable xzlib compression support])
 fi
 
-AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile])
+AC_CONFIG_FILES([Makefile src/Makefile magic/Makefile tests/Makefile doc/Makefile python/Makefile libmagic.pc])
 AC_OUTPUT
diff --git a/libmagic.pc.in b/libmagic.pc.in
new file mode 100644
index 00000000..3ad1290b
--- /dev/null
+++ b/libmagic.pc.in
@@ -0,0 +1,10 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libmagic
+Description: Magic number recognition library
+Version: @VERSION@
+Libs: -L${libdir} -lmagic
+Libs.private: @LIBS@
-- 
2.24.1

0001-Add-libmagic.pc.patch (3,860 bytes)   

christos

2020-02-12 22:31

manager   ~0003353

Committed, thanks!

Issue History

Date Modified Username Field Change
2020-01-31 19:37 Fabrice New Issue
2020-01-31 19:37 Fabrice File Added: 0001-Add-libmagic.pc.patch
2020-02-12 22:30 christos Assigned To => christos
2020-02-12 22:30 christos Status new => assigned
2020-02-12 22:31 christos Status assigned => resolved
2020-02-12 22:31 christos Resolution open => fixed
2020-02-12 22:31 christos Fixed in Version => 5.39
2020-02-12 22:31 christos Note Added: 0003353