openssh-4.1p1 with openssl-0.9.8 error

|

引き続き openssl-0.9.8 に変えたあと Solairs9 SPARC で openssh-4.1.p1 の再構築。
あ、zlibも 1.2.3 にしてますた。

で make 中にエラーがでたのでその時の対処メモ。

make 中では以下のようなエラーでストップ。

gcc -o ssh ssh.o readconf.o clientloop.o sshtty.o sshconnect.o sshconnect1.o sshconnect2.o -L. -Lopenbsd-compat/ -L/usr/local/ssl/lib -R/usr/local/ssl/lib -lssh -lopenbsd-compat -lresolv -lcrypto -lrt -lz -lsocket -lnsl
未定義の 最初に参照している
シンボル ファイル
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 に属しています)
dlsym /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 はステータス 1 で終了しました
gmake: *** [ssh] Error 1
%

なんだか最近こんなんばっかの気がする。orz
いろいろ調べてみたら、 -ldl が抜けてるからじゃね?ということで。
試しに Makefile の LIBS の最後に -ldl いれてみたら make が成功。

openssl-0.9.8 使ったからその変更が影響してるんだろうか。
それともzlibかな?時間があったら調査してみよう。

んでまあ、configure 時に --with-libs="-ldl" とかしとけば、

configure の最後の表示で、

Host: sparc-sun-solaris2.9
Compiler: gcc
Compiler flags: -g -O2 -Wall -Wpointer-arith -Wno-uninitialized
Preprocessor flags: -I/usr/local/ssl/include
Linker flags: -L/usr/local/ssl/lib -R/usr/local/ssl/lib
Libraries: -lresolv -lcrypto -lrt -lz -lsocket -lnsl


だったのが、


Host: sparc-sun-solaris2.9
Compiler: gcc
Compiler flags: -g -O2 -Wall -Wpointer-arith -Wno-uninitialized
Preprocessor flags: -I/usr/local/ssl/include
Linker flags: -L/usr/local/ssl/lib -R/usr/local/ssl/lib
Libraries: -lresolv -lcrypto -lrt -lz -lsocket -lnsl -ldl
                                 ↑ここだよここ!(ポートピア連続殺人事件風)

という風に変わるのできれいにとおるようになるっちゅうことで。

(`□´) 以上である!(爆)

このブログ記事について

このページは、kazuが2005年7月26日 17:17に書いたブログ記事です。

ひとつ前のブログ記事は「openssl-0.9.8 install error」です。

次のブログ記事は「7/27 緊急帰省」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。