opensslをバージョンアップしようってなわけで作業をしてたのですが、make中こんなエラーが出て先へ進まない。
gcc -I.. -I../.. -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REE\
NTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DB_ENDIAN -DTERMIO -O3 -Wall -c -o linux_ppc32.o linux_ppc32.s
linux_ppc32.s: Assembler messages:
linux_ppc32.s:1484: Error: junk at end of line: `r5'
linux_ppc32.s:1488: Error: junk at end of line: `0'
linux_ppc32.s:1505: Error: junk at end of line: `r9'
linux_ppc32.s:1527: Error: junk at end of line: `r7'
linux_ppc32.s:1538: Error: junk at end of line: `r11'
linux_ppc32.s:1544: Error: junk at end of line: `r12'
linux_ppc32.s:1676: Error: junk at end of line: `0'
linux_ppc32.s:1690: Error: junk at end of line: `0'
make[2]: *** [linux_ppc32.o] Error 1
make[2]: Leaving directory `/PATH_TO/src/openssl/openssl-0.9.8l/crypto/bn'
make[1]: *** [subdirs] Error 1
make[1]: Leaving directory `/PATH_TO/src/openssl/openssl-0.9.8l/crypto'
make: *** [build_crypto] Error 1
アセンブラでエラーとかもうわかんねーよっ!と、ぼやきつつ色々調べるけど原因がぜんぜんわからず。とりあえずアセンブラが悪いと決め付けてbinutilsを最新版の2.20にバージョンアップしてみた。
しかしエラー変わらない。
ちょっとあきらめ掛けてたけどopensslのINSTALLファイルを覗いていたらこんな記述か。
no-asm Do not use assembler code.
これはっ…というわけで以下のようにしてconfigを実行。
./cnofig shared no-asm
make
おぉ、makeが通った。
けど、これって大丈夫なのかな?アーキテクチャごとに最適化されたアセンブラ使わない分、パフォーマンスが出ないって事かな?
その後、opensshもバージョンアップして無事に動いてるのでとりあえず大丈夫ってことにしよう。
ちなみにopensshの./configureでもエラーが出て結構苦戦した。というかopenssl入れた後にldconfigしてなかったので、新しいopensslを見つけくれずにエラーになるという、すーぱーショボイ事をしてしまったorz
作成日:2010/01/26 02:25:31