Bug #9312
closedBuild the ruby executable in bin/
Added by postmodern (Hal Brodigan) almost 12 years ago. Updated almost 6 years ago.
Description
In order to allow Ruby Switchers to directly use a Ruby that is built but not installed (such as trunk or a branch), the ruby executable should be placed in the bin/ directory.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
Actions
#1
[ruby-core:59351]
- Status changed from Open to Feedback
make ruunable may help you?
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
Actions
#2
[ruby-core:59353]
Sorry, runnable.
Updated by postmodern (Hal Brodigan) almost 12 years ago
Actions
#3
[ruby-core:59422]
Test on trunk (r44467)
$ ./configure
$ make
$ make runnable
make: *** No rule to make target un-runnable', needed by runnable'. Stop.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
Actions
#4
[ruby-core:59423]
To make relocatable, configure needs --enable-shared and --enable-load-relative.
Updated by postmodern (Hal Brodigan) almost 12 years ago
Actions
#5
$ ./configure --enable-shared --enable-load-relative
$ make
...
making enc
make[1]: Entering directory `/vault/0/src/ruby/trunk'
linking encoding encdb.so
/usr/bin/ld: cannot find -l-lpthread
collect2: error: ld returned 1 exit status
Updated by postmodern (Hal Brodigan) almost 12 years ago
Actions
#6
[ruby-core:59425]
Running make runnable appears to add a bin/goruby hardlink to ../goruby.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
Actions
#7
[ruby-core:59550]
mkrunnable.rb creates symlinks only.
Updated by postmodern (Hal Brodigan) almost 12 years ago
Actions
#8
[ruby-core:60006]
After updated again, I see that make runnable created a bin/ruby symlink. However, --enable-shared requires that LD_LIBRARY_PATH=./lib/ is set. Also, bin/ruby cannot find core libraries such as 'thread'.
Updated by nobu (Nobuyoshi Nakada) almost 12 years ago
Actions
#9
[ruby-core:60014]
What's your platform?
Updated by postmodern (Hal Brodigan) over 11 years ago
Actions
#10
[ruby-core:60553]
Fedora Linux 19 x86-64
Updated by mame (Yusuke Endoh) almost 6 years ago
Actions
#11
[ruby-core:96306]
- Status changed from Feedback to Rejected
- Backport deleted (
1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN)
Closing as it is not a bug.
A ruby binary that is built but not installed is half-baked. It is very hacky to run it without installation; it requires setting library paths, GEM_HOME, etc and etc. In the build process, the half-baked ruby binary is invoked with this script: https://github.com/ruby/ruby/blob/master/tool/runruby.rb
So I guess that just putting bin/ruby does not solve the issue. And, as far as I know, rbenv works well without this feature, so I'm unsure if it is really needed.
Updated by nobu (Nobuyoshi Nakada) almost 6 years ago
Actions
#12
[ruby-core:96311]
Note that make runnable makes links in bin/, which might be able to run if configured with --enable-load-relative option.