Attempting to install Ruby-2.5.0 from the source on CentOS6 causes an error in `make` and it can not be installed.
It is an error because gcc on CentOS6 is old.
$ ./configure --prefix=/opt/ruby-2.5.0 --disable-install-doc $ make ...(略) prelude.c: In function ‘prelude_eval’: prelude.c:204: error: #pragma GCC diagnostic not allowed inside functions prelude.c:205: error: #pragma GCC diagnostic not allowed inside functions prelude.c:221: error: #pragma GCC diagnostic not allowed inside functions トップレベル: cc1: 警告: unrecognized command line option "-Wno-self-assign" cc1: 警告: unrecognized command line option "-Wno-constant-logical-operand" cc1: 警告: unrecognized command line option "-Wno-parentheses-equality" cc1: 警告: unrecognized command line option "-Wno-tautological-compare" make: *** [prelude.o] エラー 1
Bug #14234: Failed to build on CentOS 6.9 - Ruby trunk - Ruby Issue Tracking System
It will be fixed on the next release (Ruby-2.5.1), but you can install Ruby-2.5.0 using scl's devtoolset for the time being.
Installing scl devtoolset on CentOS6
Create under /etc/profile.d with the following content(example for devtoolset-4 collection)and enable scl's devtoolset for users after reboot. So you can install Passenger by `passenger-install-apache2-module` or install gems which need native build with Capistrano.
$ cat /etc/profile.d/enabledevtoolset-4.sh #!/bin/bash source scl_source enable devtoolset-4