0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rbenv install 2.5.1 失敗中...一時クローズ

Last updated at Posted at 2018-07-19

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の最後のソースじゃないか。
うーん...リンクで失敗してるのかな?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?