View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000136 | file | General | public | 2020-01-31 19:37 | 2020-02-12 22:31 |
| Reporter | Fabrice | Assigned To | christos | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | 5.38 | ||||
| Fixed in Version | 5.39 | ||||
| Summary | 0000136: Static build failure (can be fixed by adding libmagic.pc) | ||||
| Description | 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 | ||||
| Additional Information | You'll find attached a patch that adds libmagic.pc | ||||
| Tags | No tags attached. | ||||
|
|
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
|
|
|
Committed, thanks! |
| 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 |