Giter Club home page Giter Club logo

ubuntu_rvm's Introduction

OpenCollective OpenCollective

RVM package for Ubuntu

RVM is a command-line tool which allows you to easily install, manage, and work with multiple ruby environments from interpreters to sets of gems.

This package installs rvm with some defaults:

  • stable rvm is used;
  • rvm is installed using mixed-mode install: usable by all users on the system, with isolated rubies/gemsets in user's $HOME (see more here);
  • rvm is installed into /usr/share/rvm (as Debian/Ubuntu convention);
  • automatic updates provided by a Ubuntu PPA;

Additionally some old packages required to build old ruby binaries (like libssl1.0-dev) are automatically available in the PPA too.

Install

Pre-requisites

You need software-properties-common installed in order to add PPA repositories.

If not installed, open a terminal (Ctrl+Alt+T) and run:

sudo apt-get install software-properties-common

1. Add the PPA and install the package

Open a terminal (Ctrl+Alt+T) and run:

sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm

Add your user to rvm group ($USER will automatically insert your username):

sudo usermod -a -G rvm $USER

2. Change your terminal window

Now, in order to always load rvm, change the Gnome Terminal to always perform a login.

At terminal window, open the application menu, then Preferences. Click on Unnamed profile, select the Command tab and check Run command as login shell.

Terminal Screenshot

Or instead, if you cannot force terminal to perform a login, or you're facing Command 'rvm' not found, you can run the following command to append it to your .bashrc:

echo 'source "/etc/profile.d/rvm.sh"' >> ~/.bashrc

3. Reboot

A lot of changes were made (scripts that needs to be reloaded, you're now member of rvm group) and in order to properly get all them working, you need to reboot (in most cases a logout/login is enough, but in some Ubuntu derivatives or some terminal emulators, a shell login is not performed, so we advise to reboot).

4. Install a ruby

Now you're ready to install rubies. Open a terminal (Ctrl+Alt+T) and run:

rvm install ruby

RVM Usage

RVM complete instructions are available at RVM repository: https://github.com/rvm/rvm

Additionally you can check manual pages too: open a Terminal (Ctrl+Alt+T) and run:

man rvm

Troubleshooting

0. Reboot

After install RVM, your user was added to a new group, new environment files were created, etc. Usually a logout, login is enough. But in case you're still facing some issues (usually due terminals not running login shells, etc), just try a system reboot.

1. Cannot add PPA

If you're facing the following error:

Cannot add PPA: 'ppa:~rael-gc/ubuntu/rvm'.
ERROR: '~rael-gc' user or team does not exist

Sounds like you're under a proxy. Please, follow instructions to add-apt-repository to work through a proxy.

2. Command 'rvm' not found

Check if your terminal is performing a bash login like describe on Step 2 "Change your terminal window". Or instead, you can run the following command to append it to your .bashrc:

echo 'source "/etc/profile.d/rvm.sh"' >> ~/.bashrc

3. I need to upgrade to master without wait for new package release

Fine. First install the rvm-installer keys:

gpg --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

Then run:

rvmsudo rvm get master

4. Files permission issues

If you already rebooted, and you're facing any file permission issues during any RVM usage, like:

  • Following files may be not writable
  • sudo is needed or
  • Cannot utime: Operation not permitted

You can fix it with:

rvmsudo rvm cleanup all
rvm fix-permissions

Contributing

Backers

Become a backer and support us with a small monthly donation to help us continue our activities.

Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer Backer

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site.

Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor

ubuntu_rvm's People

Contributors

abdellani avatar danielkaczmarczyk avatar jikamens avatar joshbuker avatar jrgifford avatar pkuczynski avatar raelgc avatar shane2330 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ubuntu_rvm's Issues

Ubuntu 18 issue installing ruby =< 2.3.x

Ruby 2.4 installed like a charm,

openssl version on Ubuntu 17,18 is 1.1 while ruby 2.3.x requires 1.0
I followied the instructions here to get openssl version to be OpenSSL 1.0.2o

I get this error when running rvm install ruby 2.3.4

Error running '__rvm_make -j8',
please read /home/yonatan/.rvm/log/1525342650_ruby-2.3.4/make.log
There has been an error while running make. Halting the installation.

results of make.log

[2018-05-03 12:18:03] __rvm_make
__rvm_make () 
{ 
    \make "$@" || return $?
}
current path: /usr/share/rvm/src/ruby-2.3.4
GEM_HOME=/home/yonatan/.rvm/gems/ruby-2.4.1
GEM_PATH=/home/yonatan/.rvm/gems/ruby-2.4.1:/home/yonatan/.rvm/gems/ruby-2.4.1@global
PATH=/home/yonatan/.rvm/gems/ruby-2.4.1/bin:/home/yonatan/.rvm/gems/ruby-2.4.1@global/bin:/usr/share/rvm/rubies/ruby-2.4.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin
command(2): __rvm_make -j8
++ make -j8
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -std=iso9899:1999  -fPIC 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT
	CPPFLAGS =   -I. -I.ext/include/x86_64-linux -I./include -I.
	DLDFLAGS = -Wl,-soname,libruby.so.2.3  -fstack-protector  
	SOLIBS = -lpthread -lgmp -ldl -lcrypt -lm  
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.3.0-16ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3) 
copying dummy probes.h
compiling main.c
compiling dmydln.c
compiling dmyext.c
compiling miniinit.c
compiling miniprelude.c
compiling array.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling complex.c
In file included from array.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from bignum.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from class.c:26:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from complex.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling dir.c
compiling dln_find.c
compiling encoding.c
array.c: In function โ€˜rb_ary_rindexโ€™:
array.c:1532:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!rb_equal(e, val)) break;
         ^
array.c:1533:4: note: here
    case Qtrue:
    ^~~~
array.c: In function โ€˜rb_ary_indexโ€™:
array.c:1469:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!rb_equal(e, val)) break;
         ^
array.c:1470:4: note: here
    case Qtrue:
    ^~~~
compiling enum.c
In file included from dir.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from encoding.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
encoding.c: In function โ€˜rb_enc_get_indexโ€™:
encoding.c:793:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (NIL_P(obj)) break;
     ^
encoding.c:794:7: note: here
       case T_DATA:
       ^~~~
encoding.c: In function โ€˜enc_capableโ€™:
encoding.c:746:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (is_data_encoding(obj)) return TRUE;
     ^
encoding.c:747:7: note: here
       default:
       ^~~~~~~
In file included from enum.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enumerator.c
In file included from enumerator.c:15:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling error.c
In file included from error.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling eval.c
In file included from eval.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
eval.c: In function โ€˜rb_raise_jumpโ€™:
eval.c:763:8: warning: unused variable โ€˜midโ€™ [-Wunused-variable]
     ID mid = me->called_id;
        ^~~
compiling load.c
In file included from load.c:5:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
load.c: In function โ€˜search_requiredโ€™:
load.c:922:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (ft) {
     ^
load.c:927:7: note: here
       case 1:
       ^~~~
compiling proc.c
In file included from method.h:14:0,
                 from vm_core.h:62,
                 from eval_intern.h:5,
                 from proc.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling file.c
In file included from file.c:26:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
file.c: In function โ€˜rb_stat_dev_majorโ€™:
file.c:501:13: warning: In the GNU C Library, "major" is defined
 by <sys/sysmacros.h>. For historical compatibility, it is
 currently defined by <sys/types.h> as well, but we plan to
 remove this soon. To use "major", include <sys/sysmacros.h>
 directly. If you did not intend to use a system-defined macro
 "major", you should undefine it after including <sys/types.h>.
     return INT2NUM(major(get_stat(self)->st_dev));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                  
file.c: In function โ€˜rb_stat_dev_minorโ€™:
file.c:522:13: warning: In the GNU C Library, "minor" is defined
 by <sys/sysmacros.h>. For historical compatibility, it is
 currently defined by <sys/types.h> as well, but we plan to
 remove this soon. To use "minor", include <sys/sysmacros.h>
 directly. If you did not intend to use a system-defined macro
 "minor", you should undefine it after including <sys/types.h>.
     return INT2NUM(minor(get_stat(self)->st_dev));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                  
file.c: In function โ€˜rb_stat_rdev_majorโ€™:
file.c:665:13: warning: In the GNU C Library, "major" is defined
 by <sys/sysmacros.h>. For historical compatibility, it is
 currently defined by <sys/types.h> as well, but we plan to
 remove this soon. To use "major", include <sys/sysmacros.h>
 directly. If you did not intend to use a system-defined macro
 "major", you should undefine it after including <sys/types.h>.
     return DEVT2NUM(major(get_stat(self)->st_rdev));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                
file.c: In function โ€˜rb_stat_rdev_minorโ€™:
file.c:686:13: warning: In the GNU C Library, "minor" is defined
 by <sys/sysmacros.h>. For historical compatibility, it is
 currently defined by <sys/types.h> as well, but we plan to
 remove this soon. To use "minor", include <sys/sysmacros.h>
 directly. If you did not intend to use a system-defined macro
 "minor", you should undefine it after including <sys/types.h>.
     return DEVT2NUM(minor(get_stat(self)->st_rdev));
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                                                                                                                                                                                                                
compiling gc.c
In file included from gc.c:17:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling hash.c
compiling inits.c
In file included from hash.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
hash.c: In function โ€˜rb_hash_s_createโ€™:
hash.c:658:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
       val = RARRAY_AREF(v, 1);
hash.c:659:5: note: here
     case 1:
     ^~~~
In file included from inits.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling io.c
In file included from io.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling marshal.c
In file included from marshal.c:16:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
marshal.c: In function โ€˜r_object0โ€™:
marshal.c:1749:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (bs & 1) --dst;
       ^
marshal.c:1750:9: note: here
         default: bs = 0; break;
         ^~~~~~~
marshal.c: In function โ€˜load_mantissaโ€™:
marshal.c:365:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
        default: m = *buf++ & 0xff;
                 ~~^~~~~~~~~~~~~~~
marshal.c:367:8: note: here
        case 3: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
marshal.c:367:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 3: m = (m << 8) | (*buf++ & 0xff);
                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:370:8: note: here
        case 2: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
marshal.c:370:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 2: m = (m << 8) | (*buf++ & 0xff);
                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:373:8: note: here
        case 1: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
io.c: In function โ€˜rb_io_s_popenโ€™:
io.c:6274:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
  pmode = argv[1];
  ~~~~~~^~~~~~~~~
io.c:6275:7: note: here
       case 1:
       ^~~~
compiling math.c
In file included from math.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling node.c
In file included from method.h:14:0,
                 from vm_core.h:62,
                 from node.c:13:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling numeric.c
In file included from numeric.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling object.c
In file included from object.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
object.c: In function โ€˜rb_f_integerโ€™:
object.c:2740:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  base = NUM2INT(argv[1]);
object.c:2741:7: note: here
       case 1:
       ^~~~
compiling pack.c
compiling parse.c
In file included from pack.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from parse.y:27:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
parse.y: In function โ€˜ruby_yyparseโ€™:
parse.y:3993:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
        node = NEW_NODE(NODE_DSTR, STR_NEW0(), 1, NEW_LIST(node));
parse.y:3994:6: note: here
      case NODE_DSTR:
      ^~~~
parse.y:340:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define yyerror(msg) parser_yyerror(parser, (msg))
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
parse.y:5014:5: note: in expansion of macro โ€˜yyerrorโ€™
     yyerror("can't define singleton method for literals");
     ^~~~~~~
parse.y:5015:10: note: here
          default:
          ^~~~~~~
parse.y: In function โ€˜parser_yylexโ€™:
parse.y:8223:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (peek('.') == (c == '&')) {
      ^
parse.y:8229:8: note: here
        default:
        ^~~~~~~
parse.y:8231:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
   lex_nextline = lex_lastline;
parse.y:8232:8: note: here
        case -1:  /* EOF no decrement*/
        ^~~~
parse.y:8577:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  paren_nest--;
parse.y:8578:7: note: here
       case '}':
       ^~~~
compiling process.c
parse.y: In function โ€˜parser_here_documentโ€™:
parse.y:6887:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (--pend == p || pend[-1] != '\r') {
           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
parse.y:6891:5: note: here
     case '\r':
     ^~~~
parse.y: In function โ€˜parser_read_escapeโ€™:
parse.y:6038:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ((c = nextc()) != '-') {
     ^
parse.y:6042:7: note: here
       case 'c':
       ^~~~
parse.y: In function โ€˜parse_gvarโ€™:
parse.y:7945:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!parser_is_identchar()) {
      ^
parse.y:7955:7: note: here
       case '0':
       ^~~~
parse.y: In function โ€˜is_static_contentโ€™:
parse.y:9760:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!(node = node->nd_head)) break;
     ^
parse.y:9761:7: note: here
       case NODE_ARRAY:
       ^~~~
compiling random.c
In file included from process.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from random.c:62:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from random.c:1448:0:
siphash.c: In function โ€˜ruby_sip_hash24โ€™:
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:444:6: note: in expansion of macro โ€˜OR_BYTEโ€™
      OR_BYTE(6);
      ^~~~~~~
siphash.c:445:2: note: here
  case 6:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:446:6: note: in expansion of macro โ€˜OR_BYTEโ€™
      OR_BYTE(5);
      ^~~~~~~
siphash.c:447:2: note: here
  case 5:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:448:6: note: in expansion of macro โ€˜OR_BYTEโ€™
      OR_BYTE(4);
      ^~~~~~~
siphash.c:449:2: note: here
  case 4:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:461:6: note: in expansion of macro โ€˜OR_BYTEโ€™
      OR_BYTE(2);
      ^~~~~~~
siphash.c:462:2: note: here
  case 2:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:463:6: note: in expansion of macro โ€˜OR_BYTEโ€™
      OR_BYTE(1);
      ^~~~~~~
siphash.c:464:2: note: here
  case 1:
  ^~~~
random.c: In function โ€˜rand_rangeโ€™:
random.c:1221:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case T_FLOAT: {
                     ^
random.c:1227:7: note: here
       default:
       ^~~~~~~
random.c: In function โ€˜random_loadโ€™:
random.c:747:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  seed = ary[2];
  ~~~~~^~~~~~~~
random.c:748:7: note: here
       case 2:
       ^~~~
random.c:749:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  left = ary[1];
  ~~~~~^~~~~~~~
random.c:750:7: note: here
       case 1:
       ^~~~
compiling range.c
In file included from range.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling rational.c
compiling re.c
compiling regcomp.c
In file included from rational.c:8:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from re.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
re.c: In function โ€˜unescape_nonasciiโ€™:
re.c:2310:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 {
                 ^
re.c:2321:15: note: here
               case '0': /* \0, \0O, \0OO */
               ^~~~
re.c: In function โ€˜read_escaped_byteโ€™:
re.c:2083:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (p == end || *p++ != '-') {
             ~~~~~~~~~^~~~~~~~~~~~~~
re.c:2087:7: note: here
       case 'c': /* \cX, \c\M-X */
       ^~~~
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
regparse.c: In function โ€˜parse_encloseโ€™:
regparse.c:5183:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) {
          ^
regparse.c:5211:5: note: here
     case '-': case 'i': case 'm': case 's': case 'x':
     ^~~~
compiling regsyntax.c
compiling ruby.c
compiling safe.c
In file included from ruby.c:18:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ruby.c: In function โ€˜proc_optionsโ€™:
ruby.c:856:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
      opt->do_print = TRUE;
ruby.c:858:4: note: here
    case 'n':
    ^~~~
ruby.c:882:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
      opt->verbose = 1;
      ~~~~~~~~~~~~~^~~
ruby.c:883:4: note: here
    case 'w':
    ^~~~
ruby.c:1194:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!s[1])
         ^
ruby.c:1197:4: note: here
    default:
    ^~~~~~~
In file included from method.h:14:0,
                 from vm_core.h:62,
                 from safe.c:20:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling signal.c
In file included from signal.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling sprintf.c
In file included from sprintf.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
sprintf.c: In function โ€˜rb_str_formatโ€™:
sprintf.c:661:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
      p--;
      ~^~
sprintf.c:662:4: note: here
    case '%':
    ^~~~
In file included from sprintf.c:1278:0:
vsnprintf.c: In function โ€˜BSD_vfprintfโ€™:
vsnprintf.c:886:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (prec != 0)
       ^
vsnprintf.c:888:3: note: here
   case 'g':
   ^~~~
compiling st.c
In file included from st.c:9:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
st.c: In function โ€˜st_hashโ€™:
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:25: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                         ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^
st.c:1463:43: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                           ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:43: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                           ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^
st.c:1463:61: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                             ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:61: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                             ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^
st.c:1463:79: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                               ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:79: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                               ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^
st.c:1461:25: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                         ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro โ€˜UNALIGNED_ADD_4โ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1461:25: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                         ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro โ€˜UNALIGNED_ADD_4โ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^
st.c:1461:43: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                           ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro โ€˜UNALIGNED_ADD_4โ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1461:43: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                           ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro โ€˜UNALIGNED_ADD_4โ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^
st.c:1461:61: note: in expansion of macro โ€˜UNALIGNED_ADDโ€™
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                                             ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro โ€˜UNALIGNED_ADD_4โ€™
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro โ€˜UNALIGNED_ADD_8โ€™
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro โ€˜UNALIGNED_ADD_ALLโ€™
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
compiling strftime.c
strftime.c: In function โ€˜rb_strftime_with_timespecโ€™:
strftime.c:780:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
    padding = '0';
    ~~~~~~~~^~~~~
strftime.c:781:3: note: here
   case '1':  case '2': case '3': case '4':
   ^~~~
compiling string.c
In file included from string.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling struct.c
In file included from struct.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling symbol.c
In file included from symbol.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling time.c
In file included from time.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
time.c: In function โ€˜utc_offset_argโ€™:
time.c:2092:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
      n += (s[7] * 10 + s[8] - '0' * 11);
      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
time.c:2093:4: note: here
    case 6:
    ^~~~
compiling transcode.c
compiling util.c
In file included from transcode.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from util.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
util.c: In function โ€˜ruby_strtodโ€™:
util.c:2006:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
             sign = 1;
             ~~~~~^~~
util.c:2008:11: note: here
           case '+':
           ^~~~
util.c:2169:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
             esign = 1;
             ~~~~~~^~~
util.c:2170:11: note: here
           case '+':
           ^~~~
util.c: In function โ€˜ruby_dtoaโ€™:
util.c:3344:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
         leftright = 0;
         ~~~~~~~~~~^~~
util.c:3346:7: note: here
       case 4:
       ^~~~
util.c:3352:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
         leftright = 0;
         ~~~~~~~~~~^~~
util.c:3354:7: note: here
       case 5:
       ^~~~
compiling variable.c
In file included from variable.c:14:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling version.c
compiling compile.c
In file included from compile.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compile.c: In function โ€˜iseq_compile_eachโ€™:
compile.c:4560:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
      boff = 1;
      ~~~~~^~~
compile.c:4561:4: note: here
    default:
    ^~~~~~~
compile.c:5015:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
      flag |= VM_CALL_VCALL;
compile.c:5017:4: note: here
    case NODE_FCALL:
    ^~~~
compile.c:4018:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (node->nd_var) {
     ^
compile.c:4044:7: note: here
       case NODE_ITER:{
       ^~~~
compile.c:4886:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (node->nd_mid == idAREF && !private_recv_p(node) && node->nd_args &&
     ^
compile.c:4902:7: note: here
       case NODE_QCALL:
       ^~~~
compiling debug.c
compile.c: In function โ€˜defined_expr0โ€™:
compile.c:3329:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case NODE_ARRAY:{
                       ^
compile.c:3341:7: note: here
       case NODE_STR:
       ^~~~
compile.c: In function โ€˜iseq_peephole_optimizeโ€™:
compile.c:2251:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
       piobj = iobj;
       ~~~~~~^~~~~~
compile.c:2252:5: note: here
     default:
     ^~~~~~~
In file included from method.h:14:0,
                 from vm_core.h:62,
                 from eval_intern.h:5,
                 from debug.c:16:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling iseq.c
In file included from iseq.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
iseq.c: In function โ€˜rb_insn_operand_internโ€™:
iseq.c:1279:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  op = ID2SYM(op);
iseq.c:1281:7: note: here
       case TS_VALUE:  /* VALUE */
       ^~~~
compiling vm.c
In file included from vm.c:15:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from vm.c:201:0:
vm_insnhelper.c: In function โ€˜check_method_entryโ€™:
vm_insnhelper.c:389:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (can_be_svar) {
     ^
vm_insnhelper.c:392:7: note: here
       default:
       ^~~~~~~
In file included from vm_exec.c:120:0,
                 from vm.c:203:
insns.def: In function โ€˜vm_exec_coreโ€™:
insns.def:1262:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case T_FLOAT: {
                     ^
insns.def:1268:7: note: here
       case T_TRUE:
       ^~~~
In file included from vm.c:201:0:
vm_insnhelper.c: In function โ€˜vm_definedโ€™:
vm_insnhelper.c:2591:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (!rb_obj_is_kind_of(GET_SELF(), rb_class_real(klass))) {
      ^
vm_insnhelper.c:2594:8: note: here
        case METHOD_VISI_PUBLIC:
        ^~~~
In file included from vm.c:201:0:
vm_insnhelper.c: In function โ€˜check_crefโ€™:
vm_insnhelper.c:440:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (can_be_svar) {
     ^
vm_insnhelper.c:443:7: note: here
       default:
       ^~~~~~~
In file included from vm.c:206:0:
vm_eval.c: In function โ€˜singleton_class_for_evalโ€™:
vm_eval.c:1671:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (FL_TEST_RAW(self, RSTRING_FSTR)) return Qnil;
     ^
vm_eval.c:1672:7: note: here
       default:
       ^~~~~~~
In file included from vm.c:201:0:
vm_insnhelper.c: In function โ€˜cref_replace_with_duplicated_cref_each_frameโ€™:
vm_insnhelper.c:510:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (can_be_svar) {
         ^
vm_insnhelper.c:513:4: note: here
    case imemo_ment:
    ^~~~
compiling vm_dump.c
compiling vm_backtrace.c
In file included from vm_dump.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling vm_trace.c
In file included from vm_backtrace.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from vm_trace.c:24:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling thread.c
compiling cont.c
In file included from method.h:14:0,
                 from vm_core.h:62,
                 from eval_intern.h:5,
                 from thread.c:60:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from cont.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling ./missing/setproctitle.c
compiling ./missing/strlcat.c
compiling ./missing/strlcpy.c
compiling addr2line.c
addr2line.c: In function โ€˜kvprintfโ€™:
addr2line.c:960:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (!dot) {
       ^
addr2line.c:964:3: note: here
   case '1': case '2': case '3': case '4':
   ^~~~
addr2line.c:1100:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
    upper = 1;
    ~~~~~~^~~
addr2line.c:1101:3: note: here
   case 'x':
   ^~~~
compiling dln.c
compiling dmyenc.c
compiling localeinit.c
compiling prelude.c
In file included from localeinit.c:12:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/ascii.c
In file included from prelude.c:7:0:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/us_ascii.c
compiling enc/unicode.c
compiling enc/utf_8.c
compiling enc/trans/newline.c
In function โ€˜iseq_build_kw.isra.59โ€™,
    inlined from โ€˜rb_iseq_build_from_aryโ€™ at compile.c:6690:30:
compile.c:6590:9: warning: argument 1 range [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
     dvs = ALLOC_N(VALUE, default_len);
In file included from ./include/ruby/ruby.h:36:0,
                 from ./include/ruby.h:33,
                 from internal.h:15,
                 from compile.c:12:
compile.c: In function โ€˜rb_iseq_build_from_aryโ€™:
./include/ruby/defines.h:109:18: note: in a call to allocation function โ€˜ruby_xmalloc2โ€™ declared here
 #define xmalloc2 ruby_xmalloc2
                  ^
./include/ruby/defines.h:122:7: note: in expansion of macro โ€˜xmalloc2โ€™
 void *xmalloc2(size_t,size_t) RUBY_ATTR_ALLOC_SIZE((1,2));
       ^~~~~~~~
linking miniruby
generating encdb.h
rbconfig.rb updated
generating enc.mk
creating verconf.h
verconf.h updated
compiling loadpath.c
encdb.h updated
making srcs under enc
make[1]: Entering directory '/usr/share/rvm/src/ruby-2.3.4'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4'
generating transdb.h
linking static-library libruby-static.a
ar: `u' modifier ignored since `D' is the default (see `U')
transdb.h updated
verifying static-library libruby-static.a
linking shared-library libruby.so.2.3.0
generating makefile exts.mk
making enc
making trans
make[1]: Entering directory '/usr/share/rvm/src/ruby-2.3.4'
make[1]: Entering directory '/usr/share/rvm/src/ruby-2.3.4'
compiling ./enc/big5.c
compiling ./enc/trans/transdb.c
compiling ./enc/encdb.c
compiling ./enc/cp949.c
compiling ./enc/emacs_mule.c
compiling ./enc/euc_jp.c
compiling ./enc/trans/big5.c
configuring -test-/array/resize
configuring -test-/bignum
configuring -test-/bug-3571
configuring -test-/bug-5832
configuring -test-/bug_reporter
configuring -test-/class
configuring -test-/debug
configuring -test-/dln/empty
configuring -test-/exception
configuring -test-/fatal
configuring -test-/file
compiling ./enc/euc_kr.c
In file included from ./enc/encdb.c:12:0:
./internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
./internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling ./enc/euc_tw.c
compiling ./enc/gb2312.c
compiling ./enc/gb18030.c
compiling ./enc/gbk.c
compiling ./enc/iso_8859_1.c
compiling ./enc/iso_8859_2.c
compiling ./enc/iso_8859_3.c
compiling ./enc/iso_8859_4.c
compiling ./enc/iso_8859_5.c
compiling ./enc/iso_8859_6.c
compiling ./enc/iso_8859_7.c
compiling ./enc/iso_8859_8.c
compiling ./enc/iso_8859_9.c
compiling ./enc/iso_8859_10.c
compiling ./enc/iso_8859_11.c
compiling ./enc/iso_8859_13.c
compiling ./enc/iso_8859_14.c
compiling ./enc/trans/chinese.c
compiling ./enc/trans/ebcdic.c
compiling ./enc/iso_8859_15.c
compiling ./enc/trans/emoji.c
compiling ./enc/iso_8859_16.c
compiling ./enc/koi8_r.c
compiling ./enc/trans/emoji_iso2022_kddi.c
compiling ./enc/koi8_u.c
compiling ./enc/shift_jis.c
compiling ./enc/utf_16be.c
compiling ./enc/utf_16le.c
compiling ./enc/trans/emoji_sjis_docomo.c
compiling ./enc/utf_32be.c
compiling ./enc/utf_32le.c
compiling ./enc/windows_31j.c
compiling ./enc/windows_1250.c
compiling ./enc/windows_1251.c
compiling ./enc/windows_1252.c
linking encoding encdb.so
linking encoding big5.so
linking encoding cp949.so
compiling ./enc/trans/emoji_sjis_kddi.c
linking encoding emacs_mule.so
linking encoding euc_jp.so
compiling ./enc/trans/emoji_sjis_softbank.c
compiling ./enc/trans/escape.c
linking encoding euc_kr.so
configuring -test-/float
configuring -test-/funcall
configuring -test-/gvl/call_without_gvl
configuring -test-/hash
configuring -test-/iseq_load
linking encoding euc_tw.so
configuring -test-/iter
configuring -test-/load/dot.dot
configuring -test-/marshal/compat
configuring -test-/marshal/internal_ivar
configuring -test-/marshal/usr
configuring -test-/method
configuring -test-/notimplement
configuring -test-/num2int
configuring -test-/path_to_class
compiling ./enc/trans/gb18030.c
configuring -test-/popen_deadlock
configuring -test-/postponed_job
configuring -test-/printf
linking encoding gb2312.so
configuring -test-/proc
configuring -test-/rational
configuring -test-/recursion
configuring -test-/st/foreach
configuring -test-/st/numhash
configuring -test-/st/update
configuring -test-/string
configuring -test-/struct
configuring -test-/symbol
linking encoding gb18030.so
linking encoding gbk.so
compiling ./enc/trans/gbk.c
linking encoding iso_8859_1.so
compiling ./enc/trans/iso2022.c
linking encoding iso_8859_2.so
linking encoding iso_8859_3.so
linking encoding iso_8859_4.so
linking encoding iso_8859_5.so
linking encoding iso_8859_6.so
configuring -test-/time
configuring -test-/tracepoint
configuring -test-/typeddata
linking encoding iso_8859_7.so
configuring -test-/vm
configuring -test-/wait_for_single_fd
configuring bigdecimal
compiling ./enc/trans/japanese.c
linking encoding iso_8859_8.so
linking encoding iso_8859_9.so
linking encoding iso_8859_10.so
linking encoding iso_8859_11.so
linking encoding iso_8859_13.so
compiling ./enc/trans/japanese_euc.c
linking encoding iso_8859_14.so
compiling ./enc/trans/japanese_sjis.c
compiling ./enc/trans/korean.c
linking encoding iso_8859_15.so
linking encoding iso_8859_16.so
linking encoding koi8_r.so
linking encoding koi8_u.so
linking encoding shift_jis.so
compiling ./enc/trans/single_byte.c
linking encoding utf_16be.so
linking encoding utf_16le.so
linking encoding utf_32be.so
linking encoding utf_32le.so
linking encoding windows_31j.so
linking encoding windows_1250.so
linking encoding windows_1251.so
linking encoding windows_1252.so
make[1]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4'
compiling ./enc/trans/utf8_mac.c
compiling ./enc/trans/utf_16_32.c
linking transcoder transdb.so
linking transcoder big5.so
linking transcoder chinese.so
linking transcoder ebcdic.so
linking transcoder emoji.so
linking transcoder emoji_iso2022_kddi.so
linking transcoder emoji_sjis_docomo.so
linking transcoder emoji_sjis_kddi.so
linking transcoder emoji_sjis_softbank.so
linking transcoder escape.so
linking transcoder gb18030.so
linking transcoder gbk.so
linking transcoder iso2022.so
linking transcoder japanese.so
linking transcoder japanese_sjis.so
linking transcoder single_byte.so
linking transcoder utf_16_32.so
linking transcoder korean.so
linking transcoder japanese_euc.so
linking transcoder utf8_mac.so
configuring cgi/escape
configuring continuation
configuring coverage
configuring date
configuring dbm
make[1]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4'
making encs
make[1]: Entering directory '/usr/share/rvm/src/ruby-2.3.4'
make[1]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4'
Failed to configure dbm. It will not be installed.
configuring digest
configuring digest/bubblebabble
configuring digest/md5
configuring digest/rmd160
configuring digest/sha1
configuring digest/sha2
configuring etc
configuring fcntl
configuring fiber
configuring fiddle
configuring gdbm
configuring io/console
configuring io/nonblock
configuring io/wait
configuring json
configuring json/generator
configuring json/parser
configuring mathn/complex
configuring mathn/rational
configuring nkf
configuring objspace
configuring openssl
configuring pathname
configuring psych
configuring pty
configuring racc/cparse
configuring rbconfig/sizeof
configuring readline
configuring ripper
configuring sdbm
configuring socket
configuring stringio
configuring strscan
configuring syslog
configuring thread
configuring tk
............
check struct members..
check libraries....
Use ActiveTcl libraries (if available).
Search tclConfig.sh and tkConfig.sh..............................
Fail to find [tclConfig.sh, tkConfig.sh]
Use X11 libraries (or use TK_XINCLUDES/TK_XLIBSW information on tkConfig.sh).
Warning:: cannot find X11 library. tcltklib will not be compiled (tcltklib is disabled on your Ruby. That is, Ruby/Tk will not work). Please check configure options. If your Tcl/Tk don't require X11, please try --without-X11.
Can't find X11 libraries. 
So, can't make tcltklib.so which is required by Ruby/Tk.
Failed to configure tk. It will not be installed.
Failed to configure tk/tkutil. It will not be installed.
configuring zlib
make[1]: Entering directory '/usr/share/rvm/src/ruby-2.3.4'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/array/resize'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bug-3571'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bug-5832'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bignum'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bug_reporter'
compiling resize.c
compiling bug.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/dln/empty'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/class'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/debug'
compiling bug.c
compiling bug_reporter.c
compiling str2big.c
compiling profile_frames.c
compiling class2name.c
compiling empty.c
linking shared-object -test-/dln/empty.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/dln/empty'
compiling inspector.c
In file included from str2big.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking shared-object -test-/bug-3571/bug.so
compiling init.c
linking shared-object -test-/bug-5832/bug.so
linking shared-object -test-/bug_reporter/bug_reporter.so
linking shared-object -test-/array/resize.so
compiling init.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bug-3571'
compiling big2str.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/exception'
compiling enc_raise.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bug-5832'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/fatal'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/array/resize'
compiling rb_fatal.c
compiling dataerror.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bug_reporter'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/file'
compiling stat.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/float'
compiling nextafter.c
In file included from big2str.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking shared-object -test-/class.so
linking shared-object -test-/debug.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/class'
compiling ensured.c
linking shared-object -test-/fatal/rb_fatal.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/funcall'
compiling passing_block.c
compiling mul.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/debug'
compiling init.c
compiling fs.c
compiling intpack.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/fatal'
compiling init.c
compiling init.c
In file included from mul.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from intpack.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/gvl/call_without_gvl'
compiling call_without_gvl.c
linking shared-object -test-/funcall/funcall.so
compiling div.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/funcall'
linking shared-object -test-/float.so
compiling bigzero.c
linking shared-object -test-/file.so
compiling init.c
linking shared-object -test-/exception.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/float'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/hash'
compiling delete.c
In file included from div.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/iseq_load'
compiling iseq_load.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/file'
compiling init.c
linking shared-object -test-/gvl/call_without_gvl.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/exception'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/iter'
compiling yield.c
In file included from bigzero.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/gvl/call_without_gvl'
compiling break.c
compiling init.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/load/dot.dot'
compiling dot.dot.c
linking shared-object -test-/bignum.so
linking shared-object -test-/load/dot.dot/dot.dot.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/marshal/compat'
linking shared-object -test-/hash.so
compiling usrcompat.c
linking shared-object -test-/iseq_load/iseq_load.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/load/dot.dot'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/marshal/usr'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/bignum'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/marshal/internal_ivar'
compiling usrmarshal.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/method'
compiling arity.c
compiling internal_ivar.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/hash'
compiling init.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/notimplement'
compiling bug.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/iseq_load'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/num2int'
compiling num2int.c
linking shared-object -test-/iter.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/iter'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/path_to_class'
compiling path_to_class.c
linking shared-object -test-/marshal/compat.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/popen_deadlock'
linking shared-object -test-/method.so
compiling infinite_loop_dlsym.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/marshal/compat'
linking shared-object -test-/marshal/internal_ivar.so
linking shared-object -test-/marshal/usr.so
linking shared-object -test-/notimplement.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/postponed_job'
compiling postponed_job.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/method'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/printf'
compiling printf.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/marshal/usr'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/notimplement'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/marshal/internal_ivar'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/proc'
compiling super.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/recursion'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/rational'
compiling recursion.c
compiling rat.c
linking shared-object -test-/num2int/num2int.so
linking shared-object -test-/path_to_class/path_to_class.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/num2int'
compiling init.c
linking shared-object -test-/popen_deadlock/infinite_loop_dlsym.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/path_to_class'
compiling receiver.c
In file included from rat.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking shared-object -test-/postponed_job.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/popen_deadlock'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/st/foreach'
linking shared-object -test-/recursion.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/st/numhash'
compiling foreach.c
compiling numhash.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/postponed_job'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/st/update'
linking shared-object -test-/rational.so
compiling update.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/recursion'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/string'
compiling set_len.c
linking shared-object -test-/printf.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/rational'
compiling modify.c
compiling qsort.c
linking shared-object -test-/proc.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/printf'
compiling enc_str_buf_cat.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/proc'
compiling cstr.c
linking shared-object -test-/st/update.so
linking shared-object -test-/st/numhash.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/struct'
compiling member.c
linking shared-object -test-/st/foreach.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/st/update'
compiling fstring.c
compiling normalize.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/st/numhash'
compiling duplicate.c
compiling enc_associate.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/st/foreach'
In file included from cstr.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling init.c
compiling ellipsize.c
In file included from normalize.c:1:0:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling init.c
compiling coderange.c
compiling nofree.c
linking shared-object -test-/struct.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/symbol'
compiling type.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/tracepoint'
compiling gc_hook.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/typeddata'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/time'
compiling typeddata.c
compiling new.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/struct'
compiling init.c
compiling init.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/vm'
linking shared-object -test-/string.so
compiling at_exit.c
linking shared-object -test-/typeddata/typeddata.so
compiling tracepoint.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/wait_for_single_fd'
compiling wait_for_single_fd.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/bigdecimal'
compiling bigdecimal.c
linking shared-object -test-/time.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/typeddata'
installing default bigdecimal libraries
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/cgi/escape'
compiling escape.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/string'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/continuation'
linking shared-object -test-/symbol.so
compiling continuation.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/time'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/coverage'
compiling coverage.c
linking shared-object -test-/vm/at_exit.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/symbol'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/date'
compiling date_core.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/vm'
linking shared-object -test-/wait_for_single_fd/wait_for_single_fd.so
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/dbm'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/dbm'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest'
compiling digest.c
linking shared-object -test-/tracepoint.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/wait_for_single_fd'
In file included from ../../method.h:14:0,
                 from ../../vm_core.h:62,
                 from coverage.c:12:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/bubblebabble'
compiling bubblebabble.c
linking shared-object continuation.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/-test-/tracepoint'
compiling date_strptime.c
linking shared-object cgi/escape.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/continuation'
compiling date_strftime.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/cgi/escape'
compiling date_parse.c
linking shared-object coverage.so
date_core.c: In function โ€˜datetime_s_jisx0301โ€™:
date_core.c:8116:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8117:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_httpdateโ€™:
date_core.c:8086:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:8087:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_rfc2822โ€™:
date_core.c:8056:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
date_core.c:8057:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_xmlschemaโ€™:
date_core.c:8025:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8026:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_rfc3339โ€™:
date_strftime.c: In function โ€˜date_strftime_with_tmxโ€™:
date_core.c:7995:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_strftime.c:573:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
      padding = '0';
      ~~~~~~~~^~~~~
date_strftime.c:574:4: note: here
    case '1':  case '2': case '3': case '4':
    ^~~~
date_core.c:7996:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_iso8601โ€™:
date_core.c:7965:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7966:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_parseโ€™:
date_core.c:7925:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7926:7: note: here
       case 1:
       ^~~~
date_core.c:7927:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  comp = Qtrue;
date_core.c:7928:7: note: here
       case 2:
       ^~~~
date_core.c: In function โ€˜datetime_s_strptimeโ€™:
date_core.c:7882:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7883:7: note: here
       case 1:
       ^~~~
date_core.c:7884:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  fmt = rb_str_new2("%FT%T%z");
date_core.c:7885:7: note: here
       case 2:
       ^~~~
date_core.c: In function โ€˜datetime_s_commercialโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7445:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7446:7: note: here
       case 7:
       ^~~~
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7447:2: note: in expansion of macro โ€˜val2offโ€™
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7448:7: note: here
       case 6:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7449:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7450:7: note: here
       case 5:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7451:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(min, 5);
  ^~~~~~~~~~~~~~~~~
date_core.c:7452:7: note: here
       case 4:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7453:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(h, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7454:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7455:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(d, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7456:7: note: here
       case 2:
       ^~~~
date_core.c:7457:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  w = NUM2INT(vw);
date_core.c:7458:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_civilโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7348:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7349:7: note: here
       case 7:
       ^~~~
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7350:2: note: in expansion of macro โ€˜val2offโ€™
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7351:7: note: here
       case 6:
       ^~~~
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/coverage'
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7352:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7353:7: note: here
       case 5:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7354:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(min, 5);
  ^~~~~~~~~~~~~~~~~
date_core.c:7355:7: note: here
       case 4:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7356:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(h, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7357:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7358:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(d, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7359:7: note: here
       case 2:
       ^~~~
date_core.c:7360:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  m = NUM2INT(vm);
date_core.c:7361:7: note: here
       case 1:
       ^~~~
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/md5'
date_core.c: In function โ€˜datetime_s_ordinalโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7271:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7272:7: note: here
       case 6:
       ^~~~
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7273:2: note: in expansion of macro โ€˜val2offโ€™
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7274:7: note: here
       case 5:
       ^~~~
compiling md5init.c
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7275:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7276:7: note: here
       case 4:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7277:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(min, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7278:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7279:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(h, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7280:7: note: here
       case 2:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7281:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(d, 2);
  ^~~~~~~~~~~~~~~~~
date_core.c:7282:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜datetime_s_jdโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7202:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7203:7: note: here
       case 5:
       ^~~~
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7204:2: note: in expansion of macro โ€˜val2offโ€™
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7205:7: note: here
       case 4:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7206:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7207:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7208:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(min, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7209:7: note: here
       case 2:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7210:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(h, 2);
  ^~~~~~~~~~~~~~~~~
date_core.c:7211:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_jisx0301โ€™:
date_core.c:4631:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4632:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_httpdateโ€™:
date_core.c:4590:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:4591:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_rfc2822โ€™:
linking shared-object digest/bubblebabble.so
date_core.c:4548:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
date_core.c:4549:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_xmlschemaโ€™:
date_core.c:4504:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4505:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_rfc3339โ€™:
date_core.c:4463:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:4464:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_iso8601โ€™:
date_core.c:4422:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4423:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_parseโ€™:
date_core.c:4366:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4367:7: note: here
       case 1:
       ^~~~
date_core.c:4368:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  comp = Qtrue;
date_core.c:4369:7: note: here
       case 2:
       ^~~~
date_core.c: In function โ€˜date_s_strptimeโ€™:
date_core.c:4275:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4276:7: note: here
       case 1:
       ^~~~
date_core.c:4277:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  fmt = rb_str_new2("%F");
date_core.c:4278:7: note: here
       case 2:
       ^~~~
date_core.c: In function โ€˜date_s_commercialโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3480:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3481:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3482:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:3483:7: note: here
       case 2:
       ^~~~
date_core.c:3484:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  w = NUM2INT(vw);
date_core.c:3485:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_civilโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3403:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3404:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3405:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:3406:7: note: here
       case 2:
       ^~~~
date_core.c:3407:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  m = NUM2INT(vm);
date_core.c:3408:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_ordinalโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3334:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3335:7: note: here
       case 2:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3336:2: note: in expansion of macro โ€˜num2int_with_fracโ€™
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:3337:7: note: here
       case 1:
       ^~~~
date_core.c: In function โ€˜date_s_jdโ€™:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3282:2: note: in expansion of macro โ€˜val2sgโ€™
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3283:7: note: here
       case 1:
       ^~~~
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/bubblebabble'
installing default date_core libraries
installing digest libraries
installing default digest libraries
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/rmd160'
compiling rmd160init.c
linking shared-object digest/md5.so
linking shared-object digest/rmd160.so
linking shared-object digest.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/sha1'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/md5'
compiling sha1init.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/sha2'
compiling sha2init.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/rmd160'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/etc'
generating constant definitions
linking shared-object digest/sha1.so
compiling etc.c
installing default sha2 libraries
linking shared-object digest/sha2.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/sha1'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/fcntl'
compiling fcntl.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/fiber'
compiling fiber.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/digest/sha2'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/fiddle'
compiling handle.c
linking shared-object fiber.so
compiling function.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/fiber'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/gdbm'
linking shared-object fcntl.so
compiling gdbm.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/fcntl'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/io/console'
compiling console.c
compiling pointer.c
compiling closure.c
linking shared-object etc.so
In file included from closure.c:3:0:
../.././internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../.././internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/etc'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/io/nonblock'
compiling nonblock.c
compiling conversions.c
linking shared-object io/nonblock.so
compiling fiddle.c
linking shared-object io/console.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/io/nonblock'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/io/wait'
compiling wait.c
installing default console libraries
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/io/console'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/json'
installing default libraries
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/json'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/json/generator'
compiling generator.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/json/parser'
compiling parser.c
linking shared-object fiddle.so
generator.c: In function โ€˜convert_UTF8_to_JSON_ASCIIโ€™:
generator.c:148:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
                                      ~~~^~~~~
generator.c:149:13: note: here
             case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
             ^~~~
generator.c:149:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
                                      ~~~^~~~~
generator.c:150:13: note: here
             case 3: ch += *source++; ch <<= 6;
             ^~~~
generator.c:150:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 3: ch += *source++; ch <<= 6;
                                      ~~~^~~~~
generator.c:151:13: note: here
             case 2: ch += *source++; ch <<= 6;
             ^~~~
generator.c:151:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 2: ch += *source++; ch <<= 6;
                                      ~~~^~~~~
generator.c:152:13: note: here
             case 1: ch += *source++; ch <<= 6;
             ^~~~
generator.c:152:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 1: ch += *source++; ch <<= 6;
                                      ~~~^~~~~
generator.c:153:13: note: here
             case 0: ch += *source++;
             ^~~~
generator.c: In function โ€˜isLegalUTF8โ€™:
generator.c:86:46: warning: this statement may fall through [-Wimplicit-fallthrough=]
         case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
generator.c:87:9: note: here
         case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
         ^~~~
generator.c:87:46: warning: this statement may fall through [-Wimplicit-fallthrough=]
         case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
generator.c:88:9: note: here
         case 2: if ((a = (*--srcptr)) > 0xBF) return 0;
         ^~~~
generator.c:96:39: warning: this statement may fall through [-Wimplicit-fallthrough=]
                         default:   if (a < 0x80) return 0;
                                       ^
generator.c:99:9: note: here
         case 1: if (*source >= 0x80 && *source < 0xC2) return 0;
         ^~~~
linking shared-object io/wait.so
parser.c: In function โ€˜cParser_parse_quirks_modeโ€™:
parser.c:1968:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1970:1: note: here
 case 1:
 ^~~~
parser.rl:803:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
             begin_value >parse_value
     ^
parser.rl:805:1: note: here
 }%%
 ^~~ 
parser.c:2015:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2017:1: note: here
 case 2:
 ^~~~
parser.c:2024:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2026:1: note: here
 case 3:
 ^~~~
parser.c:2031:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2033:1: note: here
 case 4:
 ^~~~
parser.c:2040:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2042:1: note: here
 case 5:
 ^~~~
parser.c:2047:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2049:1: note: here
 case 6:
 ^~~~
parser.c:2056:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2058:1: note: here
 case 7:
 ^~~~
parser.c:2063:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2065:1: note: here
 case 8:
 ^~~~
parser.c:2072:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2074:1: note: here
 case 9:
 ^~~~
parser.c: In function โ€˜JSON_parse_valueโ€™:
parser.rl:227:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
             *result = CNaN;
     ^
parser.rl:229:1: note: here
             rb_enc_raise(EXC_ENCODING eParserError, "%u: unexpected token at '%s'", __LINE__, p - 2);
 ^   
parser.c:630:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:632:1: note: here
 case 2:
 ^~~~
parser.c:637:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:639:1: note: here
 case 3:
 ^~~~
parser.c:644:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:646:1: note: here
 case 4:
 ^~~~
parser.c:651:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:653:1: note: here
 case 5:
 ^~~~
parser.c:658:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:660:1: note: here
 case 6:
 ^~~~
parser.c:665:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:667:1: note: here
 case 7:
 ^~~~
parser.c:672:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:674:1: note: here
 case 8:
 ^~~~
parser.c:679:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:681:1: note: here
 case 9:
 ^~~~
parser.c:686:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:688:1: note: here
 case 10:
 ^~~~
parser.c:693:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:695:1: note: here
 case 11:
 ^~~~
parser.c:700:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:702:1: note: here
 case 12:
 ^~~~
parser.c:707:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:709:1: note: here
 case 13:
 ^~~~
parser.c:714:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:716:1: note: here
 case 14:
 ^~~~
parser.c:721:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:723:1: note: here
 case 15:
 ^~~~
parser.c:728:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:730:1: note: here
 case 16:
 ^~~~
parser.c:735:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:737:1: note: here
 case 17:
 ^~~~
parser.c:742:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:744:1: note: here
 case 18:
 ^~~~
parser.c:749:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:751:1: note: here
 case 19:
 ^~~~
parser.c:756:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:758:1: note: here
 case 20:
 ^~~~
parser.c: In function โ€˜JSON_parse_stringโ€™:
parser.c:1447:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1449:1: note: here
 case 2:
 ^~~~
parser.c:1479:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1481:1: note: here
 case 3:
 ^~~~
parser.c:1488:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1490:1: note: here
 case 4:
 ^~~~
parser.c:1501:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1503:1: note: here
 case 5:
 ^~~~
parser.c:1514:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1516:1: note: here
 case 6:
 ^~~~
parser.c:1527:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1529:1: note: here
 case 7:
 ^~~~
parser.c: In function โ€˜JSON_parse_floatโ€™:
parser.c:939:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:941:1: note: here
 case 2:
 ^~~~
parser.c:948:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:950:1: note: here
 case 3:
 ^~~~
parser.c:958:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:960:1: note: here
 case 4:
 ^~~~
parser.c:965:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:967:1: note: here
 case 8:
 ^~~~
parser.c:989:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:991:1: note: here
 case 5:
 ^~~~
parser.c:1000:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1002:1: note: here
 case 6:
 ^~~~
parser.c:1007:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1009:1: note: here
 case 10:
 ^~~~
parser.c:1021:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1023:1: note: here
 case 7:
 ^~~~
parser.c: In function โ€˜JSON_parse_integerโ€™:
parser.c:840:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:842:1: note: here
 case 2:
 ^~~~
parser.c:849:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:851:1: note: here
 case 3:
 ^~~~
parser.c:866:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:868:1: note: here
 case 5:
 ^~~~
parser.c: In function โ€˜JSON_parse_arrayโ€™:
parser.c:1106:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1108:1: note: here
 case 2:
 ^~~~
parser.rl:394:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 
     ^
parser.rl:396:1: note: here
 
 ^   
parser.c:1163:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1165:1: note: here
 case 4:
 ^~~~
parser.c:1187:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1189:1: note: here
 case 5:
 ^~~~
parser.c:1196:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1198:1: note: here
 case 6:
 ^~~~
parser.c:1203:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1205:1: note: here
 case 7:
 ^~~~
parser.c:1212:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1214:1: note: here
 case 8:
 ^~~~
parser.c:1219:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1221:1: note: here
 case 9:
 ^~~~
parser.c:1228:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1230:1: note: here
 case 10:
 ^~~~
parser.c:1235:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1237:1: note: here
 case 11:
 ^~~~
parser.c:1244:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1246:1: note: here
 case 12:
 ^~~~
parser.c:1261:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1263:1: note: here
 case 13:
 ^~~~
parser.c:1270:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1272:1: note: here
 case 14:
 ^~~~
parser.c:1277:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1279:1: note: here
 case 15:
 ^~~~
parser.c:1286:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1288:1: note: here
 case 16:
 ^~~~
installing default fiddle libraries
parser.c: In function โ€˜JSON_parse_objectโ€™:
parser.c:156:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:158:1: note: here
 case 2:
 ^~~~
parser.rl:162:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 
     ^
parser.rl:164:1: note: here
     next_pair   = ignore* value_separator pair;
 ^   
parser.c:194:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:196:1: note: here
 case 4:
 ^~~~
parser.c:203:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:205:1: note: here
 case 5:
 ^~~~
parser.c:210:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:212:1: note: here
 case 6:
 ^~~~
parser.c:219:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:221:1: note: here
 case 7:
 ^~~~
parser.c:226:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:228:1: note: here
 case 8:
 ^~~~
parser.rl:154:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
         char *np;
     ^
parser.rl:156:1: note: here
         np = JSON_parse_string(json, fpc, pe, &last_name);
 ^   
parser.c:282:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:284:1: note: here
 case 10:
 ^~~~
parser.c:295:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:297:1: note: here
 case 11:
 ^~~~
parser.c:304:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:306:1: note: here
 case 12:
 ^~~~
parser.c:311:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:313:1: note: here
 case 13:
 ^~~~
parser.c:320:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:322:1: note: here
 case 14:
 ^~~~
parser.c:327:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:329:1: note: here
 case 15:
 ^~~~
parser.c:336:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:338:1: note: here
 case 16:
 ^~~~
parser.c:343:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:345:1: note: here
 case 17:
 ^~~~
parser.c:352:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:354:1: note: here
 case 18:
 ^~~~
parser.c:369:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:371:1: note: here
 case 19:
 ^~~~
parser.c:378:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:380:1: note: here
 case 20:
 ^~~~
parser.c:385:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:387:1: note: here
 case 21:
 ^~~~
parser.c:394:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:396:1: note: here
 case 22:
 ^~~~
parser.c:401:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:403:1: note: here
 case 23:
 ^~~~
parser.c:410:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:412:1: note: here
 case 24:
 ^~~~
parser.c:417:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:419:1: note: here
 case 25:
 ^~~~
parser.c:426:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:428:1: note: here
 case 26:
 ^~~~
parser.c: In function โ€˜cParser_parse_strictโ€™:
parser.c:1794:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1796:1: note: here
 case 1:
 ^~~~
parser.c:1811:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1813:1: note: here
 case 2:
 ^~~~
parser.c:1820:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1822:1: note: here
 case 3:
 ^~~~
parser.c:1827:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1829:1: note: here
 case 4:
 ^~~~
parser.c:1836:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1838:1: note: here
 case 5:
 ^~~~
parser.rl:757:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
         char *np;
     ^
parser.rl:759:1: note: here
         np = JSON_parse_array(json, fpc, pe, &result);
 ^   
parser.c:1874:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1876:1: note: here
 case 6:
 ^~~~
parser.c:1883:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1885:1: note: here
 case 7:
 ^~~~
parser.c:1890:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1892:1: note: here
 case 8:
 ^~~~
parser.c:1899:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1901:1: note: here
 case 9:
 ^~~~
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/io/wait'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/fiddle'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/mathn/complex'
compiling complex.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/mathn/rational'
compiling rational.c
linking shared-object gdbm.so
linking shared-object mathn/complex.so
linking shared-object mathn/rational.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/mathn/complex'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/mathn/rational'
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/nkf'
compiling nkf.c
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/objspace'
compiling objspace_dump.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/gdbm'
installing default nkf libraries
compiling object_tracing.c
In file included from objspace_dump.c:15:0:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from object_tracing.c:16:0:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/openssl'
compiling ossl_x509attr.c
In file included from nkf.c:62:0:
nkf-utf8/nkf.c: In function โ€˜module_connectionโ€™:
nkf-utf8/nkf.c:5710:5: warning: this โ€˜ifโ€™ clause does not guard... [-Wmisleading-indentation]
     if (nkf_enc_unicode_p(output_encoding))
     ^~
nkf-utf8/nkf.c:5713:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the โ€˜ifโ€™
  if (x0201_f == NKF_UNSPECIFIED) {
  ^~
nkf-utf8/nkf.c: In function โ€˜optionsโ€™:
nkf-utf8/nkf.c:6807:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
      fold_preserve_f = TRUE;
nkf-utf8/nkf.c:6808:2: note: here
  case 'f':   /* folding -f60 or -f */
  ^~~~
In file included from nkf.c:62:0:
nkf-utf8/nkf.c: In function โ€˜set_input_encodingโ€™:
nkf-utf8/nkf.c:1238:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
     ^
nkf-utf8/nkf.c:1239:5: note: here
     case CP50220:
     ^~~~
In file included from ossl.h:57:0,
                 from ossl_x509attr.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
linking shared-object json/ext/parser.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/json/parser'
compiling ossl_x509crl.c
In file included from ossl.h:222:0,
                 from ossl_x509attr.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:23:0,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_x509attr.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or โ€˜...โ€™ before โ€˜(โ€™ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^
openssl_missing.h:90:6: error: expected declaration specifiers or โ€˜...โ€™ before โ€˜(โ€™ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^
In file included from ossl.h:236:0,
                 from ossl_x509attr.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling objspace.c
ossl_x509attr.c: In function โ€˜ossl_x509attr_set_valueโ€™:
ossl_x509attr.c:206:12: error: dereferencing pointer to incomplete type โ€˜X509_ATTRIBUTE {aka struct x509_attributes_st}โ€™
     if(attr->value.set){
            ^~
ossl_x509attr.c: In function โ€˜ossl_x509attr_get_valueโ€™:
ossl_x509attr.c:238:11: warning: implicit declaration of function โ€˜i2d_ASN1_SET_OF_ASN1_TYPEโ€™; did you mean โ€˜i2d_ASN1_SET_ANYโ€™? [-Wimplicit-function-declaration]
  length = i2d_ASN1_SET_OF_ASN1_TYPE(attr->value.set,
           ^~~~~~~~~~~~~~~~~~~~~~~~~
           i2d_ASN1_SET_ANY
Makefile:301: recipe for target 'ossl_x509attr.o' failed
make[2]: *** [ossl_x509attr.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/pathname'
compiling pathname.c
In file included from objspace.c:15:0:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
installing default pathname libraries
make[2]: Entering directory '/usr/share/rvm/src/ruby-2.3.4/ext/psych'
compiling psych_parser.c
In file included from ossl.h:57:0,
                 from ossl_x509crl.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
In file included from ossl.h:222:0,
                 from ossl_x509crl.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:23:0,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_x509crl.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or โ€˜...โ€™ before โ€˜(โ€™ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^
openssl_missing.h:90:6: error: expected declaration specifiers or โ€˜...โ€™ before โ€˜(โ€™ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^
In file included from ossl.h:236:0,
                 from ossl_x509crl.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_x509crl.c: In function โ€˜DupX509CRLPtrโ€™:
ossl_x509crl.c:70:5: warning: implicit declaration of function โ€˜CRYPTO_addโ€™; did you mean โ€˜CRYPTO_freeโ€™? [-Wimplicit-function-declaration]
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
     ^~~~~~~~~~
     CRYPTO_free
ossl_x509crl.c:70:20: error: dereferencing pointer to incomplete type โ€˜X509_CRL {aka struct X509_crl_st}โ€™
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
                    ^~
ossl_x509crl.c:70:37: error: โ€˜CRYPTO_LOCK_X509_CRLโ€™ undeclared (first use in this function); did you mean โ€˜PEM_read_X509_CRLโ€™?
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
                                     ^~~~~~~~~~~~~~~~~~~~
                                     PEM_read_X509_CRL
ossl_x509crl.c:70:37: note: each undeclared identifier is reported only once for each function it appears in
ossl_x509crl.c: In function โ€˜ossl_x509crl_get_last_updateโ€™:
ossl_x509crl.c:231:5: warning: โ€˜X509_CRL_get_lastUpdateโ€™ is deprecated [-Wdeprecated-declarations]
     return asn1time_to_time(X509_CRL_get_lastUpdate(crl));
     ^~~~~~
In file included from /usr/include/openssl/x509_vfy.h:20:0,
                 from /usr/include/openssl/x509.h:309,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_x509crl.c:10:
/usr/include/openssl/x509.h:708:1: note: declared here
 DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl))
 ^
ossl_x509crl.c: In function โ€˜ossl_x509crl_get_next_updateโ€™:
ossl_x509crl.c:256:5: warning: โ€˜X509_CRL_get_nextUpdateโ€™ is deprecated [-Wdeprecated-declarations]
     return asn1time_to_time(X509_CRL_get_nextUpdate(crl));
     ^~~~~~
In file included from /usr/include/openssl/x509_vfy.h:20:0,
                 from /usr/include/openssl/x509.h:309,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_x509crl.c:10:
/usr/include/openssl/x509.h:709:1: note: declared here
 DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl))
 ^
Makefile:301: recipe for target 'ossl_x509crl.o' failed
make[2]: *** [ossl_x509crl.o] Error 1
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/openssl'
exts.mk:210: recipe for target 'ext/openssl/all' failed
make[1]: *** [ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
compiling psych.c
compiling psych_to_ruby.c
compiling psych_yaml_tree.c
linking shared-object json/ext/generator.so
compiling psych_emitter.c
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/json/generator'
linking shared-object objspace.so
installing default psych libraries
linking shared-object pathname.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/objspace'
linking shared-object bigdecimal.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/pathname'
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/bigdecimal'
linking shared-object psych.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/psych'
linking shared-object date_core.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/date'
linking shared-object nkf.so
make[2]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4/ext/nkf'
make[1]: Leaving directory '/usr/share/rvm/src/ruby-2.3.4'
uncommon.mk:203: recipe for target 'build-ext' failed
make: *** [build-ext] Error 2
++ return 2

Command-Line Equivalent for README Step 2 Change Your Terminal Window ?

For README Step 2 Change Your Terminal Window:

https://github.com/rvm/ubuntu_rvm#2-change-your-terminal-window

Can you include an equivalent command-line way to enable this setting?

I see other methods of getting RVM suggest the following:

rvm get stable --auto-dotfiles

But I get the following, which I think might be expected for this method:

$ rvm get stable --auto-dotfiles
Downloading https://get.rvm.io
Could not download rvm-installer, please report to https://github.com/rvm/rvm/issues

Can you suggest the equivalent command-line option and perhaps consider adding it to the README?

Thanks!

Step #2 does not take into account users who are running Ubuntu Server

Because I was unable to do step 2 on ubuntu server, i now have big issues with my VM install's version of RVM

alilland@ubuntu:~$ rvm install ruby 2.4.1
Warning! PATH is not properly set up, '/home/alilland/.rvm/gems/ruby-2.4.1/bin' is not at first place.
         Usually this is caused by shell initialization files. Search for 'PATH=...' entries.
         You can also re-add RVM to your profile by running: 'rvm get stable --auto-dotfiles'.
         To fix it temporarily in this shell session run: 'rvm use ruby-2.4.1'.
         To ignore this error add rvm_silence_path_mismatch_check_flag=1 to your ~/.rvmrc file.
Searching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.1.tar.bz2
Checking requirements for ubuntu.
Requirements installation successful.
...

after canceling the install because of the errors, I ran rvm get stable --auto-dotfiles, this however fails to install and says to report failure to https://github.com/rvm/rvm/issues

migrate from installation with curl

I installed rvm using the curl command, as suggested by the rvm website.
I wonder if is it possible to safely remove rvm and install the Ubuntu package, preserving rubies, gemsets and configuration files.

Failed to fetch http://ppa.launchpad.net/rael-gc/rvm/ubuntu/dists/eoan/main/binary-amd64/Packages

I am trying to install rvm in docker:
FROM jenkins/jenkins:lts
...
RUN sudo apt-get install -y software-properties-common
RUN sudo apt-add-repository -y ppa:rael-gc/rvm
RUN sudo apt-get update && sudo apt dist-upgrade
RUN sudo apt-get install -y rvm --allow-unauthenticated

I get this error:
E: Failed to fetch http://ppa.launchpad.net/rael-gc/rvm/ubuntu/dists/eoan/main/binary-amd64/Packages 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
The command '/bin/sh -c sudo apt-get update && sudo apt dist-upgrade' returned a non-zero code: 100

zsh:1: command not found: rvm in post-install script

Trying to install the package on Ubuntu 16.04.5 LTS the following happens and the package installation basically fails:

Creating local gemsets for admin
zsh:1: command not found: rvm
dpkg: error processing package rvm (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 rvm
E: Sub-process /usr/bin/dpkg returned an error code (1)
Full log:
admin@server ~ $ sudo apt install software-properties-common
Reading package lists... Done
Building dependency tree       
Reading state information... Done
software-properties-common is already the newest version (0.96.20.7).
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-138 linux-headers-4.4.0-138-generic
  linux-image-4.4.0-138-generic linux-image-extra-4.4.0-138-generic
  linux-signed-image-4.4.0-138-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
admin@server ~ $ sudo apt-add-repository -y ppa:rael-gc/rvm
gpg: keyring `/tmp/tmphzbseomb/secring.gpg' created
gpg: keyring `/tmp/tmphzbseomb/pubring.gpg' created
gpg: requesting key F4E3FBBE from hkp server keyserver.ubuntu.com
gpg: /tmp/tmphzbseomb/trustdb.gpg: trustdb created
gpg: key F4E3FBBE: public key "Launchpad PPA for Rael" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

admin@server ~ $ sudo apt update
Get:1 http://ppa.launchpad.net/rael-gc/rvm/ubuntu xenial InRelease [18.0 kB]
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB] 
Hit:3 http://us.archive.ubuntu.com/ubuntu xenial InRelease                       
Hit:4 https://releases.wikimedia.org/debian jessie-mediawiki InRelease
Get:5 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Get:6 http://ppa.launchpad.net/rael-gc/rvm/ubuntu xenial/main amd64 Packages [592 B]
Get:7 http://ppa.launchpad.net/rael-gc/rvm/ubuntu xenial/main i386 Packages [592 B]  
Get:8 http://ppa.launchpad.net/rael-gc/rvm/ubuntu xenial/main Translation-en [276 B] 
Get:9 http://us.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]        
Get:10 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [892 kB]
Get:11 http://us.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [790 kB]
Get:12 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [715 kB]
Get:13 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [655 kB]
Fetched 3,394 kB in 2s (1,584 kB/s)                    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
All packages are up to date.

admin@server ~ $ sudo apt install rvm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.4.0-138 linux-headers-4.4.0-138-generic
  linux-image-4.4.0-138-generic linux-image-extra-4.4.0-138-generic
  linux-signed-image-4.4.0-138-generic
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  bison libbison-dev libgdbm-dev libncurses5-dev libsqlite3-dev sqlite3
Suggested packages:
  bison-doc ncurses-doc sqlite3-doc
The following NEW packages will be installed:
  bison libbison-dev libgdbm-dev libncurses5-dev libsqlite3-dev rvm sqlite3
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,771 kB of archives.
After this operation, 11.0 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://ppa.launchpad.net/rael-gc/rvm/ubuntu xenial/main amd64 rvm all 1.29.4-1 [940 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libbison-dev amd64 2:3.0.4.dfsg-1 [338 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 bison amd64 2:3.0.4.dfsg-1 [259 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libgdbm-dev amd64 1.8.3-13.1 [35.9 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libncurses5-dev amd64 6.0+20160213-1ubuntu1 [175 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 libsqlite3-dev amd64 3.11.0-1ubuntu1 [508 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 sqlite3 amd64 3.11.0-1ubuntu1 [515 kB]
Fetched 2,771 kB in 1s (1,771 kB/s)
Selecting previously unselected package libbison-dev:amd64.
(Reading database ... 205411 files and directories currently installed.)
Preparing to unpack .../libbison-dev_2%3a3.0.4.dfsg-1_amd64.deb ...
Unpacking libbison-dev:amd64 (2:3.0.4.dfsg-1) ...
Selecting previously unselected package bison.
Preparing to unpack .../bison_2%3a3.0.4.dfsg-1_amd64.deb ...
Unpacking bison (2:3.0.4.dfsg-1) ...
Selecting previously unselected package libgdbm-dev.
Preparing to unpack .../libgdbm-dev_1.8.3-13.1_amd64.deb ...
Unpacking libgdbm-dev (1.8.3-13.1) ...
Selecting previously unselected package libncurses5-dev:amd64.
Preparing to unpack .../libncurses5-dev_6.0+20160213-1ubuntu1_amd64.deb ...
Unpacking libncurses5-dev:amd64 (6.0+20160213-1ubuntu1) ...
Selecting previously unselected package libsqlite3-dev:amd64.
Preparing to unpack .../libsqlite3-dev_3.11.0-1ubuntu1_amd64.deb ...
Unpacking libsqlite3-dev:amd64 (3.11.0-1ubuntu1) ...
Selecting previously unselected package sqlite3.
Preparing to unpack .../sqlite3_3.11.0-1ubuntu1_amd64.deb ...
Unpacking sqlite3 (3.11.0-1ubuntu1) ...
Selecting previously unselected package rvm.
Preparing to unpack .../archives/rvm_1.29.4-1_all.deb ...
Unpacking rvm (1.29.4-1) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for install-info (6.1.0.dfsg.1-5) ...
Setting up libbison-dev:amd64 (2:3.0.4.dfsg-1) ...
Setting up bison (2:3.0.4.dfsg-1) ...
update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
Setting up libgdbm-dev (1.8.3-13.1) ...
Setting up libncurses5-dev:amd64 (6.0+20160213-1ubuntu1) ...
Setting up libsqlite3-dev:amd64 (3.11.0-1ubuntu1) ...
Setting up sqlite3 (3.11.0-1ubuntu1) ...
Setting up rvm (1.29.4-1) ...
Creating group 'rvm'
Installing RVM to /usr/share/rvm/
Installation of RVM in /usr/share/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.
  * Please do NOT forget to add your users to the rvm group.
     The installer no longer auto-adds root or users to the rvm group. Admins must do this.
     Also, please note that group memberships are ONLY evaluated at login time.
     This means that users must log out then back in before group membership takes effect!
Creating local gemsets for admin
zsh:1: command not found: rvm
dpkg: error processing package rvm (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 rvm
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ubuntu 18.04 support

I know it's only currently in Beta, but I was wondering if you plan on adding support for 18.04? I tried adding the PPA to my 18.04 beta machine and it complained there was no release file for bionic beaver.

Thanks

Unable to install ruby 2.2 on Ubutnu 18.04

Error running '__rvm_make -j4'

  • rvm version 1.29.03
  • after running rvm install 2.2.2:
ruby-2.2.2 - #removing src/ruby-2.2.2..
Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/18.04/x86_64/ruby-2.2.2.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system....
Installing required packages: libreadline6-dev...
Requirements installation successful.
Installing Ruby from source to: /usr/share/rvm/rubies/ruby-2.2.2, this may take a while depending on your cpu(s)...
ruby-2.2.2 - #downloading ruby-2.2.2, this may take a while depending on your connection...
ruby-2.2.2 - #extracting ruby-2.2.2 to /usr/share/rvm/src/ruby-2.2.2....
ruby-2.2.2 - #applying patch /usr/share/rvm/patches/ruby/2.2.2/fix_installing_bundled_gems.patch.
ruby-2.2.2 - #applying patch /usr/share/rvm/patches/ruby/2.2.2/openssl3.patch.
ruby-2.2.2 - #configuring.........................................................
ruby-2.2.2 - #post-configuration..
ruby-2.2.2 - #compiling.....................................................................................................................................................................................|
Error running '__rvm_make -j4',
please read /home/arturo/.rvm/log/1525017757_ruby-2.2.2/make.log
There has been an error while running make. Halting the installation.

RVM package fails to configure on fresh Ubuntu 18.04 server install

RVM package fails to configure during install.

Steps to reproduce

โ€ข apt-add-repository -y ppa:rael-gc/rvm
โ€ข apt-get update
โ€ข apt-get install rvm

Expected behavior

For the package to install and rvm command be able to run.

Actual behavior

apt-get install rvm
Do you want to continue? [Y/n]
Setting up rvm (1.29.9-1) ...
Upgrading the RVM installation in /usr/share/rvm/
Upgrade of RVM in /usr/share/rvm/ is complete.

  • Please do NOT forget to add your users to the rvm group.
    The installer no longer auto-adds root or users to the rvm group. Admins must do this.
    Also, please note that group memberships are ONLY evaluated at login time.
    This means that users must log out then back in before group membership takes effect!

Thanks for installing RVM ๐Ÿ™
Please consider donating to our open collective to help us maintain RVM.

๐Ÿ‘‰ Donate: https://opencollective.com/rvm/donate

Creating local gemsets for USER
-su: rvm: command not found
dpkg: error processing package rvm (--configure):
installed rvm package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
rvm
E: Sub-process /usr/bin/dpkg returned an error code (1)

rvm
-bash: rvm: command not found

Environment info

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

Permission denied error on 17.04

I have a fresh installation of Ubuntu 17.04. Installed the rvm using apt.

It fails when I try to install a ruby version.

Warning: Failed to create the file ruby-2.4.0.tar.bz2.part: Permission denied

Output:

$ rvm install ruby
Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/17.04/x86_64/ruby-2.4.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system....
Installing required packages: libreadline6-dev...
Requirements installation successful.
Installing Ruby from source to: /usr/share/rvm/rubies/ruby-2.4.0, this may take a while depending on your cpu(s)...
ruby-2.4.0 - #downloading ruby-2.4.0, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0Warning: Failed to create the file ruby-2.4.0.tar.bz2.part: Permission denied
  0 11.9M    0  2759    0     0   1494      0  2:20:15  0:00:01  2:20:14  1495
curl: (23) Failed writing body (0 != 2759)
There was an error(23).
Checking fallback: https://ftp.ruby-lang.org/pub/ruby/2.4/ruby-2.4.0.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0Warning: Failed to create the file ruby-2.4.0.tar.bz2.part: Permission denied
  0 11.9M    0 16149    0     0   5490      0  0:38:10  0:00:02  0:38:08  5489
curl: (23) Failed writing body (0 != 16149)
There was an error(23).
Failed download
There has been an error fetching the ruby interpreter. Halting the installation.

How can I fix this issue?

Incorrectly ordered/formatted changes to user .profile/.bash* files

After following the instructions, I get no ruby available at the command line (nor irb nor any other tools other than rvm).

I note that my .bashrc and similar files do not reflect the different paths for rvm, and so am wondering what other changes I should be aware of needing to make. For example, where should PATH be modified to point to /usr/share/rvm/rubies/ruby-2.4.0/bin?

Cannot add PPA

root@dev:~# sudo apt-add-repository -y ppa:rael-gc/rvm
Cannot add PPA: 'ppa:rael-gc/rvm'.
Please check that the PPA name or format is correct.

What am I doing wrong?

sudo apt-add-repository -y ppa:rael-gc/rvm

OK, I'm a total noob to Ubuntu/linux. I've been through all the other related issues here and though most of it is Greek to me, I managed to try some of the fixes. None worked and I'm not behind a proxy, I'm using my home connection.

Every time I try: sudo apt-add-repository -y ppa:rael-gc/rvm

I get:
Cannot add PPA: 'ppa:~rael-gc/ubuntu/rvm'.
ERROR: '~rael-gc' user or team does not exist.

Looks the same as the guy back in June, only I know I'm not behind a proxy, unless there's something I don't know.

I'm using Ubuntu 16.04 on Windows 10, and I ran the update and the upgrade before trying. This is literally my first day as a linux user. Learned Ruby no problem and now wanna get into Rails.

Can't install ruby interpreters after clean ubuntu install

After a clean standard ubuntu install (i tried both 17.10 and 18.04), while running rvm install 2.3.3 i get the following error:

Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/18.04/x86_64/ruby-2.3.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system......
Installing required packages: libreadline6-dev...
Requirements installation successful.
Installing Ruby from source to: /usr/share/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
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file ruby-2.3.3.tar.bz2.part: Permission denied
  0 13.7M    0  2499    0     0   9430      0  0:25:30 --:--:--  0:25:30  9430
curl: (23) Failed writing body (0 != 2499)
There was an error(23).
Checking fallback: https://ftp.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0Warning: Failed to create the file ruby-2.3.3.tar.bz2.part: Permission denied
  0 13.7M    0 16149    0     0   8197      0  0:29:20  0:00:01  0:29:19  8193
curl: (23) Failed writing body (0 != 16149)
There was an error(23).
Failed download
There has been an error fetching the ruby interpreter. Halting the installation.

Some months ago everything was working as expected.

I already checked that my user is under the rvm group and i am running bash as login shell.

Discrepencies between freshly installed 'rvm' instructions and the README directions

After installing rvm, there are instructions on how to proceed:

Installation of RVM in /usr/share/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.
  * Please do NOT forget to add your users to the rvm group.
     The installer no longer auto-adds root or users to the rvm group. Admins must do this.
     Also, please note that group memberships are ONLY evaluated at login time.
     This means that users must log out then back in before group membership takes effect!
Thanks for installing RVM ๐Ÿ™
Please consider donating to our open collective to help us maintain RVM.

๐Ÿ‘‰  Donate: https://opencollective.com/rvm/donate

These instructions differ, or at least go unmentioned, in the README directions in this repo. As a new user, this is confusing.

Expected behaviour

I expect the rvm terminal instructions to at least be mentioned in the README instructions. Moreover, I would prefer that they are incorporated.

Installation fails for Ubuntu 18.04.2 LTS

Description

During install exactly following the instructions in this repo I got this message:

Creating local gemsets for chris
-su: rvm: command not found
dpkg: error processing package rvm (--configure):
 installed rvm package post-installation script subprocess returned error exit status 127
Errors were encountered while processing:
 rvm
E: Sub-process /usr/bin/dpkg returned an error code (1)

I have tried this install in BASH shell and ZSH with the exact same result. I've uninstalled and purged rvm and retried several times with the same result. I have gone through my PATH and the results of 'env' and removed or unset everything referencing RVM. I have logged out and restarted several times after cleaning everything and I still get the same result

Steps to reproduce

  1. Ran sudo apt-get install software-properties-common
  2. Ran sudo apt-add-repository -y ppa:rael-gc/rvm
  3. Ran sudo apt-get update
  4. Ran sudo apt-get install rvm

Expected behavior

Expected to see a clean install without error messages.

Actual behavior

Environment info

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

There has been an error fetching the ruby interpreter. Halting the installation.

Description

I am on a Ubuntu 14.04 machine.
I installed the rvm package for Ubuntu and then I tried to install some rubies. I tried with ruby 2.7.1, ruby 2.6.6, ruby 2.6.0 but all my attempts failed:

me@HOME:~/Downloads$ rvm install 2.7.1
Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/14.04/x86_64/ruby-2.7.1.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for ubuntu.
Requirements installation successful.
Installing Ruby from source to: /usr/share/rvm/rubies/ruby-2.7.1, this may take a while depending on your cpu(s)...
ruby-2.7.1 - #downloading ruby-2.7.1, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file ruby-2.7.1.tar.bz2.part: Permission denied
  0 14.0M    0  1371    0     0   7139      0  0:34:16 --:--:--  0:34:16  7178
curl: (23) Failed writing body (0 != 1371)
There was an error(23).
Checking fallback: https://ftp.ruby-lang.org/pub/ruby/2.7/ruby-2.7.1.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0Warning: Failed to create the file ruby-2.7.1.tar.bz2.part: Permission denied
  0 14.0M    0  1371    0     0    246      0 16:34:53  0:00:05 16:34:48   338
curl: (23) Failed writing body (0 != 1371)
There was an error(23).
Failed download
There has been an error fetching the ruby interpreter. Halting the installation.

It seems that the installations are failing to create the ruby-*.tar.bz2.part file, because the permission is denied. What is the download location? How can I solve this issue?

Environment info

me@HOME:~/Downloads$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.6 LTS"

Cannot add PPA

I'm following the directions described in repository README but getting this error in step 1

sudo apt-add-repository -y ppa:rael-gc/rvm
Cannot add PPA: 'ppa:~rael-gc/ubuntu/rvm'.
ERROR: '~rael-gc' user or team does not exist.

Installation on Docker fails

Hello,

I'm trying to get RVM installed on Ubuntu, but using Docker which seems to complicate things quite a bit. This is the smallest Dockerfile that can reproduce the problem:

FROM ubuntu:16.04
RUN apt-get update && \
    apt-get install -y software-properties-common
RUN apt-add-repository -y ppa:rael-gc/rvm && apt-get update
RUN apt-get install -y rvm

You can build that Dockerfile with something like this (Docker must be already installed):

docker build -t ubuntu-rvm .

apt-get install -y rvm fails. This is the problem, I think:

/var/lib/dpkg/info/rvm.postinst: line 25: /etc/profile.d/rvm.sh: No such file or directory
dpkg: error processing package rvm (--configure):
 subprocess installed post-installation script returned error exit status 1

Anything obvious that pops?

A few things to note:

  • apt-add-repository seems not to be part of a vanilla Ubuntu 16.04 installation, that's why software-properties-common is installed first. I was thinking about sending a PR to update the docs to mention this?
  • The above Docker file will still not leave a running RVM installation because it's missing the "run command as login shell bit", which I think it can be done in the terminal with bash -l, but I'm stuck on the problem above.

libreadline6 issues on 18.04

When trying to install rvm from the official rvm ppa on Ubuntu 18.04 I get the following error:

The following packages have unmet dependencies:
 rvm : Depends: libreadline6 but it is not installable
E: Unable to correct problems, you have held broken packages.

I tried manually installing libreadline6-dev, which worked fine, but I still get this error.

The apt way

I suggest to still with the common way rather than the apt way for ubuntu, missing ruby versions and issues while installing them.

vagrant user is not added to rvm group

In ubuntu/xenial64 vagrant machine vagrant user (default one) is given with sudoers permissions via /etc/sudoers.d/vagrant and not by adding it to the sudo group.

Therefore ubuntu_rvm fails to add it to the rvm group.

From one side a good way for ubuntu_rvm to determine list of users with sudo permissions would be sudo command itself. Close match is something like sudo -l -U user-name or sudo -ll -U user-name but its interface seems not scriptable.

RVM 1.28.0 is available

Warning, new version of rvm available '1.28.0', you are using older version '1.27.0'.

Could you please update the PPA?

Please update the PPA for Ubuntu Hirsute Hippo

Description

Hello,

could you please update the PPA for Ubuntu Hirsute Hippo? The last available version in the PPA is for Ubuntu Groovy.

Thanks a lot!

Environment info

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=21.04
DISTRIB_CODENAME=hirsute
DISTRIB_DESCRIPTION="Ubuntu 21.04"

P.S. Dรฉjร  vu?

No command 'rvm' found after installation

I'm on KDE, went through the steps outlined to install rvm but when I try to run any rvm commands (after rebooting) I get the error

No command 'rvm' found, but there are 26 similar ones
rvm: command not found

Any idea what I can check?

Error running 'requirements_debian_update_system ruby-2.7.0',

Description

I followed the README's instructions to install RVM on Ubuntu 20.04, including having restarted my machine, but I get the following error whenever I try to install a Ruby:

Searching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/20.04/x86_64/ruby-2.7.0.tar.bz2
Checking requirements for ubuntu.
Installing requirements for ubuntu.
Updating system - please wait
There has been an error while updating your system using `apt-get`.
It seems that there are some 404 Not Found errors for repositories listed in:

    /etc/apt/sources.list
    /etc/apt/sources.list.d/*.list

Make sure that all repositories are available from your system and verify your setup by running manually:

    sudo apt-get update

Make sure that it works correctly before proceeding with RVM.

If you are working from the GUI instead of the terminal, you might want to verify and fix broken
repositories using "Software & Updates" application.

Error running 'requirements_debian_update_system ruby-2.7.0',
please read /home/george/.rvm/log/1603454373_ruby-2.7.0/update_system.log
Requirements installation failed with status: 100.

The log file mentioned in that error message contains the followign:

Click to expand
+requirements_debian_update_system:2> __rvm_try_sudo apt-get --quiet --yes update
+__rvm_try_sudo:2> typeset -a command_to_run
+__rvm_try_sudo:3> typeset sudo_path sbin_path missing_paths
+__rvm_try_sudo:4> command_to_run=( apt-get --quiet --yes update ) 
+__rvm_try_sudo:5> ((  UID == 0  ))
+__rvm_try_sudo:6> case 4 (0)
+__rvm_try_sudo:6> case 4 (1)
+__rvm_try_sudo:6> case 4 (2)
+__rvm_try_sudo:6> case 4 (*)
+__rvm_try_sudo:21> is_a_function __rvm_sudo
+is_a_function:2> typeset -f __rvm_sudo
+__rvm_try_sudo:23> missing_paths='' 
+__rvm_try_sudo:24> sbin_path=/sbin
+__rvm_try_sudo:26> [[ -d /sbin ]]
+__rvm_try_sudo:26> [[ :/home/george/.nvm/versions/node/v15.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin:/usr/local/go/bin:/home/george/Android/Sdk/emulator:/home/george/Android/Sdk/tools:/home/george/Android/Sdk/tools/bin:/home/george/Android/Sdk/platform-tools: != *:/sbin:* ]]
+__rvm_try_sudo:24> sbin_path=/usr/sbin
+__rvm_try_sudo:26> [[ -d /usr/sbin ]]
+__rvm_try_sudo:26> [[ :/home/george/.nvm/versions/node/v15.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin:/usr/local/go/bin:/home/george/Android/Sdk/emulator:/home/george/Android/Sdk/tools:/home/george/Android/Sdk/tools/bin:/home/george/Android/Sdk/platform-tools: != *:/usr/sbin:* ]]
+__rvm_try_sudo:24> sbin_path=/usr/local/sbin
+__rvm_try_sudo:26> [[ -d /usr/local/sbin ]]
+__rvm_try_sudo:26> [[ :/home/george/.nvm/versions/node/v15.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin:/usr/local/go/bin:/home/george/Android/Sdk/emulator:/home/george/Android/Sdk/tools:/home/george/Android/Sdk/tools/bin:/home/george/Android/Sdk/platform-tools: != *:/usr/local/sbin:* ]]
+__rvm_try_sudo:30> [[ -n '' ]]
+__rvm_try_sudo:33> command_to_run=( __rvm_sudo -p '%p password required for '\''apt-get --quiet --yes update'\'': ' apt-get --quiet --yes update ) 
+__rvm_try_sudo:40> __rvm_sudo -p '%p password required for '\''apt-get --quiet --yes update'\'': ' apt-get --quiet --yes update
+__rvm_sudo:2> sudo -p '%p password required for '\''apt-get --quiet --yes update'\'': ' apt-get --quiet --yes update
Hit:1 http://ppa.launchpad.net/rael-gc/rvm/ubuntu focal InRelease
Hit:2 http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_20.04  InRelease
Ign:3 http://ppa.launchpad.net/teatime/ppa/ubuntu focal InRelease
Hit:4 http://gb.archive.ubuntu.com/ubuntu focal InRelease
Get:5 https://dl.yarnpkg.com/debian stable InRelease [17.1 kB]
Ign:6 http://binaries.erlang-solutions.com/debian focal InRelease
Get:7 http://gb.archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
Hit:8 http://binaries.erlang-solutions.com/debian focal Release
Err:9 http://ppa.launchpad.net/teatime/ppa/ubuntu focal Release
  404  Not Found [IP: 91.189.95.83 80]
Get:10 https://cli.github.com/packages focal InRelease [3,024 B]
Get:11 http://gb.archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
Get:12 https://repo.skype.com/deb stable InRelease [4,502 B]
Get:13 https://download.docker.com/linux/ubuntu bionic InRelease [64.4 kB]
Get:14 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Get:15 http://dl.google.com/linux/chrome/deb stable InRelease [1,811 B]
Err:5 https://dl.yarnpkg.com/debian stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 23E7166788B63E1E
Err:10 https://cli.github.com/packages focal InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C99B11DEB97541F0
Err:12 https://repo.skype.com/deb stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1F3045A5DF7587C3
Err:15 http://dl.google.com/linux/chrome/deb stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 78BD65473CB3BD13
Reading package lists...
E: The repository 'http://ppa.launchpad.net/teatime/ppa/ubuntu focal Release' does not have a Release file.
W: GPG error: https://dl.yarnpkg.com/debian stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 23E7166788B63E1E
E: The repository 'https://dl.yarnpkg.com/debian stable InRelease' is not signed.
W: GPG error: https://cli.github.com/packages focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C99B11DEB97541F0
E: The repository 'https://cli.github.com/packages focal InRelease' is not signed.
W: GPG error: https://repo.skype.com/deb stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1F3045A5DF7587C3
E: The repository 'https://repo.skype.com/deb stable InRelease' is not signed.
W: GPG error: http://dl.google.com/linux/chrome/deb stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 78BD65473CB3BD13
E: The repository 'http://dl.google.com/linux/chrome/deb stable InRelease' is not signed.
+__rvm_try_sudo:40> return 100
+requirements_debian_update_system:4> typeset '__ret=100'
+requirements_debian_update_system:5> case 100 (100)
+requirements_debian_update_system:7> rvm_error $'There has been an error while updating your system using `apt-get`.\nIt seems that there are some 404 Not Found errors for repositories listed in:\n\n    /etc/apt/sources.list\n    /etc/apt/sources.list.d/*.list\n\nMake sure that all repositories are available from your system and verify your setup by running manually:\n\n    sudo apt-get update\n\nMake sure that it works correctly before proceeding with RVM.\n\nIf you are working from the GUI instead of the terminal, you might want to verify and fix broken\nrepositories using "Software & Updates" application.\n'
+rvm_error:2> rvm_pretty_print stderr
+rvm_pretty_print:2> case auto (0|no)
+rvm_pretty_print:2> case auto (1|auto)
+rvm_pretty_print:8> case xterm-256color (dumb|unknown)
+rvm_pretty_print:12> case stderr (stdout)
+rvm_pretty_print:12> case stderr (stderr)
+rvm_pretty_print:14> [[ -t 2 ]]
+rvm_pretty_print:14> return 1
+rvm_error:4> printf %b $'There has been an error while updating your system using `apt-get`.\nIt seems that there are some 404 Not Found errors for repositories listed in:\n\n    /etc/apt/sources.list\n    /etc/apt/sources.list.d/*.list\n\nMake sure that all repositories are available from your system and verify your setup by running manually:\n\n    sudo apt-get update\n\nMake sure that it works correctly before proceeding with RVM.\n\nIf you are working from the GUI instead of the terminal, you might want to verify and fix broken\nrepositories using "Software & Updates" application.\n\\n'
+requirements_debian_update_system:24> return 100

I've tried running sudo apt-get update like the error message suggests and it seems to run fine, but I still get the same error message.

What am I doing wrong?

Terminal doesn't recongnize rvm after installation

RVM is installed successfully on ubunto but terminal doesn't recognize the rvm command (command not found) even after running it as a login shell. How can I logout from the terminal in order to see changes?

Warning! PATH is not properly set up

Description

I installed rvm an year ago following instructions at https://github.com/rvm/ubuntu_rvm.
After the update of the last week, when I run rvm list, I receive the following warning message:

$ rvm list
Warning! PATH is not properly set up, /home/marco/.rvm/gems/ruby-2.5.1/bin is not at first place.
     Usually this is caused by shell initialization files. Search for PATH=... entries.
     You can also re-add RVM to your profile by running: rvm get stable --auto-dotfiles
     To fix it temporarily in this shell session run: rvm use ruby-2.5.1
     To ignore this error add rvm_silence_path_mismatch_check_flag=1 to your ~/.rvmrc file.

My PATH environment variable is:

$ echo $PATH
/home/marco/bin:/home/marco/anaconda3/bin:/home/marco/bin:/home/marco/.rvm/gems/ruby-2.5.1/bin:/home/marco/.rvm/gems/ruby-2.5.1@global/bin:/usr/share/rvm/rubies/ruby-2.5.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin

I attached below my shell initialization files, ~/.bashrc and ~/.profile
How can I solve once for all this issue, making sure to prepend all rvm paths to the $PATH variable?

Environment info

bashrc.txt
profile.txt

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

Install/remove messages are too verbose

Description & Steps to reproduce

When installing/removing the PPA package from the CLI, there are a lot of unusual messages.

Expected behavior

Cf output below.
Aside from the errors messages (which are another problem) only the usual messages from apt-get should appear.
And yes, somehow the "Thanks for installing [...]" message appears twice.
As far as I can remember, rvm is the only package that does this.
I know, it's a minor annoyance.
Feel free to close this issue, but I just had to make you aware of it.

Actual behavior

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

  • First you need to logout - login again, anyone using rvm will be operating with umask u=rwx,g=rwx,o=rx.
  • Please do NOT forget to add your users to the rvm group.
    The installer no longer auto-adds root or users to the rvm group. Admins must do this.
    Also, please note that group memberships are ONLY evaluated at login time.
    This means that users must log out then back in before group membership takes effect!
    Thanks for installing RVM ๐Ÿ™
    Please consider donating to our open collective to help us maintain RVM.

๐Ÿ‘‰ Donate: https://opencollective.com/rvm/donate

Creating local gemsets for owford
Upgrading the RVM installation in /usr/share/rvm/
Can not update 'scripts/zsh/Completion/_rvm', it's a conflict between Zsh and multiuser installation, prefix the command with 'rvmsudo' to update this file.
Can not update 'scripts/extras/completion.zsh/_rvm', it's a conflict between Zsh and multiuser installation, prefix the command with 'rvmsudo' to update this file.
touch: cannot touch '/usr/share/rvm/config/displayed-notes.txt': Permission denied
Found 3 files with mode different than '664' or '775',
use --debug to see the list, run rvmsudo rvm get stable to fix it., prefix the command with 'rvmsudo' to fix it, if the situation persist report a bug.
Upgrade of RVM in /usr/share/rvm/ is complete.
touch: cannot touch '/usr/share/rvm/config/displayed-notes.txt': Permission denied

Thanks for installing RVM ๐Ÿ™
Please consider donating to our open collective to help us maintain RVM.

๐Ÿ‘‰ Donate: https://opencollective.com/rvm/donate

Hai! Removing /usr/share/rvm
/usr/share/rvm has been removed.

Note you may need to manually remove /etc/rvmrc and ~/.rvmrc if they exist still.
Please check all .bashrc .bash_profile .profile and .zshrc for RVM source lines and delete or comment out if this was a Per-User installation.
Also make sure to remove rvm group if this was a system installation.
Finally it might help to relogin / restart if you want to have fresh environment (like for installing RVM again).

Environment info

cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"

missing Release in 19.10

Description

Brand new Ubuntu 19.10 in virtualbox gets an error when updating packages with a missing Release file.

Steps to reproduce

  1. install ubuntu 19.10 (just released!)
  2. follow instructions in readme to install:
$ sudo apt-add-repository -y ppa:rael-gc/rvm
Hit:1 http://us.archive.ubuntu.com/ubuntu eoan InRelease
Ign:2 http://ppa.launchpad.net/rael-gc/rvm/ubuntu eoan InRelease                      
Hit:3 http://us.archive.ubuntu.com/ubuntu eoan-updates InRelease                      
Hit:4 http://security.ubuntu.com/ubuntu eoan-security InRelease          
Hit:5 http://us.archive.ubuntu.com/ubuntu eoan-backports InRelease                    
Err:6 http://ppa.launchpad.net/rael-gc/rvm/ubuntu eoan Release
  404  Not Found [IP: 91.189.95.83 80]
Reading package lists... Done
E: The repository 'http://ppa.launchpad.net/rael-gc/rvm/ubuntu eoan Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Expected behavior

Actual behavior

missing release file for eoan

Environment info

 cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=19.10
DISTRIB_CODENAME=eoan
DISTRIB_DESCRIPTION="Ubuntu 19.10"

Please update the PPA for Ubuntu Impish Indri

Description

Hello,

could you please update the PPA for Ubuntu Impish Indri? The last available version in the PPA is for Ubuntu Hirsute.

Thanks a lot!

Environment info

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=21.10
DISTRIB_CODENAME=impish
DISTRIB_DESCRIPTION="Ubuntu 21.10"

No /usr/share/rvm

In fact, no "rvm" anywhere on the system. There is a /home/ubuntu/.rvm directory, but no "rvm." Yet the apt installation appeared to complete without error. This is with Ubuntu 18.04.

Instructions on the Readme do not work

Description

I followed the instructions word-for-word from the Readme and RVM is not in my path nor does it work at all.

Steps to reproduce

  1. Follow the steps on the Readme
  2. Logout & Back in
  3. Open a terminal & type man rvm

Expected behavior

Man pages for rvm should appear

Actual behavior

No manual entry for rvm

Environment info

DISTRIB_ID=elementary
DISTRIB_RELEASE=5.0
DISTRIB_CODENAME=juno
DISTRIB_DESCRIPTION="elementary OS 5.0 Juno"

ALSO, the readme states you're now member of rvm group) but the installer says that the installer no longer does this.

`Following files may not be writable, so sudo is needed` after upgrade to 1.29.10

Description

I just received update on my kubuntu 18.04 via apt-get from rvm 1.29.9-3 to 1.29.10-1 and now in every terminal I opened I receive this error:

Following files may not be writable, so sudo is needed:
  /home/user/.rvm/gems/ruby-2.6.5/environment

There is was no such error with 1.29.9-3

Environment info

# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"

Opening a new window/tab in a directory .ruby-version & .ruby-gemset specs are ignored

Description

When opening

  • a new terminal window
    • from inside a terminal using the menu (or shortcuts) or
    • by choosing Open in terminal on a directory in nautilus or
  • a new terminal tab

and the directory of the new window/tab has .ruby-version and .ruby-gemset files, rvm ignores them.

Reproduce

Terminal

  1. cd to a directory with .ruby-version and .ruby-gemset configuration files
  2. execute rvm list and rvm gemset list to confirm that the options are respected
  3. open a new tab or window (either by the menu or with shortcuts (ctrl+shift+n or ctrl+shift+t)
  4. execute rvm list and rvm gemset list
    => both ruby version and gemset are set to the defaults
  5. if you cd . then rvm will set them correctly

Nautilus

  1. navigate to a directory that has .ruby-version and .ruby-gemset files
  2. right click on the directory and choose Open in terminal
  3. in the terminal that has opened, execute rvm list and rvm gemset list
    => both ruby version and gemset are set to the defaults
  4. if you cd . then rvm will set them correctly

I created a new mysql user and for rails when i'am running bundle install it gives me this error. How can i fix this, any suggestion or experience with this?

Using rails 6.1.4.1
Installing mysql2 0.5.3 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /home/palak/.rvm/gems/ruby-3.0.1/gems/mysql2-0.5.3/ext/mysql2

/usr/share/rvm/rubies/ruby-3.0.1/bin/ruby -I /usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0 -r ./siteconf20210908-15186-9hidkz.rb
extconf.rb
checking for rb_absint_size()... yes
checking for rb_absint_singlebit_p()... yes
checking for rb_wait_for_single_fd()... yes
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/share/rvm/rubies/ruby-3.0.1/bin/$(RUBY_BASE_NAME)
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysql-config
--without-mysql-config
--with-mysqlclient-dir
--without-mysqlclient-dir
--with-mysqlclient-include
--without-mysqlclient-include=${mysqlclient-dir}/include
--with-mysqlclient-lib
--without-mysqlclient-lib=${mysqlclient-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
/usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/mkmf.rb:1050:in block in find_library': undefined method split' for nil:NilClass
(NoMethodError)
from /usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/mkmf.rb:1050:in collect' from /usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/mkmf.rb:1050:in find_library'
from extconf.rb:87:in `

'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

/home/palak/.rvm/gems/ruby-3.0.1/extensions/x86_64-linux/3.0.0/mysql2-0.5.3/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /home/palak/.rvm/gems/ruby-3.0.1/gems/mysql2-0.5.3 for inspection.
Results logged to /home/palak/.rvm/gems/ruby-3.0.1/extensions/x86_64-linux/3.0.0/mysql2-0.5.3/gem_make.out

/usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/ext/builder.rb:91:in run' /usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/ext/ext_conf_builder.rb:48:in block in build'
/usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/tempfile.rb:317:in open' /usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/ext/ext_conf_builder.rb:28:in build'
/usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/ext/builder.rb:157:in build_extension' /usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/ext/builder.rb:191:in block in build_extensions'
/usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/ext/builder.rb:188:in each' /usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/ext/builder.rb:188:in build_extensions'
/usr/share/rvm/rubies/ruby-3.0.1/lib/ruby/3.0.0/rubygems/installer.rb:821:in build_extensions' /home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/rubygems_gem_installer.rb:66:in build_extensions'
/home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/rubygems_gem_installer.rb:26:in install' /home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/source/rubygems.rb:192:in install'
/home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/installer/gem_installer.rb:54:in install' /home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/installer/gem_installer.rb:16:in install_from_spec'
/home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/installer/parallel_installer.rb:186:in do_install' /home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/installer/parallel_installer.rb:177:in block in worker_pool'
/home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/worker.rb:62:in apply_func' /home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/worker.rb:57:in block in process_queue'
/home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/worker.rb:54:in loop' /home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/worker.rb:54:in process_queue'
/home/palak/.rvm/gems/ruby-3.0.1/gems/bundler-2.2.26/lib/bundler/worker.rb:91:in `block (2 levels) in create_threads'

An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.

In Gemfile:
mysql2

Unable to install any rubies on ubuntu

 website git:(master) rvm install ruby
Searching for binary rubies, this might take some time.
Found remote file https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.1.tar.bz2
Checking requirements for ubuntu.
Requirements installation successful.
ruby-2.4.1 - #configure
ruby-2.4.1 - #download
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file bin-ruby-2.4.1.tar.bz2.part: Permission 
Warning: denied
  0 16.4M    0  2759    0     0  13169      0  0:21:49 --:--:--  0:21:49 13200
curl: (23) Failed writing body (0 != 2759)
There was an error(23).
Checking fallback: ftp://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.1.tar.bz2?rvm=1.29.3
Checking fallback: https://www.mirrorservice.org/sites/rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.1.tar.bz2?rvm=1.29.3
No fallback URL could be found, try increasing timeout with:

    echo "export rvm_max_time_flag=20" >> ~/.rvmrc

Downloading https://rvm_io.global.ssl.fastly.net/binaries/ubuntu/16.04/x86_64/ruby-2.4.1.tar.bz2 failed.
Mounting remote ruby failed with status 2, trying to compile.
Checking requirements for ubuntu.
Requirements installation successful.
Installing Ruby from source to: /usr/share/rvm/rubies/ruby-2.4.1, this may take a while depending on your cpu(s)...
ruby-2.4.1 - #downloading ruby-2.4.1, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Failed to create the file ruby-2.4.1.tar.bz2.part: Permission denied
  0 11.9M    0  2759    0     0   6162      0  0:34:00 --:--:--  0:34:00  6158
curl: (23) Failed writing body (0 != 2759)
There was an error(23).
Checking fallback: https://ftp.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0Warning: Failed to create the file ruby-2.4.1.tar.bz2.part: Permission denied
  0 11.9M    0 16149    0     0   6632      0  0:31:35  0:00:02  0:31:33  6632
curl: (23) Failed writing body (0 != 16149)
There was an error(23).
Failed download
There has been an error fetching the ruby interpreter. Halting the installation.

any guidance?

Please update the PPA for Ubuntu Groovy Gorilla

Description

Hello,

Could you please update the PPA for Ubuntu Groovy Gorilla? The last available version in the PPA is for Ubuntu Focal.

Thanks a lot!

Environment info

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.10
DISTRIB_CODENAME=groovy
DISTRIB_DESCRIPTION="Ubuntu 20.10"

freshly installed 'rvm' problems

Description

Followed all of the intructions in the README exactly however if I switch to my deploy user then ruby is using the system version and not version I installed with rvm.

Environment info

OS: Ubuntu 16.04.7 LTS
rvm -v: 1.29.10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.