[OE-core] do_populate_sysroot: Function failed: relocatable_binaries_preprocess

Mark Hatle mark.hatle at windriver.com
Mon Jan 23 16:48:26 UTC 2017


On 1/23/17 10:44 AM, Paul Gortmaker wrote:
> After updating this morning (everything on master, re-using the existing
> build dir that was built OK within the last 48h) I saw this:
> 
> ERROR: pseudo-native-1.8.1-r0 do_populate_sysroot: pseudo-native: chrpath command failed with exit code 7:
> b'/home/paul/poky/build/tmp/work/x86_64-linux/pseudo-native/1.8.1-r0/sysroot-destdir/home/paul/poky/build/tmp/work/x86_64-linux/pseudo-native/1.8.1-r0/recipe-sysroot-native/usr/bin/pseudodb:
> RPATH=/home/paul/poky/build/tmp/sysroots/x86_64-linux/usr/lib:/home/paul/poky/build/tmp/sysroots/x86_64-linux/lib\n'b"new
> rpath
> '$ORIGIN/../../../../../../../sysroots/x86_64-linux/usr/lib:$ORIGIN/../../../../../../../sysroots/x86_64-linux/lib' too large; maximum length 107\n"
> ERROR: pseudo-native-1.8.1-r0 do_populate_sysroot: Function failed: relocatable_binaries_preprocess
> ERROR: Logfile of failure stored in: /home/paul/poky/build/tmp/work/x86_64-linux/pseudo-native/1.8.1-r0/temp/log.do_populate_sysroot.11

Looking at it, the error from chrpath is easy to explain.  The original RPATH
value is shorted then the new RPATH value that was calculated.

i.e.:
/home/paul/poky/build/tmp/sysroots/x86_64-linux/usr/lib

vs

$ORIGIN/../../../../../../../sysroots/x86_64-linux/usr/lib

So the system errors because it would overflow the buffer inside of the ELF object.

What is strange is this issue is new.  It means something has changed in the
origin processing of native packages over the weekend.

I'm wondering if this has something to do with the new recipe specific sysroot.

It should hopefully be easy to _workaround_ this issue, by having the build
directory in a deeper path  (something with more characters in it.)

But this is a big enough program we're going to have to figure out how to solve it.

--Mark

> I did a cleansstate on that and then it was fine but then openssl died
> in the same way:
> 
> ERROR: openssl-native-1.0.2j-r0 do_populate_sysroot: openssl-native: chrpath command failed with exit code 7:
> b'/home/paul/poky/build/tmp/work/x86_64-linux/openssl-native/1.0.2j-r0/sysroot-destdir/home/paul/poky/build/tmp/work/x86_64-linux/openssl-native/1.0.2j-r0/recipe-sysroot-native/usr/lib/libssl.so.1.0.0: RPATH=/home/paul/poky/build/tmp/sysroots/x86_64-linux/usr/lib:/home/paul/poky/build/tmp/sysroots/x86_64-linux/lib\n'b"new rpath '$ORIGIN/../../../../../../../sysroots/x86_64-linux/usr/lib:$ORIGIN/../../../../../../../sysroots/x86_64-linux/lib' too large; maximum length 107\n"
> ERROR: openssl-native-1.0.2j-r0 do_populate_sysroot: Function failed: relocatable_binaries_preprocess
> ERROR: Logfile of failure stored in: /home/paul/poky/build/tmp/work/x86_64-linux/openssl-native/1.0.2j-r0/temp/log.do_populate_sysroot.7182
> ERROR: Task (virtual:native:/home/paul/poky/meta/recipes-connectivity/openssl/openssl_1.0.2j.bb:do_populate_sysroot) failed with exit code '1'
> 
> I mentioned it to Mark and he suggested I should mention it here.
> 
> P.
> 
> 




More information about the Openembedded-core mailing list