From 13c7afeb48806b5d3f22ce43b3559cbbfa052a37 Mon Sep 17 00:00:00 2001 From: Roland Hieber Date: Sun, 3 Mar 2019 19:32:36 +0100 Subject: xmlstarlet: fix linking when libssl is built without zlib Adapt the already existing patch and its description to prevent a [...]/arm-v7a-linux-gnueabihf/bin/ld: cannot find -lz error message when building openssl without zlib support. Signed-off-by: Roland Hieber Signed-off-by: Michael Olbrich --- .../0004-xmlstarlet-fix-linking.patch | 91 --------------------- ...link-against-shared-instead-of-static-lib.patch | 95 ++++++++++++++++++++++ patches/xmlstarlet-1.0.1/series | 4 +- 3 files changed, 97 insertions(+), 93 deletions(-) delete mode 100644 patches/xmlstarlet-1.0.1/0004-xmlstarlet-fix-linking.patch create mode 100644 patches/xmlstarlet-1.0.1/0004-xmlstarlet-link-against-shared-instead-of-static-lib.patch (limited to 'patches') diff --git a/patches/xmlstarlet-1.0.1/0004-xmlstarlet-fix-linking.patch b/patches/xmlstarlet-1.0.1/0004-xmlstarlet-fix-linking.patch deleted file mode 100644 index 90aa47567..000000000 --- a/patches/xmlstarlet-1.0.1/0004-xmlstarlet-fix-linking.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Michael Olbrich -Date: Mon, 11 Jan 2010 16:03:22 +0100 -Subject: [PATCH] xmlstarlet: fix linking - -xmlstarlet links libexslt statically. The configure script does not check for -the dependencies. This fails if libexslt links agains libgcrypt. - -This patch changes the configure script, so that all libs are linked -dynamically. The linker does the rest. - -For ptxdist this is ok. We install the libs already. -Not for upstream. - -Signed-off-by: Michael Olbrich -Forwarded: not-needed ---- - configure.in | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/configure.in b/configure.in -index 856a451cac7f..713d2b34dd32 100644 ---- a/configure.in -+++ b/configure.in -@@ -31,7 +31,7 @@ AC_ARG_WITH(libxml-prefix, - [ --with-libxml-prefix=[PFX] Specify location of libxml], - LIBXML_PREFIX=$withval - LIBXML_CFLAGS="-I$withval/include/libxml2 -I$withval/include/libxml" -- LIBXML_LIBS="$withval/lib/libxml2.a -lz -lm -lpthread -ldl" -+ LIBXML_LIBS="$withval/lib/libxml2.so -lz -lm -lpthread -ldl" - ) - - AC_ARG_WITH(libxml-include-prefix, -@@ -41,13 +41,13 @@ AC_ARG_WITH(libxml-include-prefix, - - AC_ARG_WITH(libxml-libs-prefix, - [ --with-libxml-libs-prefix=[PFX] Specify location of libxml libs], -- LIBXML_LIBS="$withval/libxml2.a -lz -lm -lpthread -ldl" -+ LIBXML_LIBS="$withval/libxml2.so -lz -lm -lpthread -ldl" - ) - - AC_ARG_WITH(libxml-src, - [ --with-libxml-src=[DIR] For libxml thats not installed yet (sets all three above)], - LIBXML_SRC="$withval" -- LIBXML_LIBS="$withval/.libs/libxml2.a -lz -lm -lpthread" -+ LIBXML_LIBS="$withval/.libs/libxml2.so -lz -lm -lpthread" - LIBXML_CFLAGS="-I$withval/include/libxml2 -I$withval/include/libxml -I$withval/include" - ) - -@@ -74,7 +74,7 @@ AC_ARG_WITH(libxslt-prefix, - [ --with-libxslt-prefix=[PFX] Specify location of libxslt], - LIBXSLT_PREFIX=$withval - LIBXSLT_CFLAGS="-I$withval/include/libxslt -I$withval/include/libexslt" -- LIBXSLT_LIBS="$withval/lib/libxslt.a $withval/lib/libexslt.a -lz -lm -lpthread" -+ LIBXSLT_LIBS="$withval/lib/libxslt.so $withval/lib/libexslt.so -lz -lm -lpthread" - ) - - AC_ARG_WITH(libxslt-include-prefix, -@@ -84,13 +84,13 @@ AC_ARG_WITH(libxslt-include-prefix, - - AC_ARG_WITH(libxslt-libs-prefix, - [ --with-libxslt-libs-prefix=[PFX] Specify location of libxslt libs], -- LIBXSLT_LIBS="$withval/libxslt.a $withval/libexslt.a -lz -lm -lpthread" -+ LIBXSLT_LIBS="$withval/libxslt.so $withval/libexslt.so -lz -lm -lpthread" - ) - - AC_ARG_WITH(libxslt-src, - [ --with-libxslt-src=[DIR] For libxslt thats not installed yet (sets all three above)], - LIBXSLT_SRC="$withval" -- LIBXSLT_LIBS="$withval/libxslt/.libs/libxslt.a $withval/libexslt/.libs/libexslt.a -lz -lm -lpthread" -+ LIBXSLT_LIBS="$withval/libxslt/.libs/libxslt.so $withval/libexslt/.libs/libexslt.so -lz -lm -lpthread" - LIBXSLT_CFLAGS="-I$withval/libxslt -I$withval/libexslt -I$withval" - ) - -@@ -236,7 +236,7 @@ dnl Set LIBXML libraries location - dnl - if test "x$LIBXML_LIBS" = "x" - then -- LIBXML_LIBS="${LIBXML_PREFIX}/lib/libxml2.a -lz -lm -lpthread -ldl" -+ LIBXML_LIBS="${LIBXML_PREFIX}/lib/libxml2.so -lz -lm -lpthread -ldl" - fi - - dnl -@@ -252,7 +252,7 @@ dnl Set LIBXSLT libraries location - dnl - if test "x$LIBXSLT_LIBS" = "x" - then -- LIBXSLT_LIBS="${LIBXSLT_PREFIX}/lib/libxslt.a ${LIBXSLT_PREFIX}/lib/libexslt.a -lz -lm -lpthread" -+ LIBXSLT_LIBS="${LIBXSLT_PREFIX}/lib/libxslt.so ${LIBXSLT_PREFIX}/lib/libexslt.so -lz -lm -lpthread" - fi - - dnl diff --git a/patches/xmlstarlet-1.0.1/0004-xmlstarlet-link-against-shared-instead-of-static-lib.patch b/patches/xmlstarlet-1.0.1/0004-xmlstarlet-link-against-shared-instead-of-static-lib.patch new file mode 100644 index 000000000..fb77ecd6d --- /dev/null +++ b/patches/xmlstarlet-1.0.1/0004-xmlstarlet-link-against-shared-instead-of-static-lib.patch @@ -0,0 +1,95 @@ +From: Michael Olbrich +Date: Fri, 1 Mar 2019 15:11:36 +0100 +Subject: [PATCH] xmlstarlet: link against shared instead of static libs + +xmlstarlet links against libxml2 and libexslt statically. The configure +script does not check for the dependencies. This fails if libexslt links +agains libgcrypt or if libxml2 does _not_ link against zlib (then zlib +may not be available at all). + +This patch changes the configure script so that all libs are linked +dynamically. The linker can infer their respective dependencies from the +ELF header in the .so files. + +For ptxdist this is ok. We install the libs already. Not for upstream. + +Signed-off-by: Michael Olbrich +Forwarded: not-needed +[rhi: also remove now unneeded -l flags and adapt patch description] +Signed-off-by: Roland Hieber +--- + configure.in | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/configure.in b/configure.in +index 856a451cac7f..e1c99ba07c81 100644 +--- a/configure.in ++++ b/configure.in +@@ -31,7 +31,7 @@ AC_ARG_WITH(libxml-prefix, + [ --with-libxml-prefix=[PFX] Specify location of libxml], + LIBXML_PREFIX=$withval + LIBXML_CFLAGS="-I$withval/include/libxml2 -I$withval/include/libxml" +- LIBXML_LIBS="$withval/lib/libxml2.a -lz -lm -lpthread -ldl" ++ LIBXML_LIBS="$withval/lib/libxml2.so" + ) + + AC_ARG_WITH(libxml-include-prefix, +@@ -41,13 +41,13 @@ AC_ARG_WITH(libxml-include-prefix, + + AC_ARG_WITH(libxml-libs-prefix, + [ --with-libxml-libs-prefix=[PFX] Specify location of libxml libs], +- LIBXML_LIBS="$withval/libxml2.a -lz -lm -lpthread -ldl" ++ LIBXML_LIBS="$withval/libxml2.so" + ) + + AC_ARG_WITH(libxml-src, + [ --with-libxml-src=[DIR] For libxml thats not installed yet (sets all three above)], + LIBXML_SRC="$withval" +- LIBXML_LIBS="$withval/.libs/libxml2.a -lz -lm -lpthread" ++ LIBXML_LIBS="$withval/.libs/libxml2.so" + LIBXML_CFLAGS="-I$withval/include/libxml2 -I$withval/include/libxml -I$withval/include" + ) + +@@ -74,7 +74,7 @@ AC_ARG_WITH(libxslt-prefix, + [ --with-libxslt-prefix=[PFX] Specify location of libxslt], + LIBXSLT_PREFIX=$withval + LIBXSLT_CFLAGS="-I$withval/include/libxslt -I$withval/include/libexslt" +- LIBXSLT_LIBS="$withval/lib/libxslt.a $withval/lib/libexslt.a -lz -lm -lpthread" ++ LIBXSLT_LIBS="$withval/lib/libxslt.so $withval/lib/libexslt.so" + ) + + AC_ARG_WITH(libxslt-include-prefix, +@@ -84,13 +84,13 @@ AC_ARG_WITH(libxslt-include-prefix, + + AC_ARG_WITH(libxslt-libs-prefix, + [ --with-libxslt-libs-prefix=[PFX] Specify location of libxslt libs], +- LIBXSLT_LIBS="$withval/libxslt.a $withval/libexslt.a -lz -lm -lpthread" ++ LIBXSLT_LIBS="$withval/libxslt.so $withval/libexslt.so" + ) + + AC_ARG_WITH(libxslt-src, + [ --with-libxslt-src=[DIR] For libxslt thats not installed yet (sets all three above)], + LIBXSLT_SRC="$withval" +- LIBXSLT_LIBS="$withval/libxslt/.libs/libxslt.a $withval/libexslt/.libs/libexslt.a -lz -lm -lpthread" ++ LIBXSLT_LIBS="$withval/libxslt/.libs/libxslt.so $withval/libexslt/.libs/libexslt.so" + LIBXSLT_CFLAGS="-I$withval/libxslt -I$withval/libexslt -I$withval" + ) + +@@ -236,7 +236,7 @@ dnl Set LIBXML libraries location + dnl + if test "x$LIBXML_LIBS" = "x" + then +- LIBXML_LIBS="${LIBXML_PREFIX}/lib/libxml2.a -lz -lm -lpthread -ldl" ++ LIBXML_LIBS="${LIBXML_PREFIX}/lib/libxml2.so" + fi + + dnl +@@ -252,7 +252,7 @@ dnl Set LIBXSLT libraries location + dnl + if test "x$LIBXSLT_LIBS" = "x" + then +- LIBXSLT_LIBS="${LIBXSLT_PREFIX}/lib/libxslt.a ${LIBXSLT_PREFIX}/lib/libexslt.a -lz -lm -lpthread" ++ LIBXSLT_LIBS="${LIBXSLT_PREFIX}/lib/libxslt.so ${LIBXSLT_PREFIX}/lib/libexslt.so" + fi + + dnl diff --git a/patches/xmlstarlet-1.0.1/series b/patches/xmlstarlet-1.0.1/series index c6360809b..c6606cb04 100644 --- a/patches/xmlstarlet-1.0.1/series +++ b/patches/xmlstarlet-1.0.1/series @@ -3,5 +3,5 @@ 0001-xmlstarlet-use-debug-functions-only-if-libxml2-has-d.patch 0002-xmlstarlet-fix-semicolon-in-wrong-place.patch 0003-xmlstarlet-bail-out-if-no-dtd-parsing-support-in-lib.patch -0004-xmlstarlet-fix-linking.patch -# 5ce4c70ec2f7f73bf4105b9adcc9682e - git-ptx-patches magic +0004-xmlstarlet-link-against-shared-instead-of-static-lib.patch +# 338410071307078bc0758338bee4bf1c - git-ptx-patches magic -- cgit v1.2.3