AnsweredAssumed Answered

P4080DS Ltib first time build error  -- with solution

Question asked by Tianrui Ren on Mar 18, 2010
Latest reply on Jun 25, 2012 by Linh Nguyen

Hello all,

 

We are using the p4080 sdk, version beta 2.01.

After install the sdk to /p4080, we ran the ./ltib command, after the build ran for half an hour, it exit with error.

 

===================================

Processing: u-boot-p4080

 

Error: /p4080sdk/ltib-e500mc-20091218//rpm/RPMS/ppc/u-boot-2009.06-14.ppc.rpm would clobber '/p4080sdk/ltib-e500mc-20091218/rootfs/boot'

 

traceback:

 main::check_host_clobber:2671

   main::build_rpm:906

     main::f_buildrpms:980

       main:560

===================================

 

Finally, we found the error reason as below:

 

In ltib, the below 3 lines is the error occured location.

[2671]  if( $path !~ m,^(?:/opt|/tmp|/home|$cf->{rfsbase}), ) {
[2672]            die("ERROR: $rpm\nwould clobber '$path'\n");
[2673]        }

 

We modify the ltib script to print out the $cf->{rfsbase}  and $path,

$cf->{rfsbase}     /p4080sdk/ltib-e500mc-20091218//rootfs

$path                    /p4080sdk/ltib-e500mc-20091218/rootfs/boot

 

We found that the $cf->{rfsbase} has one more '/' in the output string.

This is the root cause which make the check_host_clobber exit with error.

 

The $cf->{rfsbase} is defined in line 508 of ltib script.

[508 ] $cf->{rpmroot} = $cf->{rfsbase} = "$cf->{bldbase}/rootfs";

 

After modify this statement to

[508' ] $cf->{rpmroot} = $cf->{rfsbase} = "$cf->{bldbase}" . "rootfs";

We get the correct $cf->{rfsbase}  output as below

$cf->{rfsbase}     /p4080sdk/ltib-e500mc-20091218/rootfs

 

After the ltib update, We re-ran the ./ltib script.

"Build Succeded"

 

 

Thanks for my colleague huaiguang for the perl support. :smileyvery-happy:

Outcomes