<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>829</bug_id>
          
          <creation_ts>2011-03-09 00:06:45 +0000</creation_ts>
          <short_desc>perl @INC error when using sstate cache</short_desc>
          <delta_ts>2011-08-20 01:56:15 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>1.0</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>1157</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>Can&apos;t be reproduced, will check it again by Aug 12</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kevin Tian">kevin.tian</reporter>
          <assigned_to name="Wenzong.Fan">wenzong.fan</assigned_to>
          <cc>liang.li2</cc>
    
    <cc>liangliang.wang</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>sgw</cc>
    
    <cc>yi.zhao</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>12401</commentid>
    <comment_count>0</comment_count>
    <who name="Kevin Tian">kevin.tian</who>
    <bug_when>2011-03-09 00:06:45 +0000</bug_when>
    <thetext>at least observed when building sgmlspl and git:

| Can&apos;t locate ExtUtils/Command.pm in @INC (@INC contains: /media/builds/master/demo-qemux86-0223/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.2 /media/builds/master/demo-qemux86-0223/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.2 /media/builds/master/demo-qemux86-0223/tmp/sysroots/x86_64-linux/usr/lib/perl/5.12.2 .).

This happens to the packages which use MakeMaker.pm to generate their Makefiles, which then extract perl binary to perl.real instead of perl wrapper:

PERL = /media/builds-0/demo-0309/tmp/sysroots/x86_64-linux/usr/bin/perl.real
FULLPERL = /media/builds-0/demo-0309/tmp/sysroots/x86_64-linux/usr/bin/perl.real

I&apos;m not familiar with perl, especially the MakeMaker.pm here. It&apos;s interesting how it extracts the perl.real instead of perl wrapper, which obviously breaks our sstate usage here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12429</commentid>
    <comment_count>1</comment_count>
    <who name="Kevin Tian">kevin.tian</who>
    <bug_when>2011-03-09 21:11:05 +0000</bug_when>
    <thetext>so does target perl itself.

btw, Nitin, when you look at this issue, make sure that the original build directory which generates sstate packages are removed or renamed. This is the way to expose this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13448</commentid>
    <comment_count>2</comment_count>
    <who name="Nitin Kamble">nitin.a.kamble</who>
    <bug_when>2011-04-27 12:17:44 +0000</bug_when>
    <thetext>Kevin,
 Can you give me steps to reproduce this bug?
Thanks,
nitin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13486</commentid>
    <comment_count>3</comment_count>
    <who name="Kevin Tian">kevin.tian</who>
    <bug_when>2011-04-28 17:48:12 +0000</bug_when>
    <thetext>a) make a full build in DIR1, and direct sstate output to SSTATE_DIR
b) remove or rename DIR1 to make sure old path not referenced any more
c) make a new build in DIR2, with sstate mirror pointing to earlier SSTATE_DIR

then you should be able to observe reported failures. the first thing you may want to figure out is why perl.real is used by MakeMaker.pm, when the wrapper perl script is expected which provides the necessary parameter to use @INC under DIR2. Because perl.real is used which is compiled from DIR1 and thus has inherit knowledge to set @INC to DIR1, the error occurs since DIR1 has been deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15610</commentid>
    <comment_count>4</comment_count>
    <who name="Wenzong.Fan">wenzong.fan</who>
    <bug_when>2011-08-20 01:56:15 +0000</bug_when>
    <thetext>This bug duplicate with 1157 which has been fixed.

*** This bug has been marked as a duplicate of bug 1157 ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>