Summary: | dev-lang/rubinius-1.2.4.20110705 failed with configure errors | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Ulf <u> |
Component: | [OLD] Development | Assignee: | Gentoo Ruby Team <ruby> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | even.more.spam.for.me, jason, marduk, rjtupas, u |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
The ebuild environment
rubinius-1.2.4.20110705-r1.ebuild |
Description
Ulf
2012-05-25 23:41:05 UTC
Which version of llvm do you have installed? 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 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. 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! 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. 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. (In reply to comment #5) There is a patch in git to support LLVM 3.1 https://github.com/rubinius/rubinius/commit/629c5925cc44b2384060d6cc14d1a52b27db5779#configure 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 (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. (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 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 (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. (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. (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 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... Created attachment 323498 [details]
rubinius-1.2.4.20110705-r1.ebuild
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. I'd be tempted to just last rite it again... 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. This version was removed from the tree. Please test again with rubinius-2.x |