Bug #9312
closedBuild the ruby executable in bin/
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) over 8 years ago
- Status changed from Open to Feedback
make ruunable
may help you?
Updated by nobu (Nobuyoshi Nakada) over 8 years ago
Sorry, runnable
.
Updated by postmodern (Hal Brodigan) over 8 years ago
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) over 8 years ago
To make relocatable, configure needs --enable-shared and --enable-load-relative.
Updated by postmodern (Hal Brodigan) over 8 years ago
$ ./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) over 8 years ago
Running make runnable
appears to add a bin/goruby
hardlink to ../goruby
.
Updated by nobu (Nobuyoshi Nakada) over 8 years ago
mkrunnable.rb creates symlinks only.
Updated by postmodern (Hal Brodigan) over 8 years ago
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) over 8 years ago
What's your platform?
Updated by postmodern (Hal Brodigan) over 8 years ago
Fedora Linux 19 x86-64
Updated by mame (Yusuke Endoh) over 2 years ago
- Backport deleted (
1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN) - Status changed from Feedback to Rejected
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) over 2 years ago
Note that make runnable
makes links in bin/
, which might be able to run if configured with --enable-load-relative
option.