- 締切済み
64bitのRedHatでlibSSH2がmakeできません。。
RedHatEnterprise3で、libsslをmakeすると、 下記のエラーとなり検索しても原因がわからず困っています。 ■libssh2の最新(2-0.14) gcc -o channel.o channel.c -c -g -O2 /usr/include -I/usr/include -Wall -I../include/ -fPIC gcc: -c や -S と一緒に -o を指定すると、複数コンパイルできません make[1]: *** [channel.o] エラー 1 ■libssh2(2-0.13) /usr/bin/ld: /usr/local/lib/libcrypto.a(md5_dgst.o): 再配置 R_X86_64_32 は共有オブジェクトを作成したときには使えません -- -fPIC を付けて再コンパイルしてください /usr/local/lib/libcrypto.a: could not read symbols: 不正な値です collect2: ld はステータス 1 で終了しました Makefileを開き、CFLAGSに-fPICを付けてmakeしましたが 同じエラーメッセージでした(><)どうすれば良いでしょうか? 日本語でGoogleで検索しても見つからないので、 とりあえずコマンドエラーのメッセージだけでも 英語に変える方法だけでも知りたいです。 libsslはRPMもないようで・・手詰まりです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nthnbslk
- ベストアンサー率80% (8/10)
Gentooにlibssh2-0.14用のパッチがあります。 http://ftp.riken.go.jp/pub/Linux/gentoo/net-libs/libssh2/files/ $ tar xzvf libssh2-0.14.tar.gz $ cd libssh2-0.14 $ patch -p1 < [PATH_TO]/libssh2-0.14-banner-wait.patch $ patch -p1 < [PATH_TO]/libssh2-0.14-channel-failure.patch $ patch -p1 < [PATH_TO]/libssh2-0.14-configure.patch $ patch -p1 < [PATH_TO]/libssh2-0.14-peer-shutdown.patch $ ./configure --prefix=/usr $ make 以下略。 注1)[PATH_TO]はパッチが置いてあるディレクトリのPATH 注2)1番目と4番目のパッチが無くてもmakeは通るが、まぁ全パッチ あてておくのがいいでしょう。
お礼
パッチ教えていただきありがとうございました。 とりあえず2-0.13のsrc/MakefileのLIBSで /usr/lib64/を指定することで無事インストールできました。 Makefileが2つあったのにははまりましたが(^^;)