wgetのコンパイルがえらく難しい

別にインストールしてあったMacOSX 10.7.5なのだけれど、先日と同様にgcc Ver4.9.4をインストールしてそれを使ってVer5.5.0をインストールし、それを使ってVer11.2.0をインストールしようとしたところ、Ver4.9.4のdownload_prerequisitesでコケた。

具体的にはwgetがないのでダウンロードできません、ということなのだけれど、OpenSSLをインストールして(これはXcode command line tools付属の Ver.4.2.1でできた)、次にwgetの適当なバージョンをダウンロード・解凍して、

 

./configure --with-ssl=openssl --with-libssl-prefix=/usr/local/ssl

 

を実行すると問題なく実行できる。ところがmakeだとエラーが出る。試しにCatalinaでもEl Capitanでもやってみたけれど、ダメだった。ネット検索するとGNUTLSじゃないとダメじゃないか、ということも書いてあったりしたが、一体世の中のwgetはどうやってビルドされているのだろう。本当にあれこれやってみたけれど、ダメだった。ちなみにgnutlsのビルドも試みたのだけれど、こちらは足りないものが続出で結局コンパイルできず。

なので、最初からバイナリがないか探してみたところ、wget Ver 1.7はあるようなのでダウンロードしてみたけれど、これではダウンロードできず。結局無理か、と思っていたところdownload_prerequisitesはhttpsを使っていないようだということに気づいて、

 

./configure --without-ssl

 

でmakeしてみた。ところが、これをやったのがVer 1.17でこれはバグがあるようでやっぱりコンパイルできない。いや、バグがあるようだ、というのは後で調べて分かったことなのだけれど。結局、Ver 1.13がSSLなしでコンパイル出来て、download_prerequisitesが問題なく走り、現在gccのビルドを行っている。

 

mkdir ~/gcc

./configure --prefix=$HOME/gcc/v4.9.4 --disable-bootstrap

 

このbootstrapはデフォルトではenabledで、その場合なんと三回もmakeしてその間で違いがないかをチェックするというえらく時間がかかることをやることになるので、disableしてある。

 

と、上記まで書いたところでやっぱり変だと思い調べてみると、2021年の記事にもかかわらず、v1.15の例を挙げてしれっと簡単にできます、と書いてあるものを見つけた。おや、と思い、試してみると確かにこのバージョンは--with-ssl=opensslが何の問題もなくコンパイルできる。どうやら、バージョンによってはバグが残ったままのようだ。

で、ひょっとしてと思って最新版(1.21.1)でやってみたところ、これもすんなりコンパイルが通り、インストールできた。

 

追記)でもやっぱりwgetを書いている人たちはちとルーズな気がする。

 

./configure --help

 

をすると、--with-opensslというオプションがありますよ、と出る。ところが、-with-ssl=opensslの代わりに-with-opensslを指定すると、結局最後の方でpkg-configがないと騒ぐ。これはGNUTLSに必要なものなので、--with-opensslではちゃんと命令が通っていないようだ。