Poundのコンパイルには新しいgccが必要かもしれない

libretto20でPoundを動かそうと(これまではThinkpad T41で動かしていた)、configureしたらエラーが出た。SSL_CTX_newがないとか。ソースコードで宣言はしているので構文エラーではない。opensslのライブラリのlibssl.aの中にもちゃんとssl_cert.oがある。どうもこれはgccのバージョンが古いせいみたいだ。libreto20のgccはegcs-1.1.2だ。Thinkpad T41はgcc4.1.2だ。libretto20のgccバージョンを上げようと思い、i7の速いマシンでtargetをi486にしてgcc3をコンパイルしたら途中でエラー終了する。このマシンのgccは5だ。gccのバージョンが新しいと古いバージョンで正常コンパイルできていたソースコードがコンパイルできなくなることがあるとネットにあった。時間がかかるがlibretto20のegcs-1.1.2でコンパイルした方がよさそうだ。まずgcc3.4をコンパイルして、そのgcc3.4でgcc4.0をコンパイルしよう。gcc3.4のmakeをかけてから2日後にmakeが完了した。これからgcc3.4が動作するように環境変数を変えて、gcc4.0のコンパイルを始める。たぶん2日以上かかるだろうな。

苦労してgccをコンパイルしたのに、相変わらずPoundのconfigureでエラーがでる。libsslがないと言っているがlibssl.aはきちんとある。どうにも分からなくて、エラーが出るconfigureを編集してエラーでexitするところをコメントアウトした。これでMakefileができた。そしてコンパイルすると今度はzlib関係で変数を宣言していないとエラーになる。zlibもきちんとあるんだけど。ネットで調べるとgccの引数に-ldl -lz を加えればよいことが分かった。Makefileを編集して-ldl -lzを加え、コンパイルすると今度はうまく行った。できあがったpoundはきちんと動いた。

広告