Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 253790 - [ruby overlay] dev-ruby/ruby-glib2-0.18.1 compilation fails when ruby-1.9 is eselected or when there is no ruby-enterprise
Summary: [ruby overlay] dev-ruby/ruby-glib2-0.18.1 compilation fails when ruby-1.9 is ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-04 22:36 UTC by Mariusz Pękala
Modified: 2009-01-18 19:58 UTC (History)
0 users

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


Attachments
emerge log for ruby18 (dev-ruby:ruby-glib2-0.18.1:20090104-215937.log,62.95 KB, text/plain)
2009-01-04 22:41 UTC, Mariusz Pękala
Details
emerge log for ruby19 (dev-ruby:ruby-glib2-0.18.1:20090104-214537.log,4.01 KB, text/plain)
2009-01-04 22:43 UTC, Mariusz Pękala
Details
ruby-1.8.6_p287-r1 build log (build.log,35.13 KB, text/plain)
2009-01-16 12:29 UTC, Daniel T
Details
ruby-1.8.6_p287-r1 build enviroment file (environment,122.22 KB, text/plain)
2009-01-16 12:30 UTC, Daniel T
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mariusz Pękala 2009-01-04 22:36:17 UTC
emerge -v1 =dev-ruby/ruby-glib2-0.18.1 fails to compile in two cases:
1) if there is ruby19 selected as the current profile, and
2) if selected is ruby18 but there is no ruby-enterprise emerged.

In the first case the problem is similiar to bug 216367 :
  rbglib_iochannel.c: In function ‘ioc_set_line_term’:
  rbglib_iochannel.c:313: error: ‘struct RArray’ has no member named ‘ptr’

In the second case the compilation fails after successful compilation phase for ruby18, when entering compilation phase for rubyee:
 * Building for rubyee
/var/tmp/portage/dev-ruby/ruby-glib2-0.18.1/temp/environment: line 2033: /usr/bin/rubyee: No such file or directory

Bug 216367 has been fixed with setting USE_RUBY="ruby18".
These problems seem to be caused by having USE_RUBY="ruby18 rubyee" in the ebuild, and apparently ignoring the ruby18 part, while not ignoring rubyee part, when rubyee is not installed.


# eselect ruby list
Available Ruby profiles:
  [1]   ruby18 (with Rubygems) *
  [2]   ruby19 (with Rubygems)


Reproducible: Always

Steps to Reproduce:
1. activate ruby overlay (layman -a ruby, layman -S, emerge --regen)
2. unmask and emerge ruby 1.9.1_rc1
3. unmask and emerge (update) rubygems 1.3.1-r30
4. eselect ruby set ruby19
5. emerge -v1 =dev-ruby/ruby-glib2-0.18.1
(failure 1)
6. eselect ruby set ruby18
7. emerge -v1 =dev-ruby/ruby-glib2-0.18.1
(failure 2)
Actual Results:  
Failure 1:

rbglib_iochannel.c: In function ‘ioc_set_line_term’:
rbglib_iochannel.c:313: error: ‘struct RArray’ has no member named ‘ptr’
rbglib_iochannel.c:314: error: ‘struct RArray’ has no member named ‘ptr’
rbglib_iochannel.c:315: error: ‘struct RArray’ has no member named ‘ptr’
rbglib_iochannel.c: In function ‘ioc_write_unichar’:
rbglib_iochannel.c:438: error: ‘struct RArray’ has no member named ‘ptr’
rbglib_iochannel.c: In function ‘ioc_puts_ary’:
rbglib_iochannel.c:704: error: ‘struct RArray’ has no member named ‘len’
rbglib_iochannel.c:705: error: ‘struct RArray’ has no member named ‘ptr’
make[1]: *** [rbglib_iochannel.o] Błąd 1
make[1]: Opuszczenie katalogu `/var/tmp/portage/dev-ruby/ruby-glib2-0.18.1/work/ruby-gnome2-all-0.18.1/glib/src'
make: *** [all] Błąd 2
 *
 * ERROR: dev-ruby/ruby-glib2-0.18.1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2281:  Called ruby-gnome2_src_compile
 *             environment, line 2119:  Called die
 * The specific snippet of code:
 *       emake CC=${CC:-gcc} CXX=${CXX:-g++} || die "emake failed"

Failure 2:

install -c -m 0644 /var/tmp/p...
make[1]: Opuszczenie katalogu `/var/tmp/portage/dev-ruby/ruby-glib2-0.18.1/work/ruby-gnome2-all-0.18.1/glib/src'
 * Using rubyee
 * Unpacking for rubyee
>>> Unpacking ruby-gnome2-all-0.18.1.tar.gz to /var/tmp/portage/dev-ruby/ruby-glib2-0.18.1/work
 * Building for rubyee
/var/tmp/portage/dev-ruby/ruby-glib2-0.18.1/temp/environment: line 2033: /usr/bin/rubyee: Nie ma takiego pliku ani katalogu
 *
 * ERROR: dev-ruby/ruby-glib2-0.18.1 failed.
 * Call stack:
 *       misc-functions.sh, line  716:  Called install_qa_check
 *       misc-functions.sh, line   47:  Called prepall
 *             environment, line 2042:  Called src_compile
 *             environment, line 2282:  Called ruby-gnome2_src_compile
 *             environment, line 2119:  Called die
 * The specific snippet of code:
 *       ruby extconf.rb || die "extconf.rb failed";
 *  The die message:
 *   extconf.rb failed


Expected Results:  
The package should build cleanly (ideal case), automagically switching to ruby18 for the compilation time, and ignoring build phase for rubyee, detecting that it is not installed, or (if rubyee is really required) emerge it as a dependency.

Installed versions:
dev-lang/ruby
 1.8.6_p287-r1(1.8)(22:00:34 2008-12-10)
      (berkdb doc examples gdbm rubytests ssl threads -debug -emacs -ipv6 -socks5 -tk -xemacs)
 1.9.1_rc1(1.9)[1](20:49:39 2009-01-04)
      (berkdb doc examples gdbm rubytests ssl -debug -emacs -ipv6 -socks5 -tk -xemacs)

dev-ruby/rubygems
 1.3.1-r30!t[1](21:49:22 2009-01-04)(doc -server)

Overlay: [1] "ruby" /usr/portage/local/layman/ruby


cthulhu ~ # emerge --info
 * Overlay eclass overrides eclass from PORTDIR:
 *
 *   '/usr/portage/local/layman/ruby/eclass/gems.eclass'
 *
 * It is best to avoid overriding eclasses from PORTDIR because it will
 * trigger invalidation of cached ebuild metadata that is distributed with
 * the portage tree. If you must override eclasses from PORTDIR then you
 * are advised to add FEATURES="metadata-transfer" to /etc/make.conf and to
 * run `emerge --regen` after each time that you run `emerge --sync`. Set
 * PORTAGE_ECLASS_WARNING_ENABLE="0" in /etc/make.conf if you would like to
 * disable this warning.
Portage 2.2_rc20 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo-r7 i686)
=================================================================
System uname: Linux-2.6.27-gentoo-r7-i686-AMD_Athlon-tm-_XP_2400+-with-glibc2.0
Timestamp of tree: Sun, 04 Jan 2009 14:35:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.4.4-r14, 2.5.2-r7
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
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.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
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 /var/lib/hsqldb /var/qmail/alias /var/qmail/control"
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=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage-distfiles"
FEATURES="collision-protect distlocks fixpackages metadata-transfer parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="pl_PL.UTF-8"
LC_ALL="pl_PL.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="pl en ja"
MAKEOPTS="-j1"
PKGDIR="/usr/portage-packages"
PORTAGE_RSYNC_EXTRA_OPTS=" --exclude-from=/etc/portage/rsync_excludes --progress "
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"
PORTDIR_OVERLAY="/usr/portage/local/layman/armagetron /usr/portage/local/layman/ruby /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dfx 3dnow X Xaw3d a52 aac aalib acpi alsa apache2 arts audiofile bash-completion berkdb bidi bluetooth branding bzip2 cairo cdparanoia cdr chroot cjk cli cracklib crypt cups dbus dga djbfft doc dri dts dv dvb dvd dvdr dvdread eds emboss encode evo examples exif f77 faad fam ffmpeg firefox flac font-server foomaticdb fortran fpx gcj gd gdbm gif gimp gimpprint gmp gnome gnutls gphoto2 gpm graphviz gstreamer gtk gtkhtml hal hardenedphp iconv idn isdnlog jack java jbig jpeg junit kde kdeenablefinal lcms ldap libcaca libclamav libnotify mad maildir matroska md5sum midi mikmod mmx mng mp3 mpeg mudflap ncurses nls nptl nptlonly oav objc ogg openexr opengl openmp pam pcre pdf perl png portaudio postgres povray ppds pppd python qt3 qt3support qt4 quicktime readline reflection ruby samba scanner sdk sdl session skey slang smartcard source speex spell spl sqlite sse ssl startup-notification subversion svg svga sysfs tcltk tcpd tetex theora tiff timidity truetype unicode usb v4l vcd vorbis win32codecs wmf x86 xine xinerama xml xml2 xorg xprint xulrunner xv xvid yv12 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 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 joystick evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="pl en ja" USERLAND="GNU" VIDEO_CARDS="radeon vesa fbdev"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 1 Mariusz Pękala 2009-01-04 22:41:33 UTC
Created attachment 177417 [details]
emerge log for ruby18
Comment 2 Mariusz Pękala 2009-01-04 22:43:04 UTC
Created attachment 177418 [details]
emerge log for ruby19
Comment 3 Daniel T 2009-01-16 12:21:17 UTC
can't emerge ruby too:

 emerge -av ruby

....
 * Messages for package dev-lang/ruby-1.8.6_p287-r1:

 * 
 * ERROR: dev-lang/ruby-1.8.6_p287-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3109:  Called die
 * The specific snippet of code:
 *       emake EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
 *  The die message:
 *   emake 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-lang/ruby-1.8.6_p287-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/ruby-1.8.6_p287-r1/temp/environment'.
 * 


emerge --info
Portage 2.1.6.4 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.27-gentoo-r7 i686)
=================================================================
System uname: Linux-2.6.27-gentoo-r7-i686-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-glibc2.0
Timestamp of tree: Sun, 11 Jan 2009 10:30:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.6-r1
dev-lang/python:     2.4.4-r13, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/cmake:      2.4.6-r1
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
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.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer"
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/terminfo /etc/udev/rules.d"
CXXFLAGS=""
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://de-mirror.org/distro/gentoo/ ftp://ftp.spline.inf.fu-berlin.de/mirrors/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://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo fam firefox fortran gdbm gif gnome gpm gstreamer gtk gtk2 hal iconv ipv6 isdnlog jpeg jpeg2k kde ldap libnotify mad midi mikmod mmx mp3 mpeg mudflap ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection sdl session smp spell spl sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vorbis win32codecs x86 xcb xml xorg xulrunner xv 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" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

build log: see attachment

ebuild environment: see attachment
Comment 4 Daniel T 2009-01-16 12:29:14 UTC
Created attachment 178677 [details]
ruby-1.8.6_p287-r1 build log
Comment 5 Daniel T 2009-01-16 12:30:50 UTC
Created attachment 178679 [details]
ruby-1.8.6_p287-r1 build enviroment file
Comment 6 Alex Legler (RETIRED) archtester gentoo-dev Security 2009-01-16 12:44:11 UTC
(In reply to comment #3)
> can't emerge ruby too:
> 
Daniel, please, next time do a more elaborate search and pay attention to the subject of the bug you are posting to, as this does have _nothing_ to do with either Ruby 1.8 or then OpenSSL breakage. This saves us some trouble.

There is bug 254307, where your problem is already being dealt with.
Bottom line: Sync your tree and use ruby-1.8.6_p287-r4.
Comment 7 Daniel T 2009-01-16 12:51:39 UTC
sorry, i wasn't update.

found in http://bugs.gentoo.org/show_bug.cgi?id=254307 that ruby-1.8.6_p287-r4 is stable for x86...

sorry again


Comment 8 Alex Legler (RETIRED) archtester gentoo-dev Security 2009-01-18 19:58:49 UTC
Failure 1: The ebuilds in the overlay are updated. (and keyworded btw!)
Failure 2: The eclass now tests whether rubyee is installed or not.