rbenv ruby 2.7.2 installation fails: "BUILD FAILED" - ruby

I am getting this strange error while trying to install ruby 2.7.2 using rbenv.
Does anybody know what the issue is?
$ rbenv install 2.7.2
Installing ruby-2.7.2...
BUILD FAILED (Ubuntu 20.04 using ruby-build 20201005-4-g4761049)
Inspect or clean up the working tree at /tmp/ruby-build.20201106211003.49727.I05SRV
Results logged to /tmp/ruby-build.20201106211003.49727.log
Last 10 log lines:
from ./tool/rbinstall.rb:846:in `block (2 levels) in install_default_gem'
from ./tool/rbinstall.rb:279:in `open_for_install'
from ./tool/rbinstall.rb:845:in `block in install_default_gem'
from ./tool/rbinstall.rb:835:in `each'
from ./tool/rbinstall.rb:835:in `install_default_gem'
from ./tool/rbinstall.rb:799:in `block in <main>'
from ./tool/rbinstall.rb:950:in `block in <main>'
from ./tool/rbinstall.rb:947:in `each'
from ./tool/rbinstall.rb:947:in `<main>'
make: *** [uncommon.mk:373: do-install-all] Error 1
EDIT: Below is the content of the .log file (the full version is 197'000 lines long, so I can only post the last part).
And at the end, it says:
ruby-2.7.2/lib/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- openssl (LoadError)
However, I DO have openssl installed (I use it). What am I missing?
generating x86_64-linux-fake.rb
x86_64-linux-fake.rb updated
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc" --rdoc-output=".ext/rdoc" --html-output=".ext/html"
installing binary commands: /home/tom/.rbenv/versions/2.7.2/bin
installing base libraries: /home/tom/.rbenv/versions/2.7.2/lib
installing arch files: /home/tom/.rbenv/versions/2.7.2/lib/ruby/2.7.0/x86_64-linux
installing pkgconfig data: /home/tom/.rbenv/versions/2.7.2/lib/pkgconfig
installing extension objects: /home/tom/.rbenv/versions/2.7.2/lib/ruby/2.7.0/x86_64-linux
installing extension objects: /home/tom/.rbenv/versions/2.7.2/lib/ruby/site_ruby/2.7.0/x86_64-linux
installing extension objects: /home/tom/.rbenv/versions/2.7.2/lib/ruby/vendor_ruby/2.7.0/x86_64-linux
installing extension headers: /home/tom/.rbenv/versions/2.7.2/include/ruby-2.7.0/x86_64-linux
installing extension scripts: /home/tom/.rbenv/versions/2.7.2/lib/ruby/2.7.0
installing extension scripts: /home/tom/.rbenv/versions/2.7.2/lib/ruby/site_ruby/2.7.0
installing extension scripts: /home/tom/.rbenv/versions/2.7.2/lib/ruby/vendor_ruby/2.7.0
installing extension headers: /home/tom/.rbenv/versions/2.7.2/include/ruby-2.7.0/ruby
installing rdoc: /home/tom/.rbenv/versions/2.7.2/share/ri/2.7.0/system
installing html-docs: /home/tom/.rbenv/versions/2.7.2/share/doc/ruby
installing capi-docs: /home/tom/.rbenv/versions/2.7.2/share/doc/ruby
installing command scripts: /home/tom/.rbenv/versions/2.7.2/bin
installing library scripts: /home/tom/.rbenv/versions/2.7.2/lib/ruby/2.7.0
installing common headers: /home/tom/.rbenv/versions/2.7.2/include/ruby-2.7.0
installing manpages: /home/tom/.rbenv/versions/2.7.2/share/man (man1, man5)
installing default gems from lib: /home/tom/.rbenv/versions/2.7.2/lib/ruby/gems/2.7.0 (build_info, cache, doc, extensions, gems, specifications)
benchmark 0.1.0
/tmp/ruby-build.20201107153545.4938.VEdjtZ/ruby-2.7.2/lib/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- openssl (LoadError)
from /tmp/ruby-build.20201107153545.4938.VEdjtZ/ruby-2.7.2/lib/rubygems/core_ext/kernel_require.rb:92:in `require'
from /tmp/ruby-build.20201107153545.4938.VEdjtZ/ruby-2.7.2/lib/rubygems/specification.rb:2430:in `to_ruby'
from ./tool/rbinstall.rb:846:in `block (2 levels) in install_default_gem'
from ./tool/rbinstall.rb:279:in `open_for_install'
from ./tool/rbinstall.rb:845:in `block in install_default_gem'
from ./tool/rbinstall.rb:835:in `each'
from ./tool/rbinstall.rb:835:in `install_default_gem'
from ./tool/rbinstall.rb:799:in `block in <main>'
from ./tool/rbinstall.rb:950:in `block in <main>'
from ./tool/rbinstall.rb:947:in `each'
from ./tool/rbinstall.rb:947:in `<main>'
make: *** [uncommon.mk:373: do-install-all] Error 1

Long story short, I found out that libssl-dev and libreadline-dev were required, so this solved the problem:
sudo apt-get install libssl-dev libreadline-dev

In RHEL8/CENTOS8:
sudo yum install readline-devel openssl-devel
assuming you already ran:
sudo yum groupinstall "Development Tools"

Related

ruby-2.2.1 error during installing bundle gems Symbol not found: _i2d_ECPKParameters on PowerPC

I successfully configured & compiled ruby-2.2.1 on my Mac mini G4 (PowerPC) Leopard 10.5.8 but during the install after all binaries and the like have been installed I get this error (shortened) How to fix it? Thanks.
installing binary commands: /usr/local/bin
installing base libraries: /usr/local/lib
....
installing default gems: /usr/local/lib/ruby/gems/2.2.0 (build_info, cache, doc, extensions, gems, specifications)
bigdecimal 1.2.6
io-console 0.4.3
json 1.8.1
psych 2.0.8
rake 10.4.2
rdoc 4.2.0
installing bundle gems: /usr/local/lib/ruby/gems/2.2.0 (build_info, cache, doc, extensions, gems, specifications)
/Users/macmini/Downloads/ruby-2.2.1/lib/rubygems/core_ext
/kernel_require.rb:54:in `require': dlopen(/Users/macmini/Downloads
/ruby-2.2.1/.ext/powerpc-darwin9.0/openssl.bundle, 9): Symbol not
found: _i2d_ECPKParameters (LoadError)
Referenced from: /Users/macmini/Downloads/ruby-2.2.1/.ext/powerpc-darwin9.0/openssl.bundle
Expected in: dynamic lookup
- /Users/macmini/Downloads/ruby-2.2.1/.ext/powerpc-darwin9.0 /openssl.bundle
from /Users/macmini/Downloads/ruby-2.2.1/lib/rubygems/core_ext
/kernel_require.rb:54:in `require'
from /Users/macmini/Downloads/ruby-2.2.1/.ext/common
/openssl.rb:17:in `<top (required)>'
....
from ./tool/rbinstall.rb:722:in `block (2 levels) in <main>'
from ./tool/rbinstall.rb:721:in `each'
from ./tool/rbinstall.rb:721:in `block in <main>'
from ./tool/rbinstall.rb:757:in `call'
from ./tool/rbinstall.rb:757:in `block in <main>'
from ./tool/rbinstall.rb:754:in `each'
from ./tool/rbinstall.rb:754:in `<main>'
make: *** [do-install-all] Error 1

Building ruby with rbenv and ruby-build fails with undefined symbol: SSLv2_method

I'm trying to install ruby 2.2.4 or 2.3.0 on my Synology DS215j which has an ARMv7 processor. I used optware-ng to install gcc, make, openssl, openssl-dev and zlib. I installed rbenv (version 1.0.0-19-g29b4da7) and the ruby-build plugin according to the instructions in the README.
These are the package and their versions installed with optware-ng
binutils - 2.25.1-1
gcc - 5.3.0-6
gconv-modules - 2.21-3
glibc-opt - 2.21-4
libc-dev - 2.21-1
libgmp - 6.0.0a-1
libmpc - 1.0.2-1
libmpfr - 3.1.3-1
libnsl - 2.21-3
libstdc++ - 6.0.21-6
make - 4.1-1
ncurses - 5.7-4
openssl - 1.0.2f-1
openssl-dev - 1.0.2f-1
readline - 6.1-2
ruby - 2.2.0-1
screen - 4.2.1-2
termcap - 1.3.1-3
zlib - 1.2.8-2
When I run rbenv install 2.2.4 or rbenv install 2.3.0 in both cases the build fails with the error message "undefined symbol: SSLv2_method". This is the error for the 2.2.4 build:
installing bundle gems: /var/services/homes/florian/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0 (build_info, cache, doc, extensions, gems, specifications)
/tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require': /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/.ext/armv7l-linux-eabihf/openssl.so: undefined symbol: SSLv2_method - /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/.ext/armv7l-linux-eabihf/openssl.so (LoadError)
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/.ext/common/openssl.rb:17:in `<top (required)>'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/security.rb:11:in `<top (required)>'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/package.rb:43:in `<top (required)>'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/dependency_installer.rb:3:in `<top (required)>'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /tmp/ruby-build.20160329115213.2672/ruby-2.2.4/lib/rubygems.rb:556:in `install'
from ./tool/rbinstall.rb:722:in `block (2 levels) in <main>'
from ./tool/rbinstall.rb:721:in `each'
from ./tool/rbinstall.rb:721:in `block in <main>'
from ./tool/rbinstall.rb:757:in `call'
from ./tool/rbinstall.rb:757:in `block in <main>'
from ./tool/rbinstall.rb:754:in `each'
from ./tool/rbinstall.rb:754:in `<main>'
uncommon.mk:246: recipe for target 'do-install-all' failed
make: *** [do-install-all] Error 1
This seems to be related to something in rubygems.
Interestingly, the reason why I try to build ruby myself is, that the ruby version delivered with Synology 6 returns a similar error when I try to install gems:
florian#synology:~/.rbenv/plugins$ /usr/bin/gem install rails
ERROR: Loading command: install (LoadError)
/usr/lib/ruby/2.3.0/armle-linux-gnu/openssl.so: undefined symbol: SSLv2_method - /usr/lib/ruby/2.3.0/armle-linux-gnu/openssl.so
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
What could cause these issues and how could I resolve them?
When I run rbenv install 2.2.4 or rbenv install 2.3.0 in both cases the build fails with the error message "undefined symbol: SSLv2_method"...
What could cause these issues ...
The SSLv2 gear was completely removed from OpenSSL in March due to CVE-2016-0800 (DROWN Attack).
I think the complete removal was a bit harsh because of the effects like you are experiencing. There should have been a warning and transition period. And it should have occurred 10 years ago or so.
Instead of complete removal due to DROWN, I think SSLv2_method, SSLv2_client_method and SSLv2_server_method should have set an appropriate error code like ERR_R_REMOVED_INSECURE and returned NULL. <openssl/opensslconf.h> should have unconditionally set OPENSSL_NO_SSL2 also.
OpenSSL realized they broke ABI compatibility and added the symbols back to 1.0.2 with Commit 133138569f37d149. The check-in provided the symbols SSLv2_method, SSLv2_client_method and SSLv2_server_method again, but they return NULL without setting an error code. They also do not define OPENSSL_NO_SSL2. Also see [openssl.org #4398] BUG / 1.0.2g breaks CURL extension.
SSLv2 has been insecure for 15 or 20 years. Packages like Ruby should not have been referencing the symbols. You should file a security bug report against Ruby for referencing the symbol.
... and how could I resolve them?
To fix the issue, I believe you need either (1) wait for OpenSSL 1.0.2h, (2), manually patch OpenSSL 1.0.2g, or (3) remove all Ruby references to SSLv2_method, SSLv2_client_method and SSLv2_server_method.
Here's the patch you need for (2), manually patch OpenSSL 1.0.2g:
diff --git a/ssl/s2_meth.c b/ssl/s2_meth.c
index b312f17..d46e2f5 100644
--- a/ssl/s2_meth.c
+++ b/ssl/s2_meth.c
## -74,8 +74,8 ## IMPLEMENT_ssl2_meth_func(SSLv2_method,
ssl2_accept, ssl2_connect, ssl2_get_method)
#else /* !OPENSSL_NO_SSL2 */
-# if PEDANTIC
-static void *dummy = &dummy;
-# endif
+SSL_METHOD *SSLv2_method(void) { return NULL; }
+SSL_METHOD *SSLv2_client_method(void) { return NULL; }
+SSL_METHOD *SSLv2_server_method(void) { return NULL; }
#endif
You should also configure and compile OpenSSL with at least no-ssl2 no-ssl3 no-comp flags because they are known security problems. The configure options define OPENSSL_NO_SSL2, OPENSSL_NO_SSL3 and OPENSSL_NO_COMP in <openssl/opensslconf.h>.
After several attempts and lots of searching I found this ruby-build issue and reread the instructions in the ruby-build wiki which are suggesting for other platforms to install autoconf. I installed automaker, autoconf and gdbm (which I found some warnings in the ruby-build logs) with ipkg which didn't directly help. Only after I prefixed rbenv with RUBY_CONFIGURE_OPTS=--with-openssl-dir=/opt it worked.
For reference, these are the packages I have installed with ipkg
autoconf - 2.69-1
automake - 1.15-3
binutils - 2.25.1-1
gcc - 5.3.0-6
gconv-modules - 2.21-3
gdbm - 1.8.3-4
glibc-opt - 2.21-4
libc-dev - 2.21-1
libgmp - 6.0.0a-1
libmpc - 1.0.2-1
libmpfr - 3.1.3-1
libnsl - 2.21-3
libstdc++ - 6.0.21-6
m4 - 1.4.17-1
make - 4.1-1
ncurses - 5.7-4
openssl - 1.0.2f-1
openssl-dev - 1.0.2f-1
readline - 6.1-2
ruby - 2.2.0-1
screen - 4.2.1-2
termcap - 1.3.1-3
zlib - 1.2.8-2
This is the rbenv command which worked for me in the end
RUBY_CONFIGURE_OPTS=--with-openssl-dir=/opt rbenv install 2.3.0 -v

Error upgrading to Ruby 2.2.4

I ran rvm install ruby-2.2.4 and got the following error:
$ rvm reinstall ruby-2.2.4
ruby-2.2.4 - #removing src/ruby-2.2.4..
ruby-2.2.4 - #removing rubies/ruby-2.2.4..
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.9/x86_64/ruby-2.2.4.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/JAckerman/.rvm/rubies/ruby-2.2.4, this may take a while depending on your cpu(s)...
ruby-2.2.4 - #downloading ruby-2.2.4, this may take a while depending on your connection...
ruby-2.2.4 - #extracting ruby-2.2.4 to /Users/JAckerman/.rvm/src/ruby-2.2.4....
ruby-2.2.4 - #applying patch /Users/JAckerman/.rvm/patches/ruby/2.2.4/fix_installing_bundled_gems.patch.
ruby-2.2.4 - #configuring..........................................................
ruby-2.2.4 - #post-configuration.
ruby-2.2.4 - #compiling.............................................................
ruby-2.2.4 - #installing............
Error running '__rvm_make install',
showing last 15 lines of /Users/JAckerman/.rvm/log/1454705088_ruby-2.2.4/install.log
from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/dependency_installer.rb:3:in `<top (required)>'
from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/src/ruby-2.2.4/lib/rubygems.rb:556:in `install'
from ./tool/rbinstall.rb:722:in `block (2 levels) in <main>'
from ./tool/rbinstall.rb:721:in `each'
from ./tool/rbinstall.rb:721:in `block in <main>'
from ./tool/rbinstall.rb:757:in `call'
from ./tool/rbinstall.rb:757:in `block in <main>'
from ./tool/rbinstall.rb:754:in `each'
from ./tool/rbinstall.rb:754:in `<main>'
make: *** [do-install-nodoc] Error 1
++ return 2
There has been an error while running make install. Halting the installation.
I tried these steps, running rvm reinstall ruby-2.2.4 after each step, to no avail:
rvm get head
rvm get master
Then all of this:
$ rvm gem list error
Please note that `rvm gem ...` was removed, try `gem list error` or `rvm all do gem list error` instead. ( see: 'rvm usage' )
JAckerman#Jasons-MacBook-Pro parkme3.1 (staging) $ gem list error
/Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/yaml.rb:4:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
/Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/x86_64-darwin13/psych.bundle, 9): Library not loaded: /usr/local/lib/libyaml-0.2.dylib (LoadError)
Referenced from: /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/x86_64-darwin13/psych.bundle
Reason: image not found - /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/x86_64-darwin13/psych.bundle
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/psych.rb:1:in `<top (required)>'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/yaml.rb:5:in `<top (required)>'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems.rb:624:in `load_yaml'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/config_file.rb:328:in `load_file'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/config_file.rb:197:in `initialize'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `new'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/gem_runner.rb:74:in `do_configuration'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/lib/ruby/2.2.0/rubygems/gem_runner.rb:39:in `run'
from /Users/JAckerman/.rvm/rubies/ruby-2.2.4/bin/gem:21:in `<main>'
JAckerman#Jasons-MacBook-Pro parkme3.1 (staging) $ brew install libyaml
Warning: libyaml-0.1.6 already installed
JAckerman#Jasons-MacBook-Pro parkme3.1 (staging) $ brew reinstall libyaml
==> Reinstalling libyaml
Warning: libyaml-0.1.6 already installed
JAckerman#Jasons-MacBook-Pro parkme3.1 (staging) $ brew unlink libyaml
Unlinking /usr/local/Cellar/libyaml/0.1.6... 1 symlinks removed
JAckerman#Jasons-MacBook-Pro parkme3.1 (staging) $ brew reinstall libyaml
==> Reinstalling libyaml
Warning: libyaml-0.1.6 already installed, it's just not linked
JAckerman#Jasons-MacBook-Pro parkme3.1 (staging) $ brew link libyaml
Linking /usr/local/Cellar/libyaml/0.1.6... 5 symlinks created
Then I re-tried rvm get head and rvm get master, reinstalling after each.
Install / update autoconf brew install autoconf
The issue was that, while most of the above was right, none of it was working because my homebrew was not up to date, which I figured out by running brew doctor. Updating home brew (brew update) and then reinstalling the necessary libraries got it working.

Problems installing zeromq MacOSX

I tried to install zeromq using brew on MacOSX 10.9.5. This is the output I got:
==> Downloading http://download.zeromq.org/zeromq-3.2.3.tar.gz
######################################################################## 100.0%
==> Patching
patching file tests/test_disconnect_inproc.cpp
==> ./configure --prefix=/usr/local/Cellar/zeromq/3.2.3
==> make
==> make install
==> Caveats
To install the zmq gem on 10.6 with the system Ruby on a 64-bit machine,
you may need to do:
ARCHFLAGS="-arch x86_64" gem install zmq -- --with-zmq-dir=/usr/local/opt/zeromq
==> Summary
/usr/local/Cellar/zeromq/3.2.3: 54 files, 2.3M, built in 24 seconds
And after trying to execute the command it tells me to run (ARCHFLAGS="-arch x86_64" gem install zmq -- --with-zmq-dir=/usr/local/opt/zeromq), it tells me that it couldn't install zmq:
Fetching: zmq-2.1.4.gem (100%)
Building native extensions with: '--with-zmq-dir=/usr/local/opt/zeromq'
This could take a while...
ERROR: Error installing zmq:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-zmq-dir=/usr/local/opt/zeromq
checking for zmq.h... /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:549:in `block in try_compile'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:502:in `with_werror'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:549:in `try_compile'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:1044:in `block in have_header'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:895:in `block in checking_for'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:340:in `block (2 levels) in postpone'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:310:in `open'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:340:in `block in postpone'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:310:in `open'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:336:in `postpone'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:894:in `checking_for'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/mkmf.rb:1043:in `have_header'
from extconf.rb:23:in `header?'
from extconf.rb:32:in `<main>'
Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/zmq-2.1.4 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/zmq-2.1.4/./gem_make.out
Does someone know what problem that is and how to resolve it?
I had a similar problem on Yosemite. I've installed zmg using port:
sudo port install zmg
followed by:
npm install zmq
and:
brew uninstall zmq

Checkinstall fails to make a Ruby 1.9.2 package

Checkinstall fails to make a Ruby package with the following error.
# checkinstall -D --install=no --pakdir=/home/<username>/Рабочий\ стол/
<...>
installing binary commands: /usr/local/bin
/home/<username>/Рабочий стол/ruby-1.9.2-p180/lib/fileutils.rb:854:in `utime': No such file or directory - /usr/local/bin/ruby (Errno::ENOENT)
from /home/<username>/Рабочий стол/ruby-1.9.2-p180/lib/fileutils.rb:854:in `block in install'
from /home/<username>/Рабочий стол/ruby-1.9.2-p180/lib/fileutils.rb:1423:in `block in fu_each_src_dest'
from /home/<username>/Рабочий стол/ruby-1.9.2-p180/lib/fileutils.rb:1437:in `fu_each_src_dest0'
from /home/<username>/Рабочий стол/ruby-1.9.2-p180/lib/fileutils.rb:1421:in `fu_each_src_dest'
from /home/<username>/Рабочий стол/ruby-1.9.2-p180/lib/fileutils.rb:850:in `install'
from ./tool/rbinstall.rb:154:in `install'
from ./tool/rbinstall.rb:307:in `block in '
from ./tool/rbinstall.rb:542:in `call'
from ./tool/rbinstall.rb:542:in `block (2 levels) in '
from ./tool/rbinstall.rb:539:in `each'
from ./tool/rbinstall.rb:539:in `block in '
from ./tool/rbinstall.rb:535:in `each'
from ./tool/rbinstall.rb:535:in `'
make: *** [do-install-all] Ошибка 1
**** Установка неудачна. Отменяется создание пакета.
Очищается.../usr/bin/checkinstall: line 328: [: /home/<username>/Рабочий: ожидается использование бинарного оператора
OK
Удачи.
What is the cause of the problem? How can I solve it?
Thanks.
Debian GNU/Linux 6.0.1;
Ruby 1.9.2;
Checkinstall 1.6.2.
I ran into the same issue using Ubuntu 11.04.
I believe this is caused in part by a permissions error (need to run as root). It also appears to be affected by a checkinstall fstrans bug: https://bugs.launchpad.net/ubuntu/+source/checkinstall/+bug/78455
Original command (fails):
sudo checkinstall --install=no -D make install
Working command:
sudo checkinstall --fstrans=no -D make install

Resources