I am trying to install RVM on a Solaris 11 system, the curl -sSL https://get.rvm.io | bash -s stable went through, but when I actually try to use rvm, it simply stats "ERROR: Missing GNU tools: grep which awk cp date find sed tail tar xargs. Make sure they are installed in '/' before using RVM!" and quit.

By reading https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/support I found that the gnu_tools_path is hardcoded to /usr/gnu/bin. I checked that directly and found some symlinks there. I tried to make a symlink of /ec/bin/grep to there, only to find that on this Solaris 11 system the usr is mounted read-only. After a quick Google, I assume it were a "sparse zone" problem (as I have no idea about Solaris at all).

But grep on this Solaris 11 works just fine, it has version number grep (GNU grep) 2.16, just located under /ec/bin/.

So my question is: how can I fix the path so RVM can use the grep under /ec/bin?


It seems to me you've read something somewhere and went along a bad route. :-(

First of all many GNU tools are already available on Solaris 11 and they do in fact already live in /usr/gnu/bin. So the script you refer to is very correct. This is indeed the place GNU tools would live on Solaris 11.

If you find this not to be the case then follow the Solaris 11 guidelines in this posting. (do not use guidelines for Solaris 10 and do not try to build GNU tools yourself .. there's no need to complicate matters). So if you follow that posting and do (as root):

pkg install archiver/gnu-tar
pkg install file/gnu-coreutils
pkg install file/gnu-findutils
pkg install text/gawk
pkg install text/gnu-diffutils
pkg install text/gnu-grep
pkg install text/gnu-sed

then you should have everything you need for RVM on Solaris 11. There's no risk in executing these commands if the package is already installed.

Solaris 11 is a significant departure from Solaris 10 with regards to GNU tools. It has become a lot easier and a lot more GNU-like out-of-the-box. So if you use information related to Solaris 10 wrt GNU tools then you are likely making it a lot harder for yourself or taking unnecessary actions.

Other comments:

  • You mention the word "sparse root zones" but that concept no longer applies in Solaris 11 and later. You must have read something that was from pre-Solaris 11 era.

  • I wonder what /ec/ represents in your posting ?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.