ハマり【make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1】


rubyのインストールを行っている時に出たエラーです。

linking shared-object fiddle.so
/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
./libffi-3.2.1/.libs/libffi.a: could not read symbols: Bad value

BUILD FAILEDcollect2: error: ld returned 1 exit status
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1
make[2]: Leaving directory `/tmp/ruby-build.20150102012253.761/ruby-2.2.0/ext/fiddle'
make[1]: *** [ext/fiddle/all] Error 2
make[1]: Leaving directory `/tmp/ruby-build.20150102012253.761/ruby-2.2.0'
make: *** [build-ext] Error 2
 (Amazon Linux AMI 2014.09 using ruby-build 20141225-3-g1c0509a)

Inspect or clean up the working tree at /tmp/ruby-build.20150102012253.761
Results logged to /tmp/ruby-build.20150102012253.761.log

Last 10 log lines:
make[3]: Leaving directory `/tmp/ruby-build.20150102012253.761/ruby-2.2.0/ext/fiddle/libffi-3.2.1'
linking shared-object fiddle.so
/usr/bin/ld: ./libffi-3.2.1/.libs/libffi.a(raw_api.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
./libffi-3.2.1/.libs/libffi.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [../../.ext/x86_64-linux/fiddle.so] Error 1
make[2]: Leaving directory `/tmp/ruby-build.20150102012253.761/ruby-2.2.0/ext/fiddle'
make[1]: *** [ext/fiddle/all] Error 2
make[1]: Leaving directory `/tmp/ruby-build.20150102012253.761/ruby-2.2.0'
make: *** [build-ext] Error 2

■対処法

# yum -y install libffi-devel

投稿者:

nikuatsu

大学時代にWebアプリ開発を中心とした会社を企業し、約15年経営した末に倒産。現在はとあるインターネット上でのビジネスを展開する企業の開発部門で、あらゆる技術関連について対応している。 スキルの範囲: ・主にPHPを中心としたWebアプリケーション開発 ・Linuxサーバを中心としたインフラストラクチャー全般 ・MySQL、PostgreSQLを中心としたRDBMSの設計、運用 ・Objective-CによるiPhoneアプリの開発 などなど。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です