芳賀と申します。
Vine 4.1 を使っています。
要領を得ない内容かもしれませんが、情報、アドバイスなどいただけません
でしょうか。すみません、多少長いメールです。
以下の現象は、ウィンドウマネージャ Enlightenment DR17 で使われている
Enlightenment Foundation Libraries の一つ、evas というライブラリの構築中に
発生していました。私が、知らない間に自分で自分の環境を変えてしまった
可能性も大きいのですが... Enlightenment Foundation Libraries は、今まで何度
も問題なく構築できていましたし、Vine 4.1 にアップグレードしてからも、1度
正常に構築できていました。
evas の configure.in では、数ヶ所で AC_PATH_XTRA が使われているのですが、
このマクロが X_LIBS と X_CFLAGS に "NONE" を設定するため、リンクの際に
"-lX11" が見つからず、エラーになってしまいます。使われ方は以下のとおり
です。
if test "x$have_evas_software_ddraw" = "xyes"; then
AC_PATH_XTRA <---------------------------(1)
AC_CHECK_HEADER(ddraw.h,
[
AC_DEFINE( ...
.........................................................
if test "x$have_evas_software_x11" = "xyes"; then
AC_PATH_XTRA <---------------------------(2)
AC_CHECK_HEADER(X11/X.h,
[
AC_DEFINE( ...
........................................................
以下、このパターンがあと2、3回続く
この configure.in では、(1) の箇所が最初に AC_PATH_XTRA が使われている
箇所です。どういうわけか、これだと AC_PATH_XTRA は X_LIBS と X_CFLAGS
に "NONE" を設定するのです。このため、構築に際しては、
$ CFLAGS="-I/usr/X11R6/include" LDFLAGS="-L/usr/X11R6/lib" ./autogen.sh
とする必要がありました。このマクロは Enlightenment DR16 でも Imlib2 ライブ
ラリでも、configure.in に使われていますが、これらではこの問題は発生しません。
しかし、(1) の AC_PATH_XTRA を以下のように if 文の前に出すと、少なくとも
(2) の AC_PATH_XTRA では、X_LIBS と X_CFLAGS に、それぞれ
"-L/usr/X11R6/lib" と "-I/usr/X11R6/include" が設定されます。( (2) の位置
は変更せず、そのままにしました)
AC_PATH_XTRA <---------------------------(1)
if test "x$have_evas_software_ddraw" = "xyes"; then
AC_CHECK_HEADER(ddraw.h,
こうすると、
$ ./autogen.sh
だけで正常に実行されます。
この現象について、Enlightenment Foundation Libraries の開発者と話をした結果、
現時点の CVS では、以下のように AC_PATH_XTRA の直前に AC_PATH_X を入れ
るという対応がなされています。
if test "x$have_evas_software_x11" = "xyes"; then
AC_PATH_X
AC_PATH_XTRA
AC_CHECK_HEADER(X11/X.h,
[
AC_DEFINE( ...
しかし、AC_PATH_XTRA がどうしてこのような挙動をするのかは不明なままです。
私の環境でしか発生しないものなのか、それとも他でも発生している問題なのか、
どういう対処をするのが「本筋」なのか、など... 分からないことがたくさんあります。
この現象について、どなたか、情報をお持ちの方がいらっしゃったら、教えていただ
けませんか。なお、参考までに、この configure.in 全文を以下に置きました。
http://homepage3.nifty.com/peterpan/x00/configure.in
# if 文の中に AC_PATH_XTRA があると、動きがおかしくなるという噂もあるような、
# 無いような...
よろしくお願いします。
--芳賀