rubyのインストールを諦めました。。。
本来、node.jsのsocket.ioで別々のページでのセッションを共有する為にrubyが必要だと思っていました。何かの記事で読んだのだと思います。
これまでインストールに挑戦しましたが(休みながら1ヶ月くらい)、必要が無いことが分かりました。
socket.io-redis
で出来るようなのでコチラを試してみたいと思います。
この記事は一旦クローズです。
でもアレですね、インストールは諦めたけど、その間色々調べたことでunixの知識が増えました。windows系の開発しかしてないので、真っ黒なコンソールはとても新鮮。
分からないことも多いけど、エンジニアに成り立ての頃を思い出す。
ある程度知識が溜まると、応用が効くようになってきて、一気に思い通りになっていく感覚。
make[2]: ディレクトリ `/tmp/ruby-build.20180720064308.22306/ruby-2.5.1/ext/-test-/dln/empty' に入ります
compiling empty.c
linking shared-object -test-/dln/empty.so
/bin/ld: /usr/local/lib/libssl.a(methods.o): 再配置 R_X86_64_32 (`.rodata' に対する) は共有オブジェクト作成時には使用できません。-fPIC を付けて再コンパイルしてください。
/usr/local/lib/libssl.a: シンボルを読み込めませんでした: 不正な値です
collect2: エラー: ld はステータス 1 で終了しました
make[2]: *** [../../.ext/x86_64-linux/openssl.so] エラー 1
make[2]: ディレクトリ `/tmp/ruby-build.20180720064308.22306/ruby-2.5.1/ext/openssl' から出ます
make[1]: *** [ext/openssl/all] エラー 2
make[1]: *** 未完了のジョブを待っています....
make[2]: ディレクトリ `/tmp/ruby-build.20180720064308.22306/ruby-2.5.1/ext/-test-/dln/empty' から出ます
make[1]: ディレクトリ `/tmp/ruby-build.20180720064308.22306/ruby-2.5.1' から出ます
make: *** [build-ext] エラー 2
(´・ω・`)??
出て行かないで...
rbenv で上手く行かないから、rubyをサイトからダウンロードして、インストールを試みた。
rbenvの時と同じ雰囲気でエラーに。
少し調べてみたら、どうやらopensslのコンパイルで失敗している模様。
$ cd ruby-2.5.1/ext/openssl
$ sudo make
linking shared-object openssl.so
/bin/ld: /usr/local/lib/libssl.a(methods.o): 再配置 R_X86_64_32 (`.rodata' に対する) は共有オブジェクト作成時には使用できません。-fPIC を付けて再コンパイルしてください。
/usr/local/lib/libssl.a: シンボルを読み込めませんでした: 不正な値です
collect2: エラー: ld はステータス 1 で終了しました
make: *** [../../.ext/x86_64-linux/openssl.so] エラー 1
opensslは単体でソースからインストールしてあるんだけど、Rubyで改めてコンパイルする必要はあるのだろうか...? 必要なければコンパイルから外したいんだけど、どうしたら良いんだ。
だ、誰か教えて...
make clean
でクリアしてもう一回
sudo make
compiling ossl_x509ext.c
compiling ossl_x509name.c
compiling ossl_x509req.c
compiling ossl_x509revoked.c
compiling ossl_x509store.c
linking shared-object openssl.so
/bin/ld: /usr/local/lib/libssl.a(methods.o): 再配置 R_X86_64_32 (`.rodata' に対する) は共有オブジェクト作成時には使用できません。-fPIC を付けて再コンパイルしてください。
/usr/local/lib/libssl.a: シンボルを読み込めませんでした: 不正な値です
collect2: エラー: ld はステータス 1 で終了しました
make: *** [../../.ext/x86_64-linux/openssl.so] エラー 1
compiling ossl_x509store.c
この辺りのコンパイルでエラーなのか。
CFLAGSに-fPICを付けてるんだけどな...
てか、ossl_x509store.cはMakefileの最後のソースじゃないか。
うーん...リンクで失敗してるのかな?