こんにちは、芳賀です。 Vine Linux 2.6r4 + カーネル 2.4.26 を使用中です。 以下の件で何かアドバイスをいただければと思います。 xscreensaver 4.16 を 以下の設定で make したところ、 ./configure --prefix=/usr/X11R6 --enable-locking --with-sgi-ext \ --with-mit-ext --with-xidle-ext --with-sgivc-ext \ --with-dpms-ext --with-xf86vmode-ext --with-xf86gamma-ext \ --with-shadow --with-gtk --with-xml --with-gl --with-xpm \ --with-pixbuf --with-jpeg --with-xshm-ext --with-xdbe-ext \ --with-readdisplay \ --with-configdir=/usr/X11R6/lib/xscreensaver/config 以下のエラーが発生しました。ちなみに、上記の設定は、4.15 までは 何も問題もなく使用できており、make も正常終了していました。 xset.c: In function `query_randr_extension': xset.c:182: warning: implicit declaration of function `XRRSelectInput' xset.c:183: `RRScreenChangeNotifyMask' undeclared (first use in this function) xset.c:183: (Each undeclared identifier is reported only once xset.c:183: for each function it appears in.) make[1]: *** [xset.o] Error 1 make[1]: Leaving directory `/home/fumi/src/xscreensaver-4.16/driver' make: *** [default] Error 5 make 自体は "--without-randr-ext" オプションを configure スクリプト に追加して正常終了し、現在バージョン 4.16 の xscreensaver を使用中です。 疑問なのは、"RRScreenChangeNotifyMask" というシンボルがどこにも定義されて いないことです。以下のようにしても、 # cd /usr/include # grep -r -i RRScreenChangeNotifyMask * grep: 警告: gnome-xml/libxml: ディレクトリーが再帰的ループをしています # cd /usr/local/include # grep -r -i RRScreenChangeNotifyMask * # cd /usr/X11R6/include/ # grep -r -i RRScreenChangeNotifyMask * # このシンボルはどこにも見当たりません。 使用されているのは、driver/xset.cの、以下の関数です。 /* Resize and Rotate server extension hackery. */ #ifdef HAVE_RANDR # include <X11/extensions/Xrandr.h> Bool query_randr_extension (saver_info *si) { saver_preferences *p = &si->prefs; Bool ok = XRRQueryExtension (si->dpy, &si->randr_event_number, &si->randr_error_number); if (ok) { int nscreens = ScreenCount (si->dpy); /* number of *real* screens */ int i; if (p->verbose_p) fprintf (stderr, "%s: selecting RANDR events\n", blurb()); for (i = 0; i < nscreens; i++) XRRSelectInput (si->dpy, RootWindow (si->dpy, i), RRScreenChangeNotifyMask); } return ok; } #endif /* HAVE_XIDLE_EXTENSION */ しかし、以下のようにヘッダーファイルとライブラリは存在します。 # locate libXrandr /usr/X11R6/lib/libXrandr.so.1 /usr/X11R6/lib/libXrandr.so.1.0 /usr/X11R6/lib/libXrandr.a /usr/X11R6/lib/libXrandr.so # locate randr.h /usr/X11R6/include/X11/extensions/Xrandr.h /usr/X11R6/include/X11/extensions/randr.h これは、本来あるべきものが、使用している環境には抜けているのでしょうか、 それとも、使用している環境では、そもそも「無い」のが正しい姿なのでしょうか。 冒頭の設定のまま、先のエラーを出さずに正常に make するにはどうすればいいの でしょうか。 --- Yasufumi Haga yasufumi.haga@xxxxxxxxx http://homepage3.nifty.com/peterpan/ fingerprint:0EFA 299A BC32 7D68 1FEF BA2B 804E 9B15 C4F0 F9F0