検索条件
全1件
(1/1ページ)
家のNASのOpenSSLとOpenSSHのバージョンを上げた。
2017.04.20 - 1.0.2k に更新
$ tar xf openssl-1.0.2k.tar.gz $ cd openssl-1.0.2k $ ./config --prefix=/opt/local/openssl/1.0.2k --openssldir=/etc/ssl zlib -fPIC enable-tlsext shared $ make -j $ make install $ cd /opt/local/openssl/ $ rm * $ ln -s 1.0.2k/* .
$ tar xf openssh-7.3p1.tar.gz $ cd openssh-7.3p1 $ ./configure --prefix=/opt/local/openssh/7.3p1 \\ --with-tcp-wrappers --with-md5-passwords \\ --sysconfdir=/etc/config/ssh \\ --with-zlib=/opt/local/zlib --with-ssl-dir=/opt/local/openssl \\ --without-stackprotect $ make -j $ make install $ cd /opt/local/openssh/ $ rm * $ ln -s 7.3p1/* .
最初 OpenSSHのconfigureで、 configure: error: OpenSSL version header not found. とか言われて、
config.log を見ると、 ./conftest がSegmentation fault ってた。
「……?」と思いながらも、 --without-openssl で試すと、今度は sizeof(short int) を調べようとしてセグフォ。
そんな馬鹿なと思って、自前で conftest 作ってオプションを色々試してたところ、
gcc に -fstack-protector-all と -fPIEをセットで渡すと int main() { return 0; } ですらセグフォで死ぬことがわかって、
--without-stackprotectをつけたら行けた。
gcc のバージョンもあげたら直るのかな……。
その前にNASを脱却して適当なPCにして適当なLinuxディストリ入れた方がいいよなーと思うのであった。