[yocto] yocto build ruby-augeas gem

Ollie ollie88r at gmail.com
Tue Jan 29 05:42:35 PST 2019


Hello,

Can anyone please help with install issues when building the
ruby-augeas gem? Seems to be a cross compiler error.

Build error:
...
| Building native extensions.  This could take a while...
| ERROR:  Error installing ruby-augeas-0.5.0.gem:
| ERROR: Failed to build gem native extension.
|
|     current directory:
...build/arago-tmp/work/armv7ahf-neon-poky-linux-gnueabi/ruby-augeas/0.5.0-r0/image/usr/lib/ruby/gems/2.4.0/gems/ruby-augeas-0.5.0/ext/augeas
| ...build/arago-tmp/work/armv7ahf-neon-poky-linux-gnueabi/ruby-augeas/0.5.0-r0/recipe-sysroot-native/usr/bin/ruby
-r ./siteconf20190129-83521-qp9ixi.rb extconf.rb
| *** extconf.rb failed ***
| Could not create Makefile due to some reason, probably lack of necessary
| libraries and/or headers.  Check the mkmf.log file for more details.  You may
| need configuration options.
|
| Provided configuration options:
| --with-opt-dir
| --without-opt-dir
| --with-opt-include
| --without-opt-include=${opt-dir}/include
| --with-opt-lib
| --without-opt-lib=${opt-dir}/lib
| --with-make-prog
| --without-make-prog
| --srcdir=.
| --curdir
| --ruby=.../build/arago-tmp/work/armv7ahf-neon-poky-linux-gnueabi/ruby-augeas/0.5.0-r0/recipe-sysroot-native/usr/bin/$(RUBY_BASE_NAME)
| --with-augeas-config
| --without-augeas-config
| --with-pkg-config
| --without-pkg-config
| extconf.rb:27:in `<main>': augeas-devel not installed (RuntimeError)
|
| To see why this extension failed to compile, please check the
mkmf.log which can be found here:

Abbreviated output of mkmf.log:

"pkg-config --exists augeas"
| pkg-config --libs augeas
=> "-laugeas\n"
...
build/arago-tmp/work/armv7ahf-neon-poky-linux-gnueabi/ruby-augeas/0.5.0-r0/recipe-sysroot-native/lib
-Wl,-O1 -fstack-protector -rdynamic -Wl,-export-dynamic     -lruby
-laugeas -lpthread -ldl -lcrypt -lm   -lc"
...build/arago-tmp/hosttools/ld: cannot find -laugeas
collect2: error: ld returned 1 exit status
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return 0;
6: }
/* end */

package configuration for augeas is not found

And the recipe:

SUMMARY = "Shadow Password Module"
HOMEPAGE = "http://download.augeas.net/ruby"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=bbb461211a33b134d42ed5ee802b37ff"

SRC_URI = "http://download.augeas.net/ruby/ruby-augeas-${PV}.tgz \
    file://add_ruby_augeas_gemspec.patch \
"
SRCREV = "4231a4838fd50022b112838f114ee0586e119605"

SRC_URI[md5sum] = "a132eace43ce13ccd059e22c0b1188ac"
SRC_URI[sha256sum] =
"b82189dcc5cfa18ffaf906f1c5d57e4c3a06054d84100a0699d15fe7d92d9be1"

S = "${WORKDIR}/ruby-augeas-${PV}"

inherit ruby

DEPENDS += " \
        ruby \
        augeas \
"

RDEPENDS_${PN} += " \
        ruby \
   "

RUBY_INSTALL_GEMS = "ruby-augeas-${PV}.gem"

do_compile_prepend() {
   cp ${S}/ext/augeas/extconf.rb ${S}
}

I have also installed the ruby class cross compile patch:
https://lists.yoctoproject.org/pipermail/meta-virtualization/2016-January/001685.html
This patch looks for the extconf.rb file in the root directory, hence
the do_compile_prepend in the recipe.

Thanks in advance


More information about the yocto mailing list