CentOS7へw3mのインストール

こんにちは、童爺です。
今回は、CentOS7へのw3mのインストールについて記述したいと思います。
理由は、「sodu yum install -y w3m」でインストール出来なかったのと、ソースからのコンパイルでリンクエラーとなり、インストールできず丸2日悩んだからです。

では、インストール手順を記述していきたいと思います。

手順

gcのヘッダが必要なのでインストールする。
また、tputsでエラーが発生する可能性があるので、ncursesもインストールする。

$ sudo yum install gc-devel
$ sudo yum install ncurses-devel

次に、ソースコードをダウンロードします。
https://sourceforge.net/projects/w3m/files/w3m/にアクセスして、最新のw3m-0.5.3のソースコードをダウンロードします。

~/ダウンロード/配下に、w3m-0.5.3.tar.gzがダウンロードされるので、以下のコマンドを入力します。

$ mv ダウンロード/w3m-0.5.3.tar.gz ..
$ tar zxvf w3m-0.5.3.tar.gz

解凍したディレクトリに入ります。

$ cd w3m-0.5.3

コンパイルエラーになるので、以下のコマンドを入力します。
理由は、file_handleが既に定義されているので二重定義になるからです。
istream.cとistream.hに定義されているfile_handleの頭にw3m_を付与します。

$ sed -i -e "s/file_handle/w3m_file_handle/g" istream.?

main.cを変更します。
これもコンパイルエラー対策です。

$ vi main.c

315行目の「else if (orig_GC_warn_proc)」を「else if (orig_GC_warn_proc = GC_get_warn_proc())」に変更し、続けて837行目の「orig_GC_warn_proc = GC_set_warn_proc(wrap_GC_warn_proc);」を「GC_set_warn_proc(wrap_GC_warn_proc);」に変更します。

configureを変更します。

$ vi configure

6930行目の「IMGX11LDFLAGS=”`${PKG_CONFIG} –libs gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0`”」を「IMGX11LDFLAGS=”`${PKG_CONFIG} –libs gdk-pixbuf-2.0 gdk-pixbuf-xlib-2.0 gtk+-2.0` -lX11“」に変更します。
こうしないと、リンクエラーになります。

ビルドとインストールを行います。

$ ./configure
$ sudo make && make install

以上です。

これで、以下のコマンドを入力した結果が下図です。

$ w3m http://yahoo.co.jp

まとめ

どうでしょうか?
上手く言ったでしょうか?
自分は、configureファイルに-lX11を追加するまで、意味不明のリンクエラーに悩まされました。
こうして見返してみると簡単だったような、それともpkg-configがX11ライブラリを出力してくれる様に変更した方がスマートだったような気がします。
皆さんもチャレンジしてみてください。


それではまた。
でわでわ。
参考文献
imkitchenさんのWebサイト

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

童爺 童爺のプロフィール
童爺は「どうじ」と読んでください。 由来は友人に、ハンドルネームを「酒呑童子」にしようかと相談したら、「酒呑童爺」にしたらどうかと言われたのが由来です。(爺むさい所や、子供っぽいところがあるからです。)