Bug #9312
closed
Build the ruby executable in bin/
Added by postmodern (Hal Brodigan) over 10 years ago.
Updated over 4 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.
- Status changed from Open to Feedback
make ruunable
may help you?
Test on trunk (r44467)
$ ./configure
$ make
$ make runnable
make: *** No rule to make target un-runnable', needed by
runnable'. Stop.
To make relocatable, configure needs --enable-shared and --enable-load-relative.
$ ./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
Running make runnable
appears to add a bin/goruby
hardlink to ../goruby
.
mkrunnable.rb creates symlinks only.
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'.
- 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.
Note that make runnable
makes links in bin/
, which might be able to run if configured with --enable-load-relative
option.
Also available in: Atom
PDF
Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0