[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