AIXでgraphvizをコンパイルしようとしたらconfigureでこけた件

ちなみにOSのバージョンは5.3だったはず。でもこれはおそらくSolarisとかたぶんBSD系もこけるんでないかと。
Linuxばっか使ってないでたまには商用Unixも触れって叫びたくなります。
SolarisならX86な奴フリーで入れられるしね...ったく。


客先での作業中だったんで記憶ベースで書いてみます。
ことの発端はこれ。
http://gigazine.net/index.php?/news/comments/20070305_visitors/


んで、じゃぁためしに開発環境のAIXにでもぶち込もうかと。
でまずはとgraphvizを落としてきた。
RPMなんてあるわきゃないんでソースをこっから。
http://www.graphviz.org/Download_source.php


拾ってきたファイル名はこれです。
graphviz-2.20.3.tar.gz


で、おもむろにconfigureをかけるとエラー。
なんかよくわかんないんで該当箇所を見る。

# Windows version numbers
# For the build number: months since Jan 2000, day of month from the timestamp
# For the revision number: hour, minute from the timestamp

if test $GRAPHVIZ_VERSION_MICRO = "0"; then
	GRAPHVIZ_VERSION_BUILD=0
	GRAPHVIZ_VERSION_REVISION=0
else
	GRAPHVIZ_VERSION_BUILD=`expr \( ${GRAPHVIZ_VERSION_MICRO:0:4} - 2000 \) \* 12 + {GRAPHVIZ_VERSION_MICRO:4:2}`${GRAPHVIZ_VERSION_MICRO:6:2}
	GRAPHVIZ_VERSION_REVISION=${GRAPHVIZ_VERSION_MICRO:9:4}
fi


ますますわからん。たぶんexprするとこでこけてるんだろうなぁとは思うんだがよくわからん。
環境依存っぽくないしなぁ...と思いつつまさかと思いおもむろに最初の行を書き換える。


はじめはこうだったのを

#!/bin/sh

こっちに。

#!/bin/bash

はい。無事通りました。
その後makeもふつーに。


開発環境でよかった。なぜかbashが入ってたんで。freewareとかいうとこにあったんでたぶんIBM提供かなんかだろう。
gccはこの間ここ見て入れたんだけどさ。
http://blog.goo.ne.jp/izayoi_hoshino/e/c0bdeb5906ccb6124a5f4c5561e11792


というわけで原因はこれにつきる。


なぜこうなったのかっつーと、

  • Linuxでconfigureを作ってた
  • Linux上でのみ動かした
  • 他のOSで動作確認しなかった


という感じなんでしょうね。
みなさんご存知の通りLinux/bin/shは/bin/bashへのシンボリックリンクですから...。
ちょっとこれはいただけないな...フリーだから云々というのは論点が違うので却下。おまえとはうまい酒がまずくなるからぜったい呑まねぇ。


それにしてもこのbourne shell&bash文法混じりスクリプトどうにかならんものか...
偉い人が啓蒙活動してくれたらいいのにもう...


個人的には/bin/shを捨ててしまうというのはそれはそれでありかと思ったりはしますがね。
参考までに。
http://d.hatena.ne.jp/youichi/20070616#p1



ほんとどうでもいいけどbourne shellのことをborn shellだと思ってた。だめだめ。