• 締切済み

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もないようで・・手詰まりです。

  • php4
  • お礼率42% (373/888)

みんなの回答

  • nthnbslk
  • ベストアンサー率80% (8/10)
回答No.1

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は通るが、まぁ全パッチ    あてておくのがいいでしょう。

php4
質問者

お礼

パッチ教えていただきありがとうございました。 とりあえず2-0.13のsrc/MakefileのLIBSで /usr/lib64/を指定することで無事インストールできました。 Makefileが2つあったのにははまりましたが(^^;)

関連するQ&A

  • libsslがmakeできません。。

    RedHatEnterprise3で、libsslをmakeすると、 下記のエラーとなり検索しても原因がわからず困っています。 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 日本語でGoogleで検索しても見つからないので、 とりあえずコマンドエラーのメッセージだけでも 英語に変える方法だけでも知りたいです。 libsslはRPMもないようで・・手詰まりです。

  • makeでのエラー

    makeをした際に、 /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real:skipping incompatible /usr/local/lib/gcc-lib/h8300-elf/3.3/libgcc.a when searching for libgcc.a /usr/local/lib/gcc-lib/h8300-elf/3.3/../../../../h8300-elf/bin/ld.real: cannot find libgcc.a collect2: ld returned 1 exit status make: ***[basic1] Error 1 と表示されるのですが、このエラーとはどういう意味なのでしょうか? わかる方教えてください。お願いします。

  • Openldapインストールmakeでエラー

    Solaris10にOpenldapのインストールがうまく行きません。 make時でエラーになります。 色々、Googleで調べてしているのですが結局うまくいきませんでした。 教えていた頂けたら幸いです。 事前にインストールしたソフト BerkeleyDB4.7.25 openssl0.98l cyrus-sasl-2.1.21 cd openldap-2.4.16 CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include" LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib" ./configure make depend make (cd .libs && rm -f libldap.la && ln -s ../libldap.la libldap.la) gcc -g -O2 -I../../include -I../../include -I/usr/local/BerkeleyDB.4.7/include -c -o apitest.o apitest.c /bin/sh ../../libtool --mode=link gcc -static -g -O2 -L/usr/local/BerkeleyDB.4.7/lib -R/usr/local/BerkeleyDB.4.7/lib -o apitest apitest.o libldap.la ../../libraries/liblber/liblber.la ../../libraries/liblutil/liblutil.a -lsasl2 -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket gcc -g -O2 -o apitest apitest.o -L/usr/local/BerkeleyDB.4.7/lib ./.libs/libldap.a /work/src/openldap-2.4.16/libraries/liblber/.libs/liblber.a -L/usr/local/lib:-L/usr/local/ssl/lib:-L/usr/sfw/lib:-L/usr/lib:-L/opt/sfw/lib:-L/usr/ccs/lib:-L/usr/local/BerkeleyDB4.7/lib ../../libraries/liblber/.libs/liblber.a ../../libraries/liblutil/liblutil.a /usr/local/lib/libsasl2.so -ldl -lgss -lssl -lcrypto -lresolv -lgen -lnsl -lsocket -R/usr/local/lib -R/usr/local/lib -R/usr/local/BerkeleyDB.4.7/lib Undefined first referenced symbol in file BIO_set_flags ./.libs/libldap.a(tls_o.o) BIO_clear_flags ./.libs/libldap.a(tls_o.o) SSL_CTX_set_info_callback ./.libs/libldap.a(tls_o.o) ld: fatal: Symbol referencing errors. No output written to apitest collect2: ld returned 1 exit status make[2]: *** [apitest] エラー 1 make[2]: ディレクトリ `/work/src/openldap-2.4.16/libraries/libldap' から出ます make[1]: *** [all-common] エラー 1 make[1]: ディレクトリ `/work/src/openldap-2.4.16/libraries' から出ます make: *** [all-common] エラー 1 勉強不足で申し訳ありませんが、よろしくお願いします。

  • opensshのインストールができない

    solaris9上でOPENSSH-4.2p1をインストールしていますが、うまくいきません。下記のようなエラーが出ます。 未定義の 最初に参照している シンボル ファイル dlsym /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o) (シンボルは暗黙 の依存性 /usr/lib/libdl.so.1 に属しています) dlopen /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o) (シンボルは暗黙 の依存性 /usr/lib/libdl.so.1 に属しています) dlclose /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o) (シンボルは暗黙 の依存性 /usr/lib/libdl.so.1 に属しています) dlerror /usr/local/ssl/lib/libcrypto.a(dso_dlfcn.o) (シンボルは暗黙 の依存性 /usr/lib/libdl.so.1 に属しています) ld: 重大なエラー: シンボル参照エラー。ssh に書き込まれる出力はありません。 collect2: ld returned 1 exit status make: *** [ssh] Error 1 opensslは0.9.8、zlibは1.2.3をソースから入れました。 アドバイスお願いします。

  • GDモジュールのインストールエラー

    RedHat ES でGDgraphモジュールを使用するために GDモジュールをインストールしたところ、下記のようなエラーになりました。 gcc -c -I/usr/local/include -I/usr/local/include/gd -D_REENTRANT -D_GNU_SOURCE -DTHREADS_ HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FIL E_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686 -DVERSION=\"2.11\" -DXS_VERSION=\"2.11\" -fPIC "-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE" GD .c Running Mkbootstrap for GD () chmod 644 GD.bs rm -f blib/arch/auto/GD/GD.so LD_RUN_PATH="/usr/local/lib:/usr/lib:/lib" gcc -shared -L/usr/local/lib GD.o -o blib/arch/auto/GD/GD.so -L/usr/lib/X11 -L/usr/X11R6/lib -L/usr/local/lib -lgd -lpng -lz -lm/usr/bin/ld: cannot find -lpng collect2: ld はステータス 1 で終了しました make: *** [blib/arch/auto/GD/GD.so] エラー 1 freetype2 gdライブラリ PG.pm GDTextUtile GD::Graph   はインストール完了しましたが gdのインストールだけが何度やっても失敗します。 何のモジュールが足りないのか教えていただきたいです。 よろしくお願いいたします。

  • ツールのインストールができません

    現在、solaris9でWebAlizerというツールをインストールしようとしています。しかし、make時に以下のようなエラーが出てしまいます。どのように、対応したらよいでしょうか? # make gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c webalizer.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c hashtab.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c linklist.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c preserve.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c dns_resolv.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c parser.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -c output.c gcc -Wall -O2 -DETCDIR=\"/etc\" -DHAVE_MATH_H=1 -I/usr/local/include -c graphs.c gcc -L/usr/local/lib -o webalizer webalizer.o hashtab.o linklist.o preserve.o parser.o output.o dns_resolv.o graphs.o -lgd -lpng -lz -lm 未定義の 最初に参照している シンボル ファイル libiconv_close /usr/local/lib/libgd.so libiconv_open /usr/local/lib/libgd.so libiconv /usr/local/lib/libgd.so ld: 重大なエラー: シンボル参照エラー。webalizer に書き込まれる出力はありません。 collect2: ld returned 1 exit status make: *** [webalizer] Error 1 環境は、Solaris9、gcc3.4.2です。 よろしくお願いいたします。

  • Solaris10でmakeがこける

    postfixをインストールしようと make makefiles CC=gcc してから makeしたのですが、 /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.6/include/sys/types.h:27:31: sys/feature_tests.h: No such file or directory isa_defs.h: No such file or directory machtypes.h: No such file or directory int_types.h: No such file or directory In file included from sys_defs.h:335,from alldig.c:29: /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.6/include/sys/types.h:68: error:syntax error before "int32_t" syntax error before "uint32_t" "int32_t" "uint32_t" "int32_t" "uint32_t" "offset_t" (中略) /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.6/include/sys/types.h:622:24: sys/select.h: No such file or directory In file included from /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.6/include/limits.h:11,from sys_defs.h:1347,from alldig.c:29: /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.6/include/syslimits.h:27:31: sys/feature_tests.h: No such file or directory isa_defs.h: No such file or directory /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.6/include/syslimits.h:29:28: iso/limits_iso.h: No such file or directory /usr/local/lib/gcc-lib/i386-pc-solaris2.10/3.3.6/include/syslimits.h:41:28: sys/int_limits.h: No such file or directory alldig.c:30:19: ctype.h: No such file or directory (省略しているところあります) と出てmakeできません。 見つかっていないファイル類がSolaris開発ツールっぽいのしかわからず、どうやって入手すればいいかがわかりません。 SMTP-AUTH対応できればそれでいいのでpkgadd対応版みたいなので代用も可能です。 わかる方、お願いします

  • Net-SNMPでのmake時のエラーについて

    はじめまして。kyosyouと申します。 Solaris(SunOS5.9)でNet-SNMPを使おうとしておりますが、 make時に下記エラーがでて頓挫しております。 google等で調べてみたのですが、類似事象が見つからず、ご質問させていただきます。 making all in /opt/net-snmp/net-snmp-5.4/snmplib make[1]: Entering directory `/opt/net-snmp/net-snmp-5.4/snmplib' /bin/sh ../libtool --mode=compile gcc -I../include -I. -I../snmplib -g -O2 -Dsolaris2=solaris2 -c -o snmp_client.lo snmp_client.c gcc -I../include -I. -I../snmplib -g -O2 -Dsolaris2=solaris2 -c snmp_client.c -fPIC -DPIC -o .libs/snmp_client.o In file included from snmp_client.c:73: /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/sys/param.h:181: warning: `NBBY' redefined /usr/include/sys/select.h:59: warning: this is the location of the previous definition In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/time.h:91, from /usr/include/sys/time.h:419, from /usr/include/sys/select.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/sys/types.h:284, from /usr/include/sys/wait.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/stdlib.h:17, from snmp_client.c:47: /usr/include/sys/siginfo.h:74: parse error before `pthread_attr_t' /usr/include/sys/siginfo.h:74: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:76: parse error before `}' In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/time.h:91, from /usr/include/sys/time.h:419, from /usr/include/sys/select.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/sys/types.h:284, from /usr/include/sys/wait.h:20, from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/stdlib.h:17, from snmp_client.c:47: /usr/include/sys/siginfo.h:284: parse error before `int32_t' /usr/include/sys/siginfo.h:284: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:284: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:286: parse error before `}' /usr/include/sys/siginfo.h:286: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:288: parse error before `}' /usr/include/sys/siginfo.h:288: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:415: parse error before `int32_t' /usr/include/sys/siginfo.h:415: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:415: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:416: conflicting types for `__rctl' /usr/include/sys/siginfo.h:285: previous declaration of `__rctl' /usr/include/sys/siginfo.h:418: parse error before `}' /usr/include/sys/siginfo.h:418: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:420: parse error before `}' /usr/include/sys/siginfo.h:420: warning: data definition has no type or storage class /usr/include/sys/siginfo.h:424: parse error before `k_siginfo_t' /usr/include/sys/siginfo.h:424: warning: no semicolon at end of struct or union /usr/include/sys/siginfo.h:428: parse error before `}' /usr/include/sys/siginfo.h:428: warning: data definition has no type or storage class In file included from /usr/local/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/include/stdlib.h:17, from snmp_client.c:47: /usr/include/sys/wait.h:90: parse error before `siginfo_t' make[1]: *** [snmp_client.lo] Error 1 make[1]: Leaving directory `/opt/net-snmp/net-snmp-5.4/snmplib' make: *** [subdirs] Error 1 お分かりの方がいらっしゃいましたらよろしくお願い致します。

  • Cコンパイルエラーについて

    ◆OS Solaris 8 4/01 s28s_u4wos_08 SPARC ◆cソース(test.c) #include <stdio.h> int main() { printf("hello, world\n"); return 0; } ◆環境変数 PATH=/usr/sbin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/css/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/openwin/bin:/usr/openwin/bin LD_LIBRALY_PATH=/usr/lib:/usr/local/lib:. ◆コンパイル gcc -o test -g -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -L/usr/local/lib test.c -lsocket -lnsl -lmalloc -ldl -lld -lm -lcrypt -lsec -lc ◆エラー内容 ld: 重大なエラー: ライブラリ -lld: 見つかりません。 ld: 重大なエラー: ファイル処理エラー。test へ書き込まれる出力がありません。 collect2: ld はステータス 1 で終了しました 上記エラー対処方法をご教授下さい。宜しくお願いします。

  • クロス環境の構築

    i686マシンにi586用のバイナリを作成できるようクロスコンパイル環境を構築中なのですが、gccのコンパイルエラーで躓いています。 http://0x100.com/Gentoo/PPC64/kernel_crosscompile.html を参考に (binutils のインストール) $ tar zxf binutils-2.14.tar.gz $ mkdir binutils-2.14/work $ cd binutils-2.14/work $ ../configure --target=i586-linux --prefix=/usr/local $ make # make install (gcc のインストール) $ tar zxf gcc-3.3.2.tar.gz $ mkdir gcc-3.3.2/work $ cd gcc-3.3.2/work $ ../configure --target=i586-linux --prefix=/usr/local --enable-languages=c,c++ $ make 【 「../../gcc/config/i386/linux.h:232:20: signal.h: そのようなファイルやディレクトリはありません」というエラー。そこで、gcc-3.3.2/work/gcc/Makefile の LIBGCC2_INCLUDES に -I/usr/include を追加 】 $ make 【 今度は 「/usr/local/i586-linux/bin/ld: cannot find -lc」というリンカオプションエラー。gcc-3.3.2/work/gcc/Makefileの SHLIB_LC = -lc をコメントアウトすることで応急処置】 $ make (略) checking whether the C compiler ( /home/****/gcc-3.3.2/work/gcc/xgcc -B/home/****/gcc-3.3.2/work/gcc/ -B/usr/local/i586-linux/bin/ -B/usr/local/i586-linux/lib/ -isystem /usr/local/i586-linux/include -O2 -g -O2 ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. make: *** [configure-target-libiberty] エラー 1 で止まってしまいました。 何か分かる方がいましたら、アドバイスをお願いします。 文字数制限のためにあまり詳しくかけなかったので、何か足りない点があればご指摘下さい。 [ホスト環境] CPU : Pen3 OS : Fedora core 3 gcc : バージョン 3.4.2 20041017