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