Installing RVM on OpenBSD: ruby: can't load library

559 views Asked by At

Using a [fairly vanilla] OpenBSD 6.0 x64 VM to try out RVM. I follow the instructions on how to install RVM and do the following:


    # curl -sSL https://get.rvm.io | bash -s stable --ruby
    ksh: bash: not found
    ksh: curl: not found
    # pkg_add curl bash
    quirks-2.241 signed on 2016-07-26T16:56:10Z
    curl-7.49.0:libidn-1.32p1: ok
    curl-7.49.0: ok
    bash-4.3.46: ok
    # curl -sSL https://get.rvm.io | bash -s stable --ruby
    Trying to install GNU version of tar, might require sudo password
    quirks-2.241 signed on 2016-07-26T16:56:10Z
    gtar-1.29: ok
    Downloading https://github.com/rvm/rvm/archive/1.28.0.tar.gz
    Downloading https://github.com/rvm/rvm/releases/download/1.28.0/1.28.0.tar.gz.asc
    curl: (22) The requested URL returned error: 404 Not Found

    Could not download 'https://github.com/rvm/rvm/releases/download/1.28.0/1.28.0.tar.gz.asc'.
      curl returned status '22'.

    Creating group 'rvm'

    Installing RVM to /usr/local/rvm/
    Installation of RVM in /usr/local/rvm/ is almost complete:

      * First you need to add all users that will be using rvm to 'rvm' group,
        and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.

      * To start using RVM you need to run `source /etc/profile.d/rvm.sh`
        in all your open shell windows, in rare cases you need to reopen all shell windows.

    # Administrator,
    #
    #   Thank you for using RVM!
    #   We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
    #
    # ~Wayne, Michal & team.

    In case of problems: https://rvm.io/help and https://twitter.com/rvm_io
    rvm 1.28.0 (latest) by Wayne E. Seguin , Michal Papis  [https://rvm.io/]
    Searching for binary rubies, this might take some time.
    No binary rubies available for: openbsd/6.0/x86_64/ruby-2.3.3.
    Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
    Checking requirements for openbsd.
    WARNING: $PKG_PATH was not set, using fallback 'http://ftp.openbsd.org/pub/OpenBSD/6.0/packages/amd64/',
    see http://www.openbsd.org/ftp.html for list of available mirrors.
    Installing requirements for openbsd.
    Updating system.
    Installing required packages: gcc-4, automake-1, libtool, bison, readline-6, libyaml-0.
    Requirements installation successful.
    Found user configured '-j' flag in 'rvm_make_flags', please note that RVM can detect number of CPU threads and set the '-j' flag automatically if you do not set it.
    Installing Ruby from source to: /usr/local/rvm/rubies/ruby-2.3.3, this may take a while depending on your cpu(s)...
    ruby-2.3.3 - #downloading ruby-2.3.3, this may take a while depending on your connection...
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 13.7M  100 13.7M    0     0  3734k      0  0:00:03  0:00:03 --:--:-- 4000k
    ruby-2.3.3 - #extracting ruby-2.3.3 to /usr/local/rvm/src/ruby-2.3.3....
    ruby-2.3.3 - #configuring..........................................................
    ruby-2.3.3 - #post-configuration.
    ruby-2.3.3 - #compiling................................................................................................
    ruby-2.3.3 - #installing........
    ruby-2.3.3 - #making binaries executable..
    ruby-2.3.3 - #downloading rubygems-2.6.8
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  736k  100  736k    0     0  1087k      0 --:--:-- --:--:-- --:--:-- 1089k
    ruby-2.3.3 - #extracting rubygems-2.6.8....
    ruby-2.3.3 - #removing old rubygems.........
    $LANG was empty, setting up LANG=en_US.UTF-8, if it fails again try setting LANG to something sane and try again.
    ruby-2.3.3 - #installing rubygems-2.6.8.
    Error running 'env GEM_HOME=/usr/local/rvm/gems/ruby-2.3.3@global GEM_PATH= /usr/local/rvm/rubies/ruby-2.3.3/bin/ruby -d /usr/local/rvm/src/rubygems-2.6.8/setup.rb --no-docu                                  ment',
    showing last 15 lines of /usr/local/rvm/log/1482173449_ruby-2.3.3/rubygems.install.log
    [2016-12-19 13:56:46] /usr/local/rvm/rubies/ruby-2.3.3/bin/ruby
    current path: /usr/local/rvm/src/rubygems-2.6.8
    PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/sbin:/usr/local/bin:/usr/local/rvm/bin
    command(7): env GEM_HOME=/usr/local/rvm/gems/ruby-2.3.3@global GEM_PATH= /usr/local/rvm/rubies/ruby-2.3.3/bin/ruby -d /usr/local/rvm/src/rubygems-2.6.8/setup.rb --no-documen                                  t
    ruby: can't load library 'libruby.so.2.30'

First, I tried to install RVM using the same procedure on one of our OpenBSD 5.8 development machines as a local user and got the same issue. I decided to try it on a newer VM as root which is what I show above. Both cases 'libruby.so.2.30' exists either locally (~/.rvm/rubies/ruby-2.3.0/lib/libruby.so.2.30) for the user or in /usr/local/rvm/rubies/ruby-2.3.3/lib for the case I show above.

If I try to add the path to the linker config using ldconfig and manually execute the failing command :


    # ldconfig /usr/local/lib /usr/local/rvm/rubies/ruby-2.3.3/lib
    # cd /usr/local/rvm/src/rubygems-2.6.8
    # env GEM_HOME=/usr/local/rvm/gems/ruby-2.3.3@global GEM_PATH= /usr/local/rvm/rubies/ruby-2.3.3/bin/ruby -d /usr/local/rvm/src/rubygems-2.6.8/setup.rb --no-document 
    Exception `LoadError' at /usr/local/rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems.rb:1345 - cannot load such file -- rubygems/defaults/operating_system
    Exception `LoadError' at /usr/local/rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems.rb:1354 - cannot load such file -- rubygems/defaults/ruby
    Exception `LoadError' at /usr/local/rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55 - cannot load such file -- did_you_mean
    Exception `LoadError' at /usr/local/rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135 - cannot load such file -- did_you_mean
    ... lots of stdoutput regarding RubyGems changelog...

It seems the library has been built and it can execute the command (with errors, but the binary works) which probably has something to do with me executing this stuff out of the context of the script itself I assume.

This is a scripted install. It seems that RVM should be setting up something for the linker to know about the existence of these libraries (it created them in the first place), but it doesn't appear to be working out.

Is this a bug with RVM on OpenBSD or it is something I am not doing correctly?

0

There are 0 answers