[OE-core] [PATCH v6] libtool: fix resolve of lt_sysroot
Hans Beckerus
hans.beckerus at gmail.com
Sun Sep 15 20:46:26 UTC 2013
My world build passed without errors (besides a lot of missing or unbuildable dependency chains and one or two that failed to download completely). I believe this is about all the testing I can do from my end, especially considering my limited computer power.
Thanks.
Hans
On 2013-09-14 11:01, Hans Beckerus wrote:
> This patch updates libtool.m4 (and its output) to resolve a problem
> with variable 'lt_sysroot' not being properly updated if the option
> '--with[-libtool]-sysroot' is not provided when running the 'configure'
> script for a package.
>
> According to the help text ouput from 'configure':
> --with-libtool-sysroot=DIR Search for dependent libraries within DIR
> (or the compiler's sysrooot if not specified).
>
> Due to mixed up cases in a switch statement, when checking if the option
> was specified or not, wrong actions were taken resulting in an incorrect
> sysroot and failures to properly locate e.g. .la files when using the
> populated SDK toolchain.
>
> For current upstream status see:
> http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html
>
> Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com>
> ---
> Changes since v5:
> * Fixes a precedence issue in the switch case
> ---
> meta/recipes-devtools/libtool/libtool-2.4.2.inc | 1 +
> .../libtool/libtool/fix-resolve-lt-sysroot.patch | 41 ++++++++++++++++++++
> 2 files changed, 42 insertions(+)
> create mode 100644 meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch
>
> diff --git a/meta/recipes-devtools/libtool/libtool-2.4.2.inc b/meta/recipes-devtools/libtool/libtool-2.4.2.inc
> index bb4ddf0..92e4949 100644
> --- a/meta/recipes-devtools/libtool/libtool-2.4.2.inc
> +++ b/meta/recipes-devtools/libtool/libtool-2.4.2.inc
> @@ -20,6 +20,7 @@ SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
> file://respect-fstack-protector.patch \
> file://norm-rpath.patch \
> file://dont-depend-on-help2man.patch \
> + file://fix-resolve-lt-sysroot.patch \
> "
>
> SRC_URI[md5sum] = "d2f3b7d4627e69e13514a40e72a24d50"
> diff --git a/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch b/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch
> new file mode 100644
> index 0000000..44e9fe1
> --- /dev/null
> +++ b/meta/recipes-devtools/libtool/libtool/fix-resolve-lt-sysroot.patch
> @@ -0,0 +1,41 @@
> +Upstream-Status: Pending
> +
> +This patch updates libtool.m4 (and its output) to resolve a problem
> +with variable 'lt_sysroot' not being properly updated if the option
> +'--with[-libtool]-sysroot' is not provided when running the 'configure'
> +script for a package.
> +
> +I have also reported the problem to libtool here
> +
> +http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html
> +
> +Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com>
> +---
> +diff -ur libtool-2.4.2.orig/libltdl/m4/libtool.m4 libtool-2.4.2/libltdl/m4/libtool.m4
> +--- libtool-2.4.2.orig/libltdl/m4/libtool.m4 2013-09-13 22:37:43.647282945 +0200
> ++++ libtool-2.4.2/libltdl/m4/libtool.m4 2013-09-14 10:27:37.168178605 +0200
> +@@ -1234,16 +1234,21 @@
> + dnl in case the user passed a directory name.
> + lt_sysroot=
> + case ${with_libtool_sysroot} in #(
> +- yes)
> ++ no)
> + if test "$GCC" = yes; then
> + lt_sysroot=`$CC --print-sysroot 2>/dev/null`
> ++ # Treat "/" the same a an unset sysroot. It seems to be more
> ++ # compatible across host platforms that way!?
> ++ if test "$lt_sysroot" = /; then
> ++ lt_sysroot=
> ++ fi
> + fi
> + ;; #(
> ++ yes|''|/)
> ++ ;; #(
> + /*)
> + lt_sysroot=`echo "$with_libtool_sysroot" | sed -e "$sed_quote_subst"`
> + ;; #(
> +- no|'')
> +- ;; #(
> + *)
> + AC_MSG_RESULT([${with_libtool_sysroot}])
> + AC_MSG_ERROR([The sysroot must be an absolute path.])
More information about the Openembedded-core
mailing list