All of lore.kernel.org
 help / color / mirror / Atom feed
* ruby-native problem (on dylan)
@ 2013-10-04  8:09 Nicolas Dechesne
  2013-10-04 10:09 ` Martin Jansa
  2013-11-04 15:43 ` Tobias Henkel
  0 siblings, 2 replies; 7+ messages in thread
From: Nicolas Dechesne @ 2013-10-04  8:09 UTC (permalink / raw)
  To: openembedded-devel, Martin Jansa, Paul Eggleton

hi,

we got some build failures in our autobuilders last night, which
seemed to be related to ruby-native. We use dylan, but I believe the
same problem is there in master/dora too.

The exact build error was in qtwebkit do_compile:

ruby /mnt/ci_build/workspace/project/branches/dylan/label/oe_persistent_cloud/machines/genericarmv7a/build/tmp/work/armv7ahf-vfp-neon-project-linux-gnueabi/qtwebkit/5.0.2-r0.0/qtwebkit-opensource-src-5.0.2/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb
/mnt/ci_build/workspace/project/branches/dylan/label/oe_persistent_cloud/machines/genericarmv7a/build/tmp/work/armv7ahf-vfp-neon-project-linux-gnueabi/qtwebkit/5.0.2-r0.0/qtwebkit-opensource-src-5.0.2/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
LLIntDesiredOffsets.h

<internal:gem_prelude>:1:in `require': cannot load such file --
rubygems.rb (LoadError)
from <internal:gem_prelude>:1:in `<compiled>'

Yesterday I had 'moved' our BUILDDIR location. However for every build, we:
 - delete the TMPDIR completely
 - reuse our sstate

The problem seems to be that 'ruby' has hard coded paths in the
binary. This is discussed in [1] or more at length in [2], and easy to
check:

$ strings tmp/sysroots/x86_64-linux/usr/bin/ruby | grep project
/work/project/build/tmp/sysroots/x86_64-linux/usr
/work/project/build/tmp/sysroots/x86_64-linux/usr/lib/ruby/site_ruby
/work/project/build/tmp/sysroots/x86_64-linux/usr/lib/ruby/site_ruby/x86_64-linux
/work/project/build/tmp/sysroots/x86_64-linux/usr/lib/ruby/vendor_ruby
/work/project/build/tmp/sysroots/x86_64-linux/usr/lib/ruby/vendor_ruby/x86_64-linux
/work/project/build/tmp/sysroots/x86_64-linux/usr/share/rubygems
/work/project/build/tmp/sysroots/x86_64-linux/usr/lib/ruby
/work/project/build/tmp/sysroots/x86_64-linux/usr/lib/ruby/x86_64-linux

So, the 'ruby' binary which was in the sstate, knew about the *old*
paths. When building today, ruby was pulled from sstate, but TMPDIR
has changed now, and the hardcoded paths no longer exists, leading to
the build failure.

I verified that the following 'solved' the build issue:
$ bitbake -c cleansstate ruby-native
$ bitbake ruby-native
$ bitbake qtwebkit

There seems to be a configure option, --enable-load-relative, after
using this option in ruby build, still ruby fails to start for the
same reason. I might have done something wrong, but i wanted to bring
it on the list, to see if anyone has a better solution, as it seems
like a big issue.

thanks

nicolas


[1] http://stackoverflow.com/questions/10221387/moving-ruby-installation-causes-it-to-not-function-how-to-get-around-this
[2] http://yehudakatz.com/2012/06/


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

end of thread, other threads:[~2013-11-04 15:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-04  8:09 ruby-native problem (on dylan) Nicolas Dechesne
2013-10-04 10:09 ` Martin Jansa
2013-10-04 11:57   ` Nicolas Dechesne
2013-10-04 13:22     ` Martin Jansa
2013-10-04 13:26       ` Nicolas Dechesne
2013-10-04 14:13         ` Martin Jansa
2013-11-04 15:43 ` Tobias Henkel

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.