[Buildroot] [PATCH 1/1] package/wireshark: fix static build with libxml2 and lzma

Fabrice Fontaine fontaine.fabrice at gmail.com
Wed Apr 24 20:10:10 UTC 2019


Hello Thomas,

Le mer. 24 avr. 2019 à 21:53, Thomas Petazzoni
<thomas.petazzoni at bootlin.com> a écrit :
>
> Hello Fabrice,
>
> On Wed, 24 Apr 2019 21:47:41 +0200
> Fabrice Fontaine <fontaine.fabrice at gmail.com> wrote:
>
> > diff --git a/package/wireshark/0004-FindXml2-use-pkg-config-to-find-libxml2-dependencies.patch b/package/wireshark/0004-FindXml2-use-pkg-config-to-find-libxml2-dependencies.patch
> > new file mode 100644
> > index 0000000000..ab549021e4
> > --- /dev/null
> > +++ b/package/wireshark/0004-FindXml2-use-pkg-config-to-find-libxml2-dependencies.patch
> > @@ -0,0 +1,33 @@
> > +From e6a2e71831f0699e9759e0579a00eea5fcb93696 Mon Sep 17 00:00:00 2001
> > +From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> > +Date: Wed, 24 Apr 2019 20:23:00 +0200
> > +Subject: [PATCH] FindXml2: use pkg-config to find libxml2 dependencies
> > +
> > +On UNIX, when statically built, libxml2 can depends on other libraries such
> > +as lzma. These dependencies are already retrieved through pkg-config so
> > +append them to LIBXML2_LIBRARIES otherwise static build will fail
> > +
> > +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> > +[Upstream status: not sent yet]
> > +---
> > + cmake/modules/FindLibXml2.cmake | 4 ++++
> > + 1 file changed, 4 insertions(+)
> > +
> > +diff --git a/cmake/modules/FindLibXml2.cmake b/cmake/modules/FindLibXml2.cmake
> > +index 99d70af57d..2a4b1f470f 100644
> > +--- a/cmake/modules/FindLibXml2.cmake
> > ++++ b/cmake/modules/FindLibXml2.cmake
> > +@@ -98,6 +98,10 @@ endif()
> > +
> > + set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR} ${PC_LIBXML_INCLUDE_DIRS})
> > + set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY})
> > ++# Include transitive dependencies for static linking.
> > ++if(UNIX)
> > ++    list(APPEND LIBXML2_LIBRARIES ${PC_LIBXML_LIBRARIES})
> > ++endif()
>
> Why does this needs to be conditional on "UNIX" ? Why isn't it possible
> to always use PC_LIBXML_LIBRARIES ?
Because, I'm currently in the very long process of pushing my three
first patches to upstream and they asked me to put all pkg-config
calls under UNIX and even under "CMAKE_FIND_LIBRARY_SUFFIXES STREQUAL
".a"" condition:
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=15713. Their
rational is that pkg-config is not available under windows.

So for my fourth patch, I dropped the latest condition as USE_STATIC
option is not yet available in buildroot but I decided to keep UNIX.
>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Fabrice


More information about the buildroot mailing list