Project

General

Profile

Actions

Bug #9312

closed

Build the ruby executable in bin/

Added by postmodern (Hal Brodigan) over 10 years ago. Updated over 4 years ago.

Status:
Rejected
Target version:
-
ruby -v:
trunk
Backport:
[ruby-core:59349]

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 10 years ago

  • Status changed from Open to Feedback

make ruunable may help you?

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

Sorry, runnable.

Updated by postmodern (Hal Brodigan) over 10 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 10 years ago

To make relocatable, configure needs --enable-shared and --enable-load-relative.

Actions #5

Updated by postmodern (Hal Brodigan) over 10 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 10 years ago

Running make runnable appears to add a bin/goruby hardlink to ../goruby.

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

mkrunnable.rb creates symlinks only.

Updated by postmodern (Hal Brodigan) over 10 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 10 years ago

What's your platform?

Updated by postmodern (Hal Brodigan) about 10 years ago

Fedora Linux 19 x86-64

Updated by mame (Yusuke Endoh) over 4 years ago

  • 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) over 4 years ago

Note that make runnable makes links in bin/, which might be able to run if configured with --enable-load-relative option.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0