All of lore.kernel.org
 help / color / mirror / Atom feed
* do_populate_sysroot: Function failed: relocatable_binaries_preprocess
@ 2017-01-23 16:44 Paul Gortmaker
  2017-01-23 16:48 ` Mark Hatle
  2017-01-23 17:53 ` Richard Purdie
  0 siblings, 2 replies; 3+ messages in thread
From: Paul Gortmaker @ 2017-01-23 16:44 UTC (permalink / raw)
  To: openembedded-core

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

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.




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: do_populate_sysroot: Function failed: relocatable_binaries_preprocess
  2017-01-23 16:44 do_populate_sysroot: Function failed: relocatable_binaries_preprocess Paul Gortmaker
@ 2017-01-23 16:48 ` Mark Hatle
  2017-01-23 17:53 ` Richard Purdie
  1 sibling, 0 replies; 3+ messages in thread
From: Mark Hatle @ 2017-01-23 16:48 UTC (permalink / raw)
  To: Paul Gortmaker, openembedded-core

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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: do_populate_sysroot: Function failed: relocatable_binaries_preprocess
  2017-01-23 16:44 do_populate_sysroot: Function failed: relocatable_binaries_preprocess Paul Gortmaker
  2017-01-23 16:48 ` Mark Hatle
@ 2017-01-23 17:53 ` Richard Purdie
  1 sibling, 0 replies; 3+ messages in thread
From: Richard Purdie @ 2017-01-23 17:53 UTC (permalink / raw)
  To: Paul Gortmaker, openembedded-core

On Mon, 2017-01-23 at 11:44 -0500, 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

To follow up we've figured out this is the error you see if you take an
existing build directory, pre recipe specific sysroot and then update
to post recipe specific sysroot.

It seems that pseudo-native, openssl-native and subversion-native have
issues where you can pass in new configuration but they don't recompile
the binaries, despite those binaries depending on the paths you pass
in.

We're seeing how widespread the problem is before deciding exactly how
to handle this. It might be a case of some PR bumps, obvioulsy wiping
TMPDIR is the comprehensive solution.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-23 17:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-23 16:44 do_populate_sysroot: Function failed: relocatable_binaries_preprocess Paul Gortmaker
2017-01-23 16:48 ` Mark Hatle
2017-01-23 17:53 ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.