Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 417533 - dev-lang/rubinius-1.2.4.20110705 failed with configure errors
Summary: dev-lang/rubinius-1.2.4.20110705 failed with configure errors
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal with 3 votes (vote)
Assignee: Gentoo Ruby Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-25 23:41 UTC by Ulf
Modified: 2015-07-02 09:25 UTC (History)
5 users (show)

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


Attachments
The ebuild environment (enviroment.txt,87.20 KB, text/plain)
2012-05-25 23:41 UTC, Ulf
Details
rubinius-1.2.4.20110705-r1.ebuild (rubinius-1.2.4.20110705-r1.ebuild,2.36 KB, text/plain)
2012-09-11 11:26 UTC, Flo Gravo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ulf 2012-05-25 23:41:05 UTC
Created attachment 313059 [details]
The ebuild environment

emerge -av1 dev-lang/rubinius failed with error:
Emerging (1 of 1) dev-lang/rubinius-1.2.4.20110705
 * rubinius-1.2.4-20110705.tar.gz RMD160 SHA1 SHA256 size ;-) ...                                                                                                                                           [ ok ]
>>> Unpacking source...
>>> Unpacking rubinius-1.2.4-20110705.tar.gz to /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work
>>> Source unpacked in /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work
>>> Preparing source in /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4 ...
The directory /usr/lib64 already exists, installing to /usr/lib64/rubinius/1.2
Configuring LLVM...
  Checking for existing LLVM tree: not found.
  Checking for 'llvm-config': Unrecognized character \x7F; marked by <-- HERE after <-- HERE near column 1 at /usr/bin/llvm-config line 1.
./configure:554:in `%': too few arguments (ArgumentError)
	from ./configure:554:in `setup_config'
	from ./configure:536:in `setup_auto'
	from ./configure:747:in `process'
	from ./configure:965:in `run'
	from ./configure:1057
 * ERROR: dev-lang/rubinius-1.2.4.20110705 failed (configure phase):
 *   Configure failed
 * 
 * Call stack:
 *     ebuild.sh, line  85:  Called src_configure
 *   environment, line 2296:  Called die
 * The specific snippet of code:
 *       ./configure --skip-prebuilt --prefix /usr/$(get_libdir) --mandir /usr/share/man || die "Configure failed"
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/rubinius-1.2.4.20110705'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/rubinius-1.2.4.20110705'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4'
 * S: '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4'

>>> Failed to emerge dev-lang/rubinius-1.2.4.20110705, Log file:

>>>  '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/temp/build.log'

 * Messages for package dev-lang/rubinius-1.2.4.20110705:

 * ERROR: dev-lang/rubinius-1.2.4.20110705 failed (configure phase):
 *   Configure failed
 * 
 * Call stack:
 *     ebuild.sh, line  85:  Called src_configure
 *   environment, line 2296:  Called die
 * The specific snippet of code:
 *       ./configure --skip-prebuilt --prefix /usr/$(get_libdir) --mandir /usr/share/man || die "Configure failed"
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/rubinius-1.2.4.20110705'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/rubinius-1.2.4.20110705'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4'
 * S: '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4'





emerge --info '=dev-lang/rubinius-1.2.4.20110705':
Portage 2.1.10.63 (default/linux/amd64/10.0/no-multilib, gcc-4.6.3, glibc-2.15-r2, 3.3.5-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.3.5-gentoo-x86_64-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.1
Timestamp of tree: Fri, 25 May 2012 00:30:02 +0000
app-shells/bash:          4.2_p28
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.3-r2, 3.2.3-r1
dev-util/cmake:           2.8.8-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.10.1
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.5
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.1
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 3.4 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=corei7-avx -mtune=corei7-avx -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /usr/share/openvpn/easy-rsa"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=corei7-avx -mtune=corei7-avx -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de de_DE en"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
USE="64bit ; X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cdr cli consolekit cracklib crypt cups custom-optimization cxx dbus dmx dri dts dv dvdr eds embedded evo ffmpeg firefox flac fortran gdbm gdu gnome gnome-keyring gnutls gpm gsm gstreamer gtk gtk3 iconv ipv6 java lame live lm_sensors matroska mmx mmxext modules mp3 mudflap musepack nautilus ncurses nfs nls nptl nsplugin ogg openal openmp optimization pae pam pcre policykit pppd pulseaudio qt3support readline session speex sse sse2 sse3 sse4_1 ssl ssse3 startup-notification stream strong-optimization tcpd theora threads unicode x264 xorg xulrunner xvid zlib zsh-completion" ALSA_CARDS="hda-intel" 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de de_DE en" PHP_TARGETS="php5-3" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

The complete build log:
^[[32;01m * ^[[39;49;00mPackage:    dev-lang/rubinius-1.2.4.20110705
^[[32;01m * ^[[39;49;00mRepository: gentoo
^[[32;01m * ^[[39;49;00mMaintainer: ruby@gentoo.org
^[[32;01m * ^[[39;49;00mUSE:        amd64 elibc_glibc kernel_linux userland_GNU
^[[32;01m * ^[[39;49;00mFEATURES:   sandbox
>>> Unpacking source...
>>> Unpacking rubinius-1.2.4-20110705.tar.gz to /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work
>>> Source unpacked in /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work
>>> Preparing source in /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4 ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4 ...
The directory /usr/lib64 already exists, installing to /usr/lib64/rubinius/1.2
Configuring LLVM...
  Checking for existing LLVM tree: not found.
  Checking for 'llvm-config': Unrecognized character \x7F; marked by <-- HERE after <-- HERE near column 1 at /usr/bin/llvm-config line 1.
./configure:554:in `%': too few arguments (ArgumentError)
        from ./configure:554:in `setup_config'
        from ./configure:536:in `setup_auto'
        from ./configure:747:in `process'
        from ./configure:965:in `run'
        from ./configure:1057
 ^[[31;01m*^[[0m ERROR: dev-lang/rubinius-1.2.4.20110705 failed (configure phase):
 ^[[31;01m*^[[0m   Configure failed
 ^[[31;01m*^[[0m
 ^[[31;01m*^[[0m Call stack:
 ^[[31;01m*^[[0m     ebuild.sh, line  85:  Called src_configure
 ^[[31;01m*^[[0m   environment, line 2296:  Called die
 ^[[31;01m*^[[0m The specific snippet of code:
 ^[[31;01m*^[[0m       ./configure --skip-prebuilt --prefix /usr/$(get_libdir) --mandir /usr/share/man || die "Configure failed"
 ^[[31;01m*^[[0m
 ^[[31;01m*^[[0m If you need support, post the output of `emerge --info '=dev-lang/rubinius-1.2.4.20110705'`,
 ^[[31;01m*^[[0m the complete build log and the output of `emerge -pqv '=dev-lang/rubinius-1.2.4.20110705'`.
 ^[[31;01m*^[[0m The complete build log is located at '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/temp/build.log'.
 ^[[31;01m*^[[0m The ebuild environment file is located at '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/temp/environment'.
 ^[[31;01m*^[[0m Working directory: '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4'
 ^[[31;01m*^[[0m S: '/var/tmp/portage/dev-lang/rubinius-1.2.4.20110705/work/rubinius-1.2.4'

The ebuild environment:
is in attachment

How to reproduce : emerge -av1 dev-lang/rubinius



any help would be appreciated
Comment 1 Hans de Graaff gentoo-dev 2012-05-26 05:37:01 UTC
Which version of llvm do you have installed?
Comment 2 Ulf 2012-05-29 16:11:56 UTC
emerge -av1 llvm gives the following output:

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] sys-devel/llvm-3.1  USE="libffi -debug -gold -multitarget -ocaml -test -udis86 -vim-syntax" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Comment 3 Hans de Graaff gentoo-dev 2012-05-30 06:21:34 UTC
This happens because rubinius expects /usr/bin/llvm-config to be a perl script and it calls perl on it itself instead of just executing it.
Comment 4 Hans de Graaff gentoo-dev 2012-06-02 14:26:05 UTC
The configure script also explicitly checks for llvm 2.8 or 2.9. It might work with 3.0 but this needs to be tested first. Unfortunately rubinius is a low-priority project for me right now. Patches welcome!
Comment 5 Hans de Graaff gentoo-dev 2012-07-23 05:47:49 UTC
I had another look at this but after patching the configuration system the build phase fails while compiling against llvm 3.1. I guess we need to restrict the current code against llvm-2.9, and add an option to disable llvm altogether.
Comment 6 Josh Holmer 2012-07-27 07:06:52 UTC
I ran into this problem as well, and the simplest workaround is to use a newer version of rubinius. The latest version in git supports llvm-3.1 and builds properly. Adding a newer rubinius build to portage would, in my opinion, be the simplest fix.
Comment 7 tao 2012-07-28 12:14:13 UTC
(In reply to comment #5)
There is a patch in git to support LLVM 3.1 https://github.com/rubinius/rubinius/commit/629c5925cc44b2384060d6cc14d1a52b27db5779#configure
Comment 8 tman 2012-07-28 14:55:31 UTC
unfortunatelly ther is no ebuild for the version from git in portage yet. so we still have this problem to compile  dev-lang/rubinius.

it would be nice if a dev be mercy and fix this problem as soon as possible.

thanks
Comment 9 Hans de Graaff gentoo-dev 2012-07-28 17:49:15 UTC
(In reply to comment #8)

> it would be nice if a dev be mercy and fix this problem as soon as possible.

See comment 4. My concern right now is to make sure we can use ruby 1.9 as the default ruby implementation in the not too distant future.

I'm happy to review patches, and if someone is interested in pushing rubinius further then we can also arrange for access to the ruby overlay to make this easier, but I won't be able to work on this myself in the next months and I think the same applies to the other ruby devs.
Comment 10 tman 2012-07-29 04:48:59 UTC
(In reply to comment #9)
> (In reply to comment #8)
> 
> > it would be nice if a dev be mercy and fix this problem as soon as possible.
> 
> See comment 4. My concern right now is to make sure we can use ruby 1.9 as
> the default ruby implementation in the not too distant future.
> 
> I'm happy to review patches, and if someone is interested in pushing
> rubinius further then we can also arrange for access to the ruby overlay to
> make this easier, but I won't be able to work on this myself in the next
> months and I think the same applies to the other ruby devs.


##############
[I] sys-devel/llvm
     Available versions:  2.8-r2 2.9-r2 (~)3.0-r2 (~)3.1 (~)3.1-r1 [M](~)3.1-r2 **9999 {{debug gold +libffi llvm-gcc multitarget ocaml test udis86 vim-syntax}}
     Installed versions:  3.1-r1(03:13:08 22.07.2012)(libffi vim-syntax -debug -gold -multitarget -ocaml -test -udis86)
     Homepage:            http://llvm.org/
     Description:         Low Level Virtual Machine


as u see llvm-3.1 ist installed but it dont work. and the problem of failing compilation still exist. i test if there is a other ebuild in ruby overlay but nothing, what would work. so i want to ask for a live ebuild for this package to emerge it from git.

thanks
Comment 11 Randy Tupas 2012-08-05 03:38:23 UTC
Just mask ">=sys-devel/llvm-3.1" in "/etc/portage/package.mask".

This will cause llvm to downgrade to llvm-3.0-r2, which dev-lang/rubinius-1.2.4.20110705 will configure and compile against.

Note: I am running unstable (~amd64). An "emerge -uDN --with-bdeps y world" did not require anything higher than llvm-3.0-r2.

Good luck,

Randy
Comment 12 Hans de Graaff gentoo-dev 2012-08-08 17:16:54 UTC
(In reply to comment #11)

> This will cause llvm to downgrade to llvm-3.0-r2, which
> dev-lang/rubinius-1.2.4.20110705 will configure and compile against.

Are you sure? I'm pretty certain rubinius hardcodes llvm 2.8 and 2.9 only.
Comment 13 Hans de Graaff gentoo-dev 2012-08-08 17:26:41 UTC
(In reply to comment #7)
> (In reply to comment #5)
> There is a patch in git to support LLVM 3.1
> https://github.com/rubinius/rubinius/commit/
> 629c5925cc44b2384060d6cc14d1a52b27db5779#configure

This doesn't apply (I've looked at the C++ parts only) to the 1.2.4 codebase so it would need to be reworked.
Comment 14 Randy Tupas 2012-08-09 02:44:36 UTC
(In reply to comment #12)
> (In reply to comment #11)
> 
> > This will cause llvm to downgrade to llvm-3.0-r2, which
> > dev-lang/rubinius-1.2.4.20110705 will configure and compile against.
> 
> Are you sure? I'm pretty certain rubinius hardcodes llvm 2.8 and 2.9 only.

Yes, quite sure. I was experiencing the configure failures listed in the first post. After masking >=llvm-3.1, portage pulled in llvm-3.0-r2. After compiling llvm-3.0-r2, I was able to compile rubinius.
-Randy
Comment 15 Flo Gravo 2012-09-11 11:25:37 UTC
Already reported upstream: https://github.com/rubinius/rubinius/issues/1761

But why not make it a USE flag? There are configure options in the package:
 LLVM settings
   --disable-llvm             Don't build with LLVM
   --enable-llvm              Enable llvm (default)
   --skip-system              Don't consider a system LLVM installation
   --skip-prebuilt            Don't try to use a prebuilt version of LLVM
   --system-name NAME         Name of OS (eg fedora-8, ubuntu-10.04)
   --prebuilt-name NAME       Full name of LLVM prebuilt archive
   --llvm-path PATH           File system path to the directory containing LLVM
   --update-prebuilt          Update prebuilt LLVM packages from the internet

So I propose a ebuild like the one attached, would solve the problem til 2.0 is out...
Comment 16 Flo Gravo 2012-09-11 11:26:24 UTC
Created attachment 323498 [details]
rubinius-1.2.4.20110705-r1.ebuild
Comment 17 Patrick Lauer gentoo-dev 2012-10-19 11:14:52 UTC
Since this is still not fixed - using a useflag and changing the dep to be <=llvm-3.0 (or 2.9? whichever is latest working) would be very agreeable.
Comment 18 Diego Elio Pettenò (RETIRED) gentoo-dev 2012-10-19 15:13:28 UTC
I'd be tempted to just last rite it again...
Comment 19 Hans de Graaff gentoo-dev 2012-10-20 11:57:43 UTC
I've updated the ebuild to add a llvm USE flag and depend on the proper versions.

To get this really fixed we'll need a new release of rubinius upstream.
Comment 20 Manuel Rüger (RETIRED) gentoo-dev 2015-07-02 09:25:42 UTC
This version was removed from the tree. Please test again with rubinius-2.x