Bug 4758 - adt_installer: perl lib version doesn't match perl script on Ubuntu-13.04
Summary: adt_installer: perl lib version doesn't match perl script on Ubuntu-13.04
Status: RESOLVED FIXED
Alias: None
Product: ADT
Classification: Yocto Project Subprojects
Component: adt (show other bugs)
Version: 1.5
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.5 M2
Assignee: Hongxu Jia
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-06-21 07:43 UTC by Hongxu Jia
Modified: 2013-06-29 05:29 UTC (History)
12 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hongxu Jia 2013-06-21 07:43:21 UTC
Build Configuration:
BB_VERSION        = "1.19.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-13.04"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "qemux86"
DISTRO            = "poky"
DISTRO_VERSION    = "1.4+snapshot-20130620"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "hongxu-0620-adt:e04e6dab0afa8f72bf001b0cc106cd13b7694a91"

* Problem
Steps:
1) build adt-installer and extract

2) modify adt_installer.conf, config a valid YOCTOADT_REPO, and modify
opkg/conf, config a valid src url. The valid src url is:
http://adtrepo-dev.yoctoproject.org/1.4+snapshot-4ecdc62a74cb4b5d0431d783a
ab5ee266baf833d-stage/master_under_test/

3) run "./adt_installer" to install the adt to the default location.

4) when the installation finish, run "source /opt/poky/1.4+snapshot/envir
onment-setup-armv5te-poky-linux-gnueabi"

5) try to compile iptables-1.4.15. When run "autoreconf -fi", will get the
following errors:
...
Perl lib version (5.14.3) doesn't match executable '/opt/poky/1.4+snapshot
/sysroots/x86_64-pokysdk-linux/usr/bin/autom4te' version (v5.14.2) at /opt
/poky/1.4+snapshot/sysroots/x86_64-pokysdk-linux//usr/lib/perl/5.14.3/Con
fig.pm line 60.
...

6) The host's perl version is v5.14.2, sdk's perl version is v5.14.3

* Analysis
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.

* Solution
We can make all the perl scripts to use the host perl or the SDK perl to
fix this problem.

Similar issue has been fixed in populate_sdk_base:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=aeb53bd78991af9fbb60d64176ec864cfc2ddbb9