[oe] [meta-ruby] problems building Gem that contains C code

akuster808 akuster808 at gmail.com
Thu Jul 9 16:31:02 UTC 2015


Michael,

very cool.  Thanks

- armin

On 07/07/2015 02:39 AM, Michaël Burtin wrote:
> Hi,
>
> We (at Voxtok Technologies) have written a bbclass to handle Gem
> compilation that we use to run rails applications on ARM platform.
> We exposed the class (together with ruby recipe and a collection of gem
> recipes) as an external layer in a Github repository [1].
> Unfortunately we didn't find enough time to upstream the patches as some
> part of the recipes might need to be rewritten (e.g. the ruby "make
> install-cross" related changes) but it seems stable enough to be shared.
> This should allow you to install gem in your image as well as installing
> gems at runtime, with native extension, supposing your image contains the
> dev libraries and tools.
>
> Regards,
> Michaël
>
> [1] https://github.com/voxtok/meta-oad-ruby
>
> Le ven. 15 mai 2015 à 21:00, akuster808 <akuster808 at gmail.com> a écrit :
>
>>
>>
>> On 05/15/2015 06:38 AM, Eduardo Silva wrote:
>>> Hi,
>>>
>>> thanks for the update. If I try that patch I get the following error
>>> when building Ruby:
>>>
>>> ERROR: Function failed: do_install (log file is located at
>>>
>> /home/edsiper/coding/poky/build/tmp/work/x86_64-linux/ruby-native/2.2.2-r0/temp/log.do_install.10344)
>>> ERROR: Logfile of failure stored in:
>>>
>> /home/edsiper/coding/poky/build/tmp/work/x86_64-linux/ruby-native/2.2.2-r0/temp/log.do_install.10344
>>> Log data follows:
>>> | DEBUG: Executing shell function do_install
>>> | NOTE: make -j 4 LIBRUBYARG=-lruby-static
>>>
>> DESTDIR=/home/edsiper/coding/poky/build/tmp/work/x86_64-linux/ruby-native/2.2.2-r0/image
>>> install
>>> | make: *** No rule to make target 'install'.  Stop.
>>> | ERROR: oe_runmake failed
>>> | WARNING:
>>>
>> /home/edsiper/coding/poky/build/tmp/work/x86_64-linux/ruby-native/2.2.2-r0/temp/run.do_install.10344:1
>>> exit 1 from
>>> |   exit 1
>>> | ERROR: Function failed: do_install (log file is located at
>>>
>> /home/edsiper/coding/poky/build/tmp/work/x86_64-linux/ruby-native/2.2.2-r0/temp/log.do_install.10344)
>>> ERROR: Task 111
>>>
>> (virtual:native:/home/edsiper/coding/meta-openembedded/meta-ruby/recipes-devtools/ruby/
>> ruby_2.2.2.bb
>>> <http://ruby_2.2.2.bb>, do_install) failed with exit code '1'
>>> NOTE: Tasks Summary: Attempted 672 tasks of which 671 didn't need to be
>>> rerun and 1 failed.
>>> No currently running tasks (565 of 682)
>>
>> Hmm, weird.  let me poke at it.
>>
>> - armin
>>>
>>> regards,
>>>
>>>
>>> On Thu, May 14, 2015 at 2:53 PM, akuster808 <akuster808 at gmail.com
>>> <mailto:akuster808 at gmail.com>> wrote:
>>>
>>>      Eduardo,
>>>
>>>      I think one issue is --sysroot is using the host path that might be
>>>      contributing to the Arch mismatch message. I have a patch that I
>>>      have not submitted, yet.
>>>
>>>      Regarding the .debug, you might need to add
>>>
>>>      FILE_${PN}-dbg +=
>>>      "/usr/lib/ruby/gems/2.2.0/gems/msgpack-0.5.11/lib/msgpack/.debug"
>>>
>>>
>>>      It you could try the patch I have attached and let me know if it
>> helps.
>>>
>>>      regards,
>>>      Armin
>>>
>>>
>>>      On 05/14/2015 06:25 AM, Eduardo Silva wrote:
>>>
>>>          Hi,
>>>
>>>          I am packaging a Ruby gem that also contains C code:
>>>
>>>          http://github.com/msgpack/msgpack-ruby
>>>
>>>          but when building it raise many QA issues about linking to 64
>>>          bits version,
>>>          my target is "i586-poky-linux":
>>>
>>>          ERROR: QA Issue: Architecture did not match (3 to 62) on
>>>
>>   /work/i586-poky-linux/ruby-msgpack/0.5.11-r0/packages-split/ruby-msgpack-dbg/usr/lib/ruby/gems/2.2.0/gems/msgpack-0.5.11/lib/msgpack/.debug/msgpack.so
>>>          [arch]
>>>          ERROR: QA Issue: non debug package contains .debug directory:
>>>          ruby-msgpack
>>>          path
>>>
>>   /work/i586-poky-linux/ruby-msgpack/0.5.11-r0/packages-split/ruby-msgpack/usr/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0/msgpack-0.5.11/msgpack/.debug/msgpack.so
>>>          [debug-files]
>>>          ERROR: QA Issue: Architecture did not match (3 to 62) on
>>>
>>   /work/i586-poky-linux/ruby-msgpack/0.5.11-r0/packages-split/ruby-msgpack/usr/lib/ruby/gems/2.2.0/gems/msgpack-0.5.11/lib/msgpack/msgpack.so
>>>          [arch]
>>>          WARNING: QA Issue: ruby-msgpack requires libruby.so.2.2()(64bit),
>>>          libc.so.6(GLIBC_2.14)(64bit), libc.so.6(GLIBC_2.4)(64bit),
>>>          libc.so.6()(64bit), libc.so.6(GLIBC_2.2.5)(64bit), but no
>>>          providers in its
>>>          RDEPENDS [file-rdeps]
>>>          ERROR: QA run found fatal errors. Please consider fixing them.
>>>          ERROR: Function failed: do_package_qa
>>>          ERROR: Logfile of failure stored in:
>>>
>>   /home/edsiper/coding/poky/build/tmp/work/i586-poky-linux/ruby-msgpack/0.5.11-r0/temp/log.do_package_qa.7603
>>>          ERROR: Task 9
>>>
>>   (/home/edsiper/coding/poky/meta-fluentd/recipes-core/ruby-msgpack/
>>>          ruby-msgpack_git.bb <http://ruby-msgpack_git.bb>, do_package_qa)
>>>          failed with exit code '1'
>>>
>>>          would you please advice if some specific flag/setup is required
>>>          to build
>>>          Ruby gems that contains C code ?
>>>
>>>          thanks,
>>>
>>>
>>>
>>>
>>> --
>>> Eduardo Silva
>>> Monkey Software
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>



More information about the Openembedded-devel mailing list