From: akuster808 <akuster808@gmail.com>
To: eduardo@monkey.io
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-ruby] problems building Gem that contains C code
Date: Thu, 14 May 2015 13:53:28 -0700 [thread overview]
Message-ID: <55550B48.6050505@gmail.com> (raw)
In-Reply-To: <CAEaCVQjMD+ZV3m5tv4M6B2eFTvceemTs7nOBgKAh_XDUt3O9jQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2176 bytes --]
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, 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,
>
[-- Attachment #2: 0001-ruby-fix-sysroot-issue.patch --]
[-- Type: text/x-patch, Size: 1112 bytes --]
From 7c2ccc0218c08751b143b5167ab83a83b985d034 Mon Sep 17 00:00:00 2001
From: Armin Kuster <akuster808@gmail.com>
Date: Thu, 14 May 2015 13:02:35 -0700
Subject: [PATCH] ruby: fix sysroot issue
The --sysroot=/ is set to the host path, when using ruby on a target
machine.
This only becomes a problem with compiling native support using gems.
thanks to Robert Bevan
Signed-off-by: Armin Kuster <akuster808@gmail.com>
---
meta-ruby/recipes-devtools/ruby/ruby_2.2.2.bb | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/meta-ruby/recipes-devtools/ruby/ruby_2.2.2.bb b/meta-ruby/recipes-devtools/ruby/ruby_2.2.2.bb
index 78c943c..2bf0a00 100644
--- a/meta-ruby/recipes-devtools/ruby/ruby_2.2.2.bb
+++ b/meta-ruby/recipes-devtools/ruby/ruby_2.2.2.bb
@@ -31,6 +31,12 @@ do_install() {
oe_runmake 'DESTDIR=${D}' install
}
+do_install_append () {
+if [ "${PN}" != "ruby-native" ]; then
+ sed -i "s/sysroot=[0-9a-z\/\-]*/sysroot=\//g" ${D}/usr/lib/ruby/*/*/rbconfig.rb
+fi
+}
+
FILES_${PN} += "${datadir}/rubygems \
${datadir}/ri"
--
2.3.5
next prev parent reply other threads:[~2015-05-14 20:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-14 13:25 [meta-ruby] problems building Gem that contains C code Eduardo Silva
2015-05-14 20:53 ` akuster808 [this message]
2015-05-15 13:38 ` Eduardo Silva
2015-05-15 18:59 ` akuster808
2015-07-07 9:39 ` Michaël Burtin
2015-07-09 16:31 ` akuster808
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55550B48.6050505@gmail.com \
--to=akuster808@gmail.com \
--cc=eduardo@monkey.io \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox