[oe-commits] Hongxu Jia : adt_installer_internal:fix perl lib version mismatch

git at git.openembedded.org git at git.openembedded.org
Fri Jun 28 08:07:11 UTC 2013


Module: openembedded-core.git
Branch: master
Commit: 487d1fa7b79e89518494986461c157bace842613
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=487d1fa7b79e89518494986461c157bace842613

Author: Hongxu Jia <hongxu.jia at windriver.com>
Date:   Wed Jun 26 12:38:47 2013 +0800

adt_installer_internal:fix perl lib version mismatch

When run "autoreconf" in toolchain, there is an error if the host's perl's
version is not the same as the one in the SDK, the error says that the
executable perl mismatches the perl lib's version.

This is because most of the autotools' scripts use the "#!/usr/bin/perl -w"
which is host perl, but the gnu-configize uses "#! /usr/bin/env perl" which
invokes the perl wrapper in the SDK, and the wrapper will set the PERL5LIB to
the SDK which causes the mismatch. We can make all the perl scripts to use the
host perl or the SDK perl to fix this problem.

[YOCTO #4758]

Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 .../adt-installer/scripts/adt_installer_internal   |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
index 25c955a..16677e7 100755
--- a/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
+++ b/meta/recipes-devtools/installer/adt-installer/scripts/adt_installer_internal
@@ -220,6 +220,13 @@ for l in $(find $NATIVE_INSTALL_DIR -type l); do
     $SUDO ln -sfn $(readlink $l|sed -e "s:$DEFAULT_INSTALL_FOLDER:$NATIVE_INSTALL_DIR:") $l
 done
 
+# find out all perl scripts in $OECORE_NATIVE_SYSROOT and modify them
+# replacing the host perl with SDK perl.
+for perl_script in $($SUDO grep -m 1 "^#!.*perl" -rl $OECORE_NATIVE_SYSROOT); do
+    $SUDO sed -i -e "s:^#! */usr/bin/perl.*:#! /usr/bin/env perl:g" -e \
+        "s: /usr/bin/perl: /usr/bin/env perl:g" $perl_script
+done
+
 echo_info "\nSuccessfully installed selected native ADT!"
 }
 



More information about the Openembedded-commits mailing list