Ich versuche Ruby 2.2.4 oder 2.3.0 auf meiner Synology DS215j, die einen ARMv7-Prozessor hat zu installieren. Ich habe optware-ng verwendet, um gcc, make, openssl, openssl-dev und zlib zu installieren. Ich habe rbenv (Version 1.0.0-19-g29b4da7) und das Ruby-Build-Plugin nach den Anweisungen in der README installiert. Gebäude Rubin mit Rbenv und Ruby-Build schlägt mit undefined Symbol: SSLv2_method
Dies sind die Paket und ihre Versionen installiert mit 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
Als ich rbenv install 2.2.4
oder rbenv install 2.3.0
in beiden Fällen laufen die Build mit der Fehlermeldung fehlschlägt „undefiniert Symbol: SSLv2_method“. Dies ist der Fehler für den Build 2.2.4:
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
Dies scheint mit etwas in Rubygems verwandt zu sein.
Interessanterweise ist der Grund, warum ich versuche zu bauen rubin ich ist, dass die Ruby-Version geliefert mit Synology 6 gibt einen ähnlichen Fehler, wenn ich versuche, Edelstein zu installieren:
[email protected]:~/.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
Was diese Probleme verursachen könnte und wie könnte ich sie lösen?
hast du einen der Vorschläge zu anderen Posts ausprobiert, die deinen entsprechen wie [This One] (http://stackoverflow.com/questions/12759518/undefined-symbol-sslv2-method-when-running-bundle-install) oder [This One] (http://stackoverflow.com/questions/9732591/rails-loaderror-with-openssl-so-undefined-symbol-d2-ecpkparameters) scheint, dass sie alle vorschlagen, das open-ssl-dir bei der Installation explizit zu setzen mit 'rvm 'wie [SO] (http://stackoverflow.com/questions/12759767/rails-bundle-install-returns-undefined-symbol-sslv2-method) – engineersmnky
Ich verwende RVM nicht und die Lösungen, die Sie hervorheben scheinen um einige OpenSSL-Bibliotheken zu nutzen, die von RVM geliefert werden. Leider schlägt RVM fehl, wenn ich versuche es zu installieren (wegen fehlender Inhalte und anderer Fehler). Ich habe nun versucht, 'RUBY_CONFIGURE_OPTS = - mit-openssl-dir =/opt/local rbenv install 2.2.4 'auszuführen und werde sehen, ob sich irgendetwas ändert. –
Die Verwendung von 'RUBY_CONFIGURE_OPTS = - mit-openssl-dir =/opt/local' hat nicht geholfen. Ich erwarte, dass das Problem woanders ist. –