Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 249173 - dev-ruby/ruby-opengl-0.60.0 - "ERROR: Failed to build gem native extension"
Summary: dev-ruby/ruby-opengl-0.60.0 - "ERROR: Failed to build gem native extension"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-28 16:10 UTC by William Arlofski
Modified: 2008-11-30 15:23 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description William Arlofski 2008-11-28 16:10:12 UTC
Additionally, I see "rake aborted! wrong number of arguments (2 of 3)



Reproducible: Always

Steps to Reproduce:
1. emerge ruby-opengl
2. <enter>
3. Fail

Actual Results:  
ruby-opengl-0.60.0 Fails to compile/emerge

>>> Emerging (1 of 1) dev-ruby/ruby-opengl-0.60.0
 * ruby-opengl-0.60.0.gem RMD160 SHA1 SHA256 size ;-) ...                [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/work ...
>>> Source compiled.
>>> Test phase [not enabled]: dev-ruby/ruby-opengl-0.60.0

>>> Install ruby-opengl-0.60.0 into /var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/ category dev-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing /var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/distdir/ruby-opengl-0.60.0:
        ERROR: Failed to build gem native extension.

rake RUBYARCHDIR=/var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8/gems/ruby-opengl-0.60.0/lib RUBYLIBDIR=/var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8
/gems/ruby-opengl-0.60.0/lib
(in /var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8/gems/ruby-opengl-0.60.0)
rake aborted!
wrong number of arguments (3 for 2)

(See full trace by running task with --trace)


Gem files will remain installed in /var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8/gems/ruby-opengl-0.60.0 for inspection.
Results logged to /var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8/gems/ruby-opengl-0.60.0/gem_make.out
 *
 * ERROR: dev-ruby/ruby-opengl-0.60.0 failed.
 * Call stack:
 * ebuild.sh, line   49:  Called src_install
 * environment, line 2340:  Called gems_src_install
 * environment, line 1359:  Called die
 * The specific snippet of code:
 * gem install ${GEM_SRC} --version ${PV} ${myconf} --local --install-dir "${D}/${GEMSDIR}" || die "gem install failed";
 * The die message:
 * gem install failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/temp/environment'.
 *

>>> Failed to emerge dev-ruby/ruby-opengl-0.60.0, Log file:

>>>  '/var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/temp/build.log'





Attempt with --trace as suggested:

ruby-opengl-0.60.0 # rake --trace RUBYARCHDIR=/var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8/gems/ruby-opengl-0.60.0/lib RUBYLIBDIR=/var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8/gems/ruby-opengl-0.60.0/lib
(in /var/tmp/portage/dev-ruby/ruby-opengl-0.60.0/image/usr/lib64/ruby/gems/1.8/gems/ruby-opengl-0.60.0)
** Invoke default (first_time)
** Invoke gl (first_time)
** Invoke ext/gl/Rakefile (first_time)
** Invoke ext/gl/mkrf_conf.rb (first_time, not_needed)
** Execute ext/gl/Rakefile
rake aborted!
wrong number of arguments (3 for 2)
/usr/lib64/ruby/site_ruby/1.8/rake.rb:725:in `fu_check_options'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:725:in `sh'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:812:in `sh'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:747:in `ruby'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:812:in `ruby'
/usr/lib64/ruby/gems/1.8/gems/mkrf-0.2.3/lib/mkrf/rakehelper.rb:14:in `mkrf_conf'
/usr/lib64/ruby/gems/1.8/gems/mkrf-0.2.3/lib/mkrf/rakehelper.rb:14:in `chdir'
/usr/lib64/ruby/gems/1.8/gems/mkrf-0.2.3/lib/mkrf/rakehelper.rb:14:in `mkrf_conf'
/usr/lib64/ruby/gems/1.8/gems/mkrf-0.2.3/lib/mkrf/rakehelper.rb:61:in `setup_extension'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:387:in `call'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:387:in `execute'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:387:in `each'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:387:in `execute'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:357:in `invoke'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:350:in `synchronize'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:350:in `invoke'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:364:in `invoke_prerequisites'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:999:in `each'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:999:in `send'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:999:in `each'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:363:in `invoke_prerequisites'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:356:in `invoke'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:350:in `synchronize'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:350:in `invoke'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:364:in `invoke_prerequisites'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:999:in `each'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:999:in `send'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:999:in `each'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:363:in `invoke_prerequisites'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:356:in `invoke'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:350:in `synchronize'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:350:in `invoke'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:1906:in `run'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:1906:in `each'
/usr/lib64/ruby/site_ruby/1.8/rake.rb:1906:in `run'
/usr/bin/rake:8




Expected Results:  
Successful compilation and installation of ruby-opengl-0.60.0

# emerge --info
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Portage 2.2_rc12 (default/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r2-SMP x86_64)
=================================================================
System uname: Linux-2.6.25-gentoo-r2-SMP-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_6000+-with-glibc2.2.5
Timestamp of tree: Sun, 09 Nov 2008 08:34:01 +0000
distcc 2.18.3 x86_64-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.4.4-r14, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.4.8
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe -fno-gcse"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/fax /usr/share/config /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=athlon64 -O2 -pipe -fno-gcse"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://newby.revpol.com/gentoo-portage"
USE="X a52 aac acl alsa amd64 apache2 arts avi berkdb bidi bzip2 cli cracklib crypt cups dbus divx4linux dri dvd dvdread faad ffmpeg flac foomaticdb fortran gdbm gif gpm gstreamer gtk hal iconv ieee1394 imlib ipv6 isdnlog jpeg kde kdeenablefinal ldap lm_sensors logrotate matroska midi mmx mozilla mpeg mplayer mudflap multilib ncurses nls nptl nptlonly nvidia ogg openmp pam pcre perl png postgres ppds pppd python qt readline reflection session spl sse sse2 ssl sysfs tcpd tiff truetype unicode usb vorbis wma wxwindows xine xorg xpm xv xvid zeroconf zlib" ALSA_CARDS="atiixp" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIRC_DEVICES="streamzap" USERLAND="GNU" VIDEO_CARDS="nvidia vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 William Arlofski 2008-11-28 17:22:25 UTC
Additionally, it was suggested in #gentoo-amd64 that I should explain that this does emerge fine on my x86 32bit laptop and post it's emerge --info.  Here is emerge --info from x86 32bit laptop where ruby-opengl-0.60.0 emerges fine:

$ emerge --info
Portage 2.2_rc14 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-tuxonice-r5 i686)
=================================================================
System uname: Linux-2.6.25-tuxonice-r5-i686-Intel-R-_Core-TM-2_CPU_T7200_@_2.00GHz-with-glibc2.0
Timestamp of tree: Sun, 16 Nov 2008 08:02:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.5.2-r8
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo http://gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.chem.wisc.edu/gentoo/ http://mirror.fslutd.org/linux/distributions/gentoo/ http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://newby.revpol.com/gentoo-portage"
USE="X a52 aac acl acpi alsa apache2 arts avi berkdb bidi bzip2 cli cracklib crypt cups dbus divx4linux dri dvd dvdread faad ffmpeg flac foomaticdb gdbm gif gpm gstreamer gtk hal iconv ieee1394 imlib ipv6 isdnlog jpeg kde kdeenablefinal ldap lm_sensors logrotate matroska midi mozilla mp3 mpeg mplayer mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre perl pmu png ppds pppd python qt readline reflection session spl ssl sysfs tcpd tiff truetype unicode usb vorbis win32codecs wma wxwindows x86 xine xorg xpm xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="i810 i830 i915"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Comment 2 Alex Legler (RETIRED) archtester gentoo-dev Security 2008-11-29 10:36:44 UTC
(In reply to comment #0)
> Additionally, I see "rake aborted! wrong number of arguments (2 of 3)

Technically, this _is_ the error.

>  * gem install ${GEM_SRC} --version ${PV} ${myconf} --local --install-dir
> "${D}/${GEMSDIR}" || die "gem install failed";
>  [...]
> Timestamp of tree: Sun, 09 Nov 2008 08:34:01 +0000

Please run `emerge --sync' since there is a new version of the gems.eclass. (Your x86 machine mentioned already has it)

Are the dev-ruby/rake and dev-ruby/rubygems versions on your amd64 and x86 machine the same?

Anyway, if you haven't already, please update to the very latest versions of rubygems (1.3.1) and rake (0.8.3) available and retry. Building succeeded for me on ~amd64 having these installed.
Comment 3 William Arlofski 2008-11-29 16:01:46 UTC
> please update to the very latest versions ofrubygems (1.3.1) and rake (0.8.3) 
> available and retry

Hmmm... my amd64 machine runs an "emerge --sync" every morning, but the latest available rubygems ebuild in its portage tree is 1.2.0.   I see on my local rsync server that there IS a 1.3.1 ebuild for rubygems so I am re-syncing the amd64 machine now and will try again

So, I guess it is just a matter of updating the rake and rubygems ebuilds since I see the following versions installed currently:

x86 laptop:
dev-ruby/rake-0.7.3
dev-ruby/rubygems-1.2.0

amd64 workstation:
dev-ruby/rake-0.7.1
dev-ruby/rubygems-1.2.0


-- time passes... 
-- emerge --sync performed on both machines...
-- rubygems and rake both updated to recommended versions (1.1.3 and
   0.8.3 respectively)
-- retry emerge ruby-opengl on amd64 machine

*** SUCCESS ***

Thank you kindly.   Apologies for not making sure everything was up-to-date before posting a bug.



Comment 4 Hans de Graaff gentoo-dev Security 2008-11-30 15:23:24 UTC
I guess the dependency in ruby-opengl is probably not correct and that it needs a newer version than it advertizes in its dependencies. Based on your evidence I'm going to require at least rake 0.7.3.

Thanks for the report.