Post History
A project I want to work on requires Ruby. I was directed to RVM or rbenv. I tried rbenv first because it has Mac instructions, ran into failures, uninstalled it and installed RVM, and still ran ...
#3: Post edited
Installing Ruby on MacOS 11.6 produces compilation errors in the downloaded source; how do I fix?
- Installing Ruby on MacOS 12.2 (or 11.6) produces compilation errors in the downloaded source; how do I fix?
- A project I want to work on requires Ruby. I was directed to [RVM](https://rvm.io/) or [rbenv](https://github.com/rbenv/rbenv#installation). I tried `rbenv` first because it has Mac instructions, ran into failures, uninstalled it and installed RVM, and still ran into problems. I am not sure how to debug. Details:
I am on MacOS 11.6 (Big Sur). I am using the terminal (bash command line). I'll jump to the problem with RVM because the developer I'm working with uses it.- I installed RVM using the following command (from their documentation):
- \curl -sSL https://get.rvm.io | bash -s stable
- That did not produce any error messages. This installation modified my .bash_profile, so I fired up a new shell. In it I used `rvm list known` and confirmed that the list includes `[ruby-]2.6[.6]`, the version my project needs. I then typed:
- rvm install "ruby-2.6.6"
- Which produced a compilation error (substituting USER for my actual user name in paths):
- Checking requirements for osx.
- Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
- Requirements installation successful.
- Installing Ruby from source to: /Users/USER/.rvm/rubies/ruby-2.6.6, this may take a while depending on your cpu(s)...
- ruby-2.6.6 - #downloading ruby-2.6.6, this may take a while depending on your connection...
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 13.4M 100 13.4M 0 0 7961k 0 0:00:01 0:00:01 --:--:-- 7957k
- ruby-2.6.6 - #extracting ruby-2.6.6 to /Users/USER/.rvm/src/ruby-2.6.6.....
- ruby-2.6.6 - #configuring......................................................|
- ruby-2.6.6 - #post-configuration.
- ruby-2.6.6 - #compiling...................................................
- Error running '__rvm_make -j8',
- please read /Users/USER/.rvm/log/1637706281_ruby-2.6.6/make.log
- There has been an error while running make. Halting the installation.
I consulted the log file given at the end, where I found this error:compiling date_core.ccompiling digest.creadline.c:1905:37: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?rl_username_completion_function);^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~rl_username_completion_functionreadline.c:79:42: note: expanded from macro 'rl_username_completion_function'# define rl_username_completion_function username_completion_function^/usr/local/opt/readline/include/readline/readline.h:485:14: note: 'rl_username_completion_function' declared hereextern char *rl_username_completion_function PARAMS((const char *, int));^1 error generated.make[2]: *** [readline.o] Error 1make[1]: *** [ext/readline/all] Error 2- My attempt to install using `rbenv` ended with a very similar error, so switching from RVM to `rbenv` won't solve my problem.
How can I remedy this problem? I'm wondering if these Ruby managers require something in my environment that I'm missing, despite the output saying that dependencies were checked. Maybe it's assuming a different compiler than whatever I have?- This error isn't coming from *my* code; it's coming from the Ruby source code that RVM downloaded and tried to build. I guess I could try debugging that code, if I knew anything about it, but that seems like the wrong approach. I'm trying to get the "official" Ruby 2.6.6 to run, not my locally-hacked Ruby 2.6.6.
- I don't know Ruby or its environment; I'm hoping to learn as I work on this project. Because of that lack of experience, though, I don't know where to look next or how to debug this problem. How do I successfully install this version of Ruby?
- A project I want to work on requires Ruby. I was directed to [RVM](https://rvm.io/) or [rbenv](https://github.com/rbenv/rbenv#installation). I tried `rbenv` first because it has Mac instructions, ran into failures, uninstalled it and installed RVM, and still ran into problems. I am not sure how to debug. Details:
- I am on MacOS 12.2 (was 11.6 when I first asked this). I am using the terminal (bash command line). I'll jump to the problem with RVM because the developer I'm working with uses it.
- I installed RVM using the following command (from their documentation):
- \curl -sSL https://get.rvm.io | bash -s stable
- That did not produce any error messages. This installation modified my .bash_profile, so I fired up a new shell. In it I used `rvm list known` and confirmed that the list includes `[ruby-]2.6[.6]`, the version my project needs. I then typed:
- rvm install "ruby-2.6.6"
- Which produced a compilation error (substituting USER for my actual user name in paths):
- Checking requirements for osx.
- Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
- Requirements installation successful.
- Installing Ruby from source to: /Users/USER/.rvm/rubies/ruby-2.6.6, this may take a while depending on your cpu(s)...
- ruby-2.6.6 - #downloading ruby-2.6.6, this may take a while depending on your connection...
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 13.4M 100 13.4M 0 0 7961k 0 0:00:01 0:00:01 --:--:-- 7957k
- ruby-2.6.6 - #extracting ruby-2.6.6 to /Users/USER/.rvm/src/ruby-2.6.6.....
- ruby-2.6.6 - #configuring......................................................|
- ruby-2.6.6 - #post-configuration.
- ruby-2.6.6 - #compiling...................................................
- Error running '__rvm_make -j8',
- please read /Users/USER/.rvm/log/1637706281_ruby-2.6.6/make.log
- There has been an error while running make. Halting the installation.
- I consulted the log file given at the end and found a puzzling error, which I included in an earlier version of this question (you can find it in the revision history). People suggested that I needed to reinstall `homebrew` because I was now running on the M1 chip. I've done that and repeated the steps to install Ruby, and this time I get a different make error:
- ```
- installing default libraries
- closure.c:264:14: error: implicit declaration of function 'ffi_prep_closure' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
- result = ffi_prep_closure(pcl, cif, callback, (void *)self);
- ^
- 6 warnings and 1 error generated.
- make[2]: *** [closure.o] Error 1
- ```
- My attempt to install using `rbenv` ended with a very similar error, so switching from RVM to `rbenv` won't solve my problem.
- How can I remedy this problem? I'm wondering if these Ruby managers require something in my environment that I'm missing, despite the output saying that dependencies were checked. Maybe it's assuming a different compiler than whatever I have? I see the reference to C99 there but don't know what it might be expecting.
- This error isn't coming from *my* code; it's coming from the Ruby source code that RVM downloaded and tried to build. I guess I could try debugging that code, if I knew anything about it, but that seems like the wrong approach. I'm trying to get the "official" Ruby 2.6.6 to run, not my locally-hacked Ruby 2.6.6.
- I don't know Ruby or its environment; I'm hoping to learn as I work on this project. Because of that lack of experience, though, I don't know where to look next or how to debug this problem. How do I successfully install this version of Ruby?
#2: Post edited
(If MacOS is not sufficiently Linux-y for this community, please let me know and I'll ask this elsewhere.)- A project I want to work on requires Ruby. I was directed to [RVM](https://rvm.io/) or [rbenv](https://github.com/rbenv/rbenv#installation). I tried `rbenv` first because it has Mac instructions, ran into failures, uninstalled it and installed RVM, and still ran into problems. I am not sure how to debug. Details:
- I am on MacOS 11.6 (Big Sur). I am using the terminal (bash command line). I'll jump to the problem with RVM because the developer I'm working with uses it.
- I installed RVM using the following command (from their documentation):
- \curl -sSL https://get.rvm.io | bash -s stable
- That did not produce any error messages. This installation modified my .bash_profile, so I fired up a new shell. In it I used `rvm list known` and confirmed that the list includes `[ruby-]2.6[.6]`, the version my project needs. I then typed:
- rvm install "ruby-2.6.6"
- Which produced a compilation error (substituting USER for my actual user name in paths):
- Checking requirements for osx.
- Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
- Requirements installation successful.
- Installing Ruby from source to: /Users/USER/.rvm/rubies/ruby-2.6.6, this may take a while depending on your cpu(s)...
- ruby-2.6.6 - #downloading ruby-2.6.6, this may take a while depending on your connection...
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 13.4M 100 13.4M 0 0 7961k 0 0:00:01 0:00:01 --:--:-- 7957k
- ruby-2.6.6 - #extracting ruby-2.6.6 to /Users/USER/.rvm/src/ruby-2.6.6.....
- ruby-2.6.6 - #configuring......................................................|
- ruby-2.6.6 - #post-configuration.
- ruby-2.6.6 - #compiling...................................................
- Error running '__rvm_make -j8',
- please read /Users/USER/.rvm/log/1637706281_ruby-2.6.6/make.log
- There has been an error while running make. Halting the installation.
- I consulted the log file given at the end, where I found this error:
- compiling date_core.c
- compiling digest.c
- readline.c:1905:37: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?
- rl_username_completion_function);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- rl_username_completion_function
- readline.c:79:42: note: expanded from macro 'rl_username_completion_function'
- # define rl_username_completion_function username_completion_function
- ^
- /usr/local/opt/readline/include/readline/readline.h:485:14: note: 'rl_username_completion_function' declared here
- extern char *rl_username_completion_function PARAMS((const char *, int));
- ^
- 1 error generated.
- make[2]: *** [readline.o] Error 1
- make[1]: *** [ext/readline/all] Error 2
- My attempt to install using `rbenv` ended with a very similar error, so switching from RVM to `rbenv` won't solve my problem.
- How can I remedy this problem? I'm wondering if these Ruby managers require something in my environment that I'm missing, despite the output saying that dependencies were checked. Maybe it's assuming a different compiler than whatever I have?
- This error isn't coming from *my* code; it's coming from the Ruby source code that RVM downloaded and tried to build. I guess I could try debugging that code, if I knew anything about it, but that seems like the wrong approach. I'm trying to get the "official" Ruby 2.6.6 to run, not my locally-hacked Ruby 2.6.6.
- I don't know Ruby or its environment; I'm hoping to learn as I work on this project. Because of that lack of experience, though, I don't know where to look next or how to debug this problem. How do I successfully install this version of Ruby?
- A project I want to work on requires Ruby. I was directed to [RVM](https://rvm.io/) or [rbenv](https://github.com/rbenv/rbenv#installation). I tried `rbenv` first because it has Mac instructions, ran into failures, uninstalled it and installed RVM, and still ran into problems. I am not sure how to debug. Details:
- I am on MacOS 11.6 (Big Sur). I am using the terminal (bash command line). I'll jump to the problem with RVM because the developer I'm working with uses it.
- I installed RVM using the following command (from their documentation):
- \curl -sSL https://get.rvm.io | bash -s stable
- That did not produce any error messages. This installation modified my .bash_profile, so I fired up a new shell. In it I used `rvm list known` and confirmed that the list includes `[ruby-]2.6[.6]`, the version my project needs. I then typed:
- rvm install "ruby-2.6.6"
- Which produced a compilation error (substituting USER for my actual user name in paths):
- Checking requirements for osx.
- Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
- Requirements installation successful.
- Installing Ruby from source to: /Users/USER/.rvm/rubies/ruby-2.6.6, this may take a while depending on your cpu(s)...
- ruby-2.6.6 - #downloading ruby-2.6.6, this may take a while depending on your connection...
- % Total % Received % Xferd Average Speed Time Time Time Current
- Dload Upload Total Spent Left Speed
- 100 13.4M 100 13.4M 0 0 7961k 0 0:00:01 0:00:01 --:--:-- 7957k
- ruby-2.6.6 - #extracting ruby-2.6.6 to /Users/USER/.rvm/src/ruby-2.6.6.....
- ruby-2.6.6 - #configuring......................................................|
- ruby-2.6.6 - #post-configuration.
- ruby-2.6.6 - #compiling...................................................
- Error running '__rvm_make -j8',
- please read /Users/USER/.rvm/log/1637706281_ruby-2.6.6/make.log
- There has been an error while running make. Halting the installation.
- I consulted the log file given at the end, where I found this error:
- compiling date_core.c
- compiling digest.c
- readline.c:1905:37: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?
- rl_username_completion_function);
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- rl_username_completion_function
- readline.c:79:42: note: expanded from macro 'rl_username_completion_function'
- # define rl_username_completion_function username_completion_function
- ^
- /usr/local/opt/readline/include/readline/readline.h:485:14: note: 'rl_username_completion_function' declared here
- extern char *rl_username_completion_function PARAMS((const char *, int));
- ^
- 1 error generated.
- make[2]: *** [readline.o] Error 1
- make[1]: *** [ext/readline/all] Error 2
- My attempt to install using `rbenv` ended with a very similar error, so switching from RVM to `rbenv` won't solve my problem.
- How can I remedy this problem? I'm wondering if these Ruby managers require something in my environment that I'm missing, despite the output saying that dependencies were checked. Maybe it's assuming a different compiler than whatever I have?
- This error isn't coming from *my* code; it's coming from the Ruby source code that RVM downloaded and tried to build. I guess I could try debugging that code, if I knew anything about it, but that seems like the wrong approach. I'm trying to get the "official" Ruby 2.6.6 to run, not my locally-hacked Ruby 2.6.6.
- I don't know Ruby or its environment; I'm hoping to learn as I work on this project. Because of that lack of experience, though, I don't know where to look next or how to debug this problem. How do I successfully install this version of Ruby?
#1: Initial revision
Installing Ruby on MacOS 11.6 produces compilation errors in the downloaded source; how do I fix?
(If MacOS is not sufficiently Linux-y for this community, please let me know and I'll ask this elsewhere.) A project I want to work on requires Ruby. I was directed to [RVM](https://rvm.io/) or [rbenv](https://github.com/rbenv/rbenv#installation). I tried `rbenv` first because it has Mac instructions, ran into failures, uninstalled it and installed RVM, and still ran into problems. I am not sure how to debug. Details: I am on MacOS 11.6 (Big Sur). I am using the terminal (bash command line). I'll jump to the problem with RVM because the developer I'm working with uses it. I installed RVM using the following command (from their documentation): \curl -sSL https://get.rvm.io | bash -s stable That did not produce any error messages. This installation modified my .bash_profile, so I fired up a new shell. In it I used `rvm list known` and confirmed that the list includes `[ruby-]2.6[.6]`, the version my project needs. I then typed: rvm install "ruby-2.6.6" Which produced a compilation error (substituting USER for my actual user name in paths): Checking requirements for osx. Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date. Requirements installation successful. Installing Ruby from source to: /Users/USER/.rvm/rubies/ruby-2.6.6, this may take a while depending on your cpu(s)... ruby-2.6.6 - #downloading ruby-2.6.6, this may take a while depending on your connection... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 13.4M 100 13.4M 0 0 7961k 0 0:00:01 0:00:01 --:--:-- 7957k ruby-2.6.6 - #extracting ruby-2.6.6 to /Users/USER/.rvm/src/ruby-2.6.6..... ruby-2.6.6 - #configuring......................................................| ruby-2.6.6 - #post-configuration. ruby-2.6.6 - #compiling................................................... Error running '__rvm_make -j8', please read /Users/USER/.rvm/log/1637706281_ruby-2.6.6/make.log There has been an error while running make. Halting the installation. I consulted the log file given at the end, where I found this error: compiling date_core.c compiling digest.c readline.c:1905:37: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'? rl_username_completion_function); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rl_username_completion_function readline.c:79:42: note: expanded from macro 'rl_username_completion_function' # define rl_username_completion_function username_completion_function ^ /usr/local/opt/readline/include/readline/readline.h:485:14: note: 'rl_username_completion_function' declared here extern char *rl_username_completion_function PARAMS((const char *, int)); ^ 1 error generated. make[2]: *** [readline.o] Error 1 make[1]: *** [ext/readline/all] Error 2 My attempt to install using `rbenv` ended with a very similar error, so switching from RVM to `rbenv` won't solve my problem. How can I remedy this problem? I'm wondering if these Ruby managers require something in my environment that I'm missing, despite the output saying that dependencies were checked. Maybe it's assuming a different compiler than whatever I have? This error isn't coming from *my* code; it's coming from the Ruby source code that RVM downloaded and tried to build. I guess I could try debugging that code, if I knew anything about it, but that seems like the wrong approach. I'm trying to get the "official" Ruby 2.6.6 to run, not my locally-hacked Ruby 2.6.6. I don't know Ruby or its environment; I'm hoping to learn as I work on this project. Because of that lack of experience, though, I don't know where to look next or how to debug this problem. How do I successfully install this version of Ruby?