SSブログ

MacPortsはトラブル直らん…help2manでエラー [MacOSX]

[2011/3/2 追記]コメントに解決法を追記しました。お急ぎの方はそちらを。結局、help2manのエラーの問題は、sudo port install gettext-lintで依存性を解決すればいいみたい。

sudo port upgrade outdatedで、入ってて古いのをみんなコンパイル中。あ、help2manでエラー発生。個別でhelp2manのインストールが発生しないように、他のパッケージを個別導入。コンパイラってかなり大胆なメモリ消費をするんだなぁ。割り当てて使用するのも速いが、解放するのも速い。やっぱりコンピューティングってのはメモリをどう操作するかって事なのがよく分かる。それに長けていれば、有効な方法で使う事ができるってことなんでしょう。にしても、言語環境ってのは時間がかかるな。RubyとかPerlとかやたらと時間がかかってるんですけど。

やはりメモリの少なさはいかんともし難い。でも、2GBめいっぱい積んでいるので、やっぱりSandyBridgeなマシンに買い替えるしかないのね。にしてもmdsとかmdsworkerとかのプロセスがいつもガンガンにメモリ消費してくれちゃったりするので、普通のアプリケーションの動作に支障が出かねないのね。今コンパイルしている時も、一時ファイルとかも検索インデックスを付けちゃうみたいで、鬱陶しい事この上ない。どうせspotlightとかあんまり使わねぇんだけどな。

今時のコンピューターでも、HDDへのスワップはかなりボトルネックなのは変わっていなくて、SSDとかになればもう少しはまともになるのかな? 結局、物理メモリをなるたけマシンに載せるしかないっていう正攻法的なやり方しか根本的には解決しないのですよね。むかーし、物理メモリを増やせる、みたいなソフトがあったけど、アレって何やってたのかな。データの圧縮とかなら、今のマシンはパワーが余っている事が多いので、それをやったらスワップの発生よりも遅くはならないと思うんですが。システムが不安定になりそうな気がするので、あんまり余計な事をしてくれるなって気もします。



っと、やっとhelp2manの不具合に抵触しないパッケージが一通り終わった。残っているのは、glib2, libmms, help2manの三つ。libmmsを消したら入れられなくなった。ぐふぉ。

/opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_help2man/main.logを見てみる。configureの所で転んでるって書いてあるけど、手動で./configureした時にエラーになったときってあんまりなかったんだけどなぁ。"$procedure $targetname"が使えないって言ってるのかな? 原因特定するの面倒だなぁ。

こういう事しなくていいのが、パッケージ管理リポジトリの利点なんだけど、メンテナが手を抜いていたり、システム自体がやらかしやすい、大丈夫かどうかのチェックがなされてなかったりすると、こういう事になるのですよね。はじめからコンパイルされているのを配れば何の問題もないのにね。残念な事この上ない。使う時に不具合が出ては欲しくないけど、使う前から不具合ってのはどうなのよ。というか、他のリポジトリの運用を習った方がいいよな。だって、DebianのAPTのリポジトリは、基本的に金がかかってないんですよ。周りから人集めすれば、いくらでもマシになりそうなもんですけどね。おいらは英語面倒なのでやりたくないですけど。

/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_help2man/work/help2man-1.38.4
まで来て、./configureで実際どういうエラーが出るのか見てみる。

Permission deniedなログへの書き込みエラーが出ていた。いろいろ直した後でも、make installあたりで転んでるし。いろいろ手を入れられるほど分かってないので、MacPorts経由じゃなくて、GNU本家のページに行って、新しいtarballからコンパイル、インストールしてみることにした。

でもね、何か上手くいかない。./configureしてもMakefileができてなくて、何とかできるようにした。でもmake installで問題発生。エラーともいわず、原因となってそうな十数行を吐き出して終わる。たぶん上手くいってないんだろうなぁ。

/usr/bin/install -c help2man /usr/local/bin
/usr/bin/install -c -m 644 $(perl -e 'print +(grep -f, map "$_/$ARGV[0]", map +(length) ? $_ : ".", split ":", $ENV{VPATH} || ".")[0]' help2man.1) /usr/local/share/man/man1
/usr/bin/install -c -m 644 $(perl -e 'print +(grep -f, map "$_/$ARGV[0]", map +(length) ? $_ : ".", split ":", $ENV{VPATH} || ".")[0]' help2man.info) \
	    /usr/local/share/info/help2man.info
if test -f /usr/local/share/info/dir; \
	then \
	    /usr/bin/install-info --info-dir=/usr/local/share/info \
		/usr/local/share/info/help2man.info; \
	fi


エラーとは言ってないんだけど、わざわざ表示に出す必要はないしね。
makeでは下記のようにエラーは出てない。

$ make
perl help2man.PL 
Extracting help2man (with variable substitutions)


できたhelp2manの実行ファイルを見ると、バイナリじゃなくてperlスクリプトだった。だから上みたいに淡白なメッセージしか出なかったのね。help2manという実行ファイルは、whichで見ると、/opt/local/bin/help2manってあるから、システムに元々入っているものではないみたい。

ということなので、一時的にhelp2manを消してみようとした。autoconfが使っているとロックがかかっている。そのautoconfは複数バージョンあって、消すの面倒ですな。消した。これ自体に依存性はなかった。またautoconfから入れ直してみる。やっぱりさっきと同じエラー。入んなくなっちゃったよ。

:info:configure configure: error: perl module Locale::gettext required:info:configure shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rs
ync.macports.org_release_ports_textproc_help2man/work/help2man-1.38.4" && ./configure --prefix=/opt/
local --enable-nls " returned error 1
:error:configure Target org.macports.configure returned: configure failure: shell command failed (se
e log for details):debug:configure Backtrace: configure failure: shell command failed (see log for details)
    while executing
"$procedure $targetname"
:info:configure Warning: the following items did not execute (for help2man): org.macports.destroot org.macports.configure org.macports.build
:notice:configure Log for help2man is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_textproc_help2man/main.log


そうそう、さっきもPerlのgettextのportのパッケージを入れたり外したりしたんだっけ。結局、直らなかったんですよね。ちなみに入れたのは、p5-locale-gettext @1.05。

入れられているhelp2manをportで消してみた。消せたけど、入れられなくなった。そこいらは今までと何の変わりもない。どうせ使わないからいいんだけど、不具合をそのままにしたくないものです。

あれ?help2manコマンドあるなぁ。which help2manで見てみたら、/usr/local/bin/help2manに入っていた。あ、さっきのきちんと入ってたんだ。バージョンを見てみたら、GNU help2man 1.39.1でtar玉のやつでした。MacPortsのも、できればそっちを見に行ってほしいんですけど。設定ってどうやってするのか、それができるのかさえも調べてないですが、そんな事に時間をさきたくない。

ってことは、MacPortsのメンテナがポカしたか、そもそものGNUのバージョンが運悪くエラーが出るものだった、という事か。どっちにしても、こんなものを提供している事自体が問題だ。でも、これ以上の事できそうにないなぁ。本家サイトにバグ上げてみっか。でも英語めんどい。

 https://trac.macports.org/search?q=Locale%3A%3Agettext

でもこの問題はゴマンと出ていて、大抵クローズされちゃってるから直ってると思いきや、全然ダメな感じ。なんか小手先の方法でできないもんかね。

 https://trac.macports.org/ticket/27457#comment:3

で、できるそうなんだけど、これはできても根本的な解決じゃないよね。面倒臭い。でも、一応やる。

libintlとやらを入れる。

$ port search libintl
$ sudo port install p5-libintl-perl
$ port fetch p5-locale-gettext

#ソースのところに移動して

$ CC='cc -I/opt/local/include -L/opt/local/lib ' perl Makefile.PL
checking for gettext... no
checking for gettext in -lintl... no
gettext function not found. Please install libintl at Makefile.PL line 18.


なんだか、libintlを入れたんだけど、認識してくれない。もーやだ、もーやんない。っていうか、Makefile.PL見たけど、Perlわかんねー。


あーあ、↓に18months agoとか書いてあるよ。

 https://trac.macports.org/ticket/21069

かなりassholeな対応。一昨年から続いちゃう、この不具合が温存されちゃう状況って何? こんなんでMacPorts大丈夫か? ヒドい、ヒドすぎる。



苦言続きですが、最後にまた苦言。
なんか、ぬらりひょんの孫のEDが、プリンセスプリンセスの曲まんまの部分があってヒドい。知らないでやっているかもしれないけど、パクってやってるならもっとやり方があるだろうにな。しかも、元の曲の良さからするとデグレしているという不味い代物。Jポップはみんなコード進行が一緒らしいが、ドリカムやビーズやサザンなどのメジャーでも、あからさまに洋楽をパクるような世の中だからいいのか。やっぱり、日本の音楽とか聞きたくない理由が顕在化しただけなんだろうけどね。


nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 2

miff

$ sudo port install gettext-lint

で、

---> Computing dependencies for gettext-lint
---> Dependencies to be installed: autoconf help2man p5-locale-gettext

って出てきて、エラーが特に出てこなかったから、良さげだぞ。

もいっかい、sudo port upgrade outdatedでやってみると、全部upgradeできました。やっとかたがついたよ、ふぅ。


結局、gettext-lintの依存性が無視されていたために起こった問題かよ。ヒドくつまらない理由だな。つーか、そんな事で1年間もつまらん問題をこじらせてるのな。悪いけどMacPortsの運営者はバカじゃないのか? 本当にヒドい。つーか、全部、コンパイルしたパッケージならこんなヒドい事起こんないし、いちいち動作確認するためにコンパイルさせなくて済むから、面倒が逆に起こりにくくなるっていうのに何も分かってないんだろうな。って英語で言いたい(暴言だけなら英語は知ってるけど)。

さっきの報告サイトで、どうやって英語で説明しようかなぁ。そっちの方が面倒だったりして。

by miff (2011-03-02 09:58) 

miff

tracに登録したらメールアドレスガッツリ明かされた。そりゃねー。なんか記事も訂正し方が分からないし、削除もどうやってしたらいいかも分からないし。報告してスゲー損した。拙い英語が指摘されるんだろうな。なんか一年以上前から放置されてる状況だからなんとかしたいと思って、親切心でやったのに裏切られた気持ちだ。
by miff (2011-03-02 20:17) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0