diary/Kojima/2007-01-05
の編集
http://plamo.linet.gr.jp/index.php?diary/Kojima/2007-01-05
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
diary/Template
[[diary/Kojima]] ・X11R7.1(その2) その後,しばらくビルドは順調に進んだけど,Xdmx(ってなんだ?)をリンクする際に gcc -m64 -g -O2 -o Xdmx -rdynamic Xdmx-dmx.o Xdmx-dmxcb.o Xdmx-dmxcmap.o Xdmx-dmxcursor.o Xdmx-dmxdpms.o Xdmx-dmxextension.o ... /usr/X11/lib/libXau.so /usr/X11/lib/libXdmcp.so -lm ../../dix/.libs/libdix.a(devices.o): In function `CoreKeyboardBell': /sources/X/srcs/xserver/dix/devices.c:216: undefined reference to `DDXRingBell' input/libdmxinput.a(dmxinputinit.o): In function `dmxDeviceOnOff': /sources/X/srcs/xserver/hw/dmx/input/dmxinputinit.c:437: undefined reference to `miPointerGetMotionBufferSize' /sources/X/srcs/xserver/hw/dmx/input/dmxinputinit.c:437: undefined reference to `miPointerGetMotionEvents' input/libdmxinput.a(dmxinputinit.o): In function `dmxAddDevice': /sources/X/srcs/xserver/hw/dmx/input/dmxinputinit.c:714: undefined reference to `miRegisterPointerDevice' input/libdmxinput.a(dmxxinput.o): In function `ChangePointerDevice': /sources/X/srcs/xserver/hw/dmx/input/dmxxinput.c:102: undefined reference to `miPointerGetMotionEvents' /sources/X/srcs/xserver/hw/dmx/input/dmxxinput.c:103: undefined reference to `miPointerGetMotionBufferSize' collect2: ld returned 1 exit status make[3]: *** [Xdmx] Error 1 make[3]: Leaving directory `/sources/X/srcs/xserver/hw/dmx' なんてエラーが発生.ソースコードを grep したら,このあたりの定義は xserver/mi/mipointer.h に extern int miPointerGetMotionBufferSize( void ) _X_DEPRECATED; extern int miPointerGetMotionEvents( DeviceIntPtr /*pPtr*/, xTimecoord * /*coords*/, unsigned long /*start*/, unsigned long /*stop*/, ScreenPtr /*pScreen*/ ); という風にあるのだけど,find で定義を探しても root:/sources/X/srcs# find . -name "*.[ch]" | xargs grep miPointerGetMotionEvents ./driver/xf86-input-evdev/src/evdev_axes.c: miPointerGetMotionEvents, ./driver/xf86-input-mouse/src/mouse.c: miPointerGetMotionEvents, ./driver/xf86-input-vmmouse/src/vmmouse.c: "miPointerGetMotionEvents", ./driver/xf86-input-vmmouse/src/vmmouse.c: miPointerGetMotionEvents, pMse->Ctrl, ./xserver/hw/darwin/darwin.c: miPointerGetMotionEvents, ./xserver/hw/dmx/input/dmxinputinit.c: miPointerGetMotionEvents, ./xserver/hw/dmx/input/dmxmotion.c: * This file provides functions similar to miPointerGetMotionEvents and ./xserver/hw/dmx/input/dmxmotion.c:/** This routine performs the same function as \a miPointerGetMotionEvents: ./xserver/hw/dmx/input/dmxmotion.c: * \a miPointerGetMotionEvents for devices with only 2 axes (i.e., core ./xserver/hw/dmx/input/dmxmotion.c: * Because compatibility with miPointerGetMotionEvents is not possible, ./xserver/hw/dmx/input/dmxxinput.c: new_dev->valuator->GetMotionProc = miPointerGetMotionEvents; ./xserver/hw/xfree86/os-support/bsd/bsd_mouse.c: miPointerGetMotionEvents, ./xserver/hw/xfree86/os-support/sco/sco_mouse.c: miPointerGetMotionEvents, pMse->Ctrl, ./xserver/hw/xfree86/os-support/usl/usl_mouse.c: miPointerGetMotionEvents, pMse->Ctrl, ./xserver/hw/xgl/egl/kinput.c: miPointerGetMotionEvents, ./xserver/hw/xgl/xglinput.c: miPointerGetMotionEvents, ./xserver/hw/xwin/winmouse.c: miPointerGetMotionEvents, ./xserver/mi/mipointer.h:extern int miPointerGetMotionEvents( と,使っている側は見つかるものの,実際の定義はされてない感じ. それでは,と 7.0 のソースコードを見たら mi/mipointer.c に /* * Pointer/CursorDisplay interface routines */ int miPointerGetMotionBufferSize () { return MOTION_SIZE; } int miPointerGetMotionEvents (pPtr, coords, start, stop, pScreen) DeviceIntPtr pPtr; xTimecoord *coords; unsigned long start, stop; ScreenPtr pScreen; ... といった定義がされている模様.このあたりを 7.1 の mipointer.c に持っていけば何とかなるのだろうか?? -そう言えば xdpyinfo が OpenGL ライブラリを必要とするのだけど,OpenGL ライブラリは X のヘッダファイルを必要とする,という競合状態もあったなぁ.. -- [[kojima]] &new{2007-01-05 (金) 20:28:17}; -私は、あれやこれやと考えることが面倒なので、 X11R7.0/src/everything の中を全部と、 X11R7.1/src/everythingの中全部、 そして X11R7.1/src/lib/libX11-X11R7.1-1.0.1.tar.bz2 を持ってきて ./build-from-tarballs.sh … したらcompileが通ったと、記憶してます。 そのcompileしたモノが使えるかは確認してはいません。 -- [[alpexterm]] &new{2007-01-05 (金) 22:06:35}; -しばらくgitのソースと格闘してみたけど、これって開発中のバージョンだから、ある部分の変更が必ずしも全体に反映されていないような印象ですねぇ。とりあえず昔ビルドしたことのある7.0+7.1のソースコードに戻してビルドしてみるのがよさげだなぁ。しかし、7.0と7.1の tarballをマージして くれるツールも提供されているのだけれど、guile 用だったりして、ほとんど罰ゲームを受けてるような気がしてきた。。(苦笑 -- [[kojima]] &new{2007-01-06 (土) 00:00:09};
タイムスタンプを変更しない
[[diary/Kojima]] ・X11R7.1(その2) その後,しばらくビルドは順調に進んだけど,Xdmx(ってなんだ?)をリンクする際に gcc -m64 -g -O2 -o Xdmx -rdynamic Xdmx-dmx.o Xdmx-dmxcb.o Xdmx-dmxcmap.o Xdmx-dmxcursor.o Xdmx-dmxdpms.o Xdmx-dmxextension.o ... /usr/X11/lib/libXau.so /usr/X11/lib/libXdmcp.so -lm ../../dix/.libs/libdix.a(devices.o): In function `CoreKeyboardBell': /sources/X/srcs/xserver/dix/devices.c:216: undefined reference to `DDXRingBell' input/libdmxinput.a(dmxinputinit.o): In function `dmxDeviceOnOff': /sources/X/srcs/xserver/hw/dmx/input/dmxinputinit.c:437: undefined reference to `miPointerGetMotionBufferSize' /sources/X/srcs/xserver/hw/dmx/input/dmxinputinit.c:437: undefined reference to `miPointerGetMotionEvents' input/libdmxinput.a(dmxinputinit.o): In function `dmxAddDevice': /sources/X/srcs/xserver/hw/dmx/input/dmxinputinit.c:714: undefined reference to `miRegisterPointerDevice' input/libdmxinput.a(dmxxinput.o): In function `ChangePointerDevice': /sources/X/srcs/xserver/hw/dmx/input/dmxxinput.c:102: undefined reference to `miPointerGetMotionEvents' /sources/X/srcs/xserver/hw/dmx/input/dmxxinput.c:103: undefined reference to `miPointerGetMotionBufferSize' collect2: ld returned 1 exit status make[3]: *** [Xdmx] Error 1 make[3]: Leaving directory `/sources/X/srcs/xserver/hw/dmx' なんてエラーが発生.ソースコードを grep したら,このあたりの定義は xserver/mi/mipointer.h に extern int miPointerGetMotionBufferSize( void ) _X_DEPRECATED; extern int miPointerGetMotionEvents( DeviceIntPtr /*pPtr*/, xTimecoord * /*coords*/, unsigned long /*start*/, unsigned long /*stop*/, ScreenPtr /*pScreen*/ ); という風にあるのだけど,find で定義を探しても root:/sources/X/srcs# find . -name "*.[ch]" | xargs grep miPointerGetMotionEvents ./driver/xf86-input-evdev/src/evdev_axes.c: miPointerGetMotionEvents, ./driver/xf86-input-mouse/src/mouse.c: miPointerGetMotionEvents, ./driver/xf86-input-vmmouse/src/vmmouse.c: "miPointerGetMotionEvents", ./driver/xf86-input-vmmouse/src/vmmouse.c: miPointerGetMotionEvents, pMse->Ctrl, ./xserver/hw/darwin/darwin.c: miPointerGetMotionEvents, ./xserver/hw/dmx/input/dmxinputinit.c: miPointerGetMotionEvents, ./xserver/hw/dmx/input/dmxmotion.c: * This file provides functions similar to miPointerGetMotionEvents and ./xserver/hw/dmx/input/dmxmotion.c:/** This routine performs the same function as \a miPointerGetMotionEvents: ./xserver/hw/dmx/input/dmxmotion.c: * \a miPointerGetMotionEvents for devices with only 2 axes (i.e., core ./xserver/hw/dmx/input/dmxmotion.c: * Because compatibility with miPointerGetMotionEvents is not possible, ./xserver/hw/dmx/input/dmxxinput.c: new_dev->valuator->GetMotionProc = miPointerGetMotionEvents; ./xserver/hw/xfree86/os-support/bsd/bsd_mouse.c: miPointerGetMotionEvents, ./xserver/hw/xfree86/os-support/sco/sco_mouse.c: miPointerGetMotionEvents, pMse->Ctrl, ./xserver/hw/xfree86/os-support/usl/usl_mouse.c: miPointerGetMotionEvents, pMse->Ctrl, ./xserver/hw/xgl/egl/kinput.c: miPointerGetMotionEvents, ./xserver/hw/xgl/xglinput.c: miPointerGetMotionEvents, ./xserver/hw/xwin/winmouse.c: miPointerGetMotionEvents, ./xserver/mi/mipointer.h:extern int miPointerGetMotionEvents( と,使っている側は見つかるものの,実際の定義はされてない感じ. それでは,と 7.0 のソースコードを見たら mi/mipointer.c に /* * Pointer/CursorDisplay interface routines */ int miPointerGetMotionBufferSize () { return MOTION_SIZE; } int miPointerGetMotionEvents (pPtr, coords, start, stop, pScreen) DeviceIntPtr pPtr; xTimecoord *coords; unsigned long start, stop; ScreenPtr pScreen; ... といった定義がされている模様.このあたりを 7.1 の mipointer.c に持っていけば何とかなるのだろうか?? -そう言えば xdpyinfo が OpenGL ライブラリを必要とするのだけど,OpenGL ライブラリは X のヘッダファイルを必要とする,という競合状態もあったなぁ.. -- [[kojima]] &new{2007-01-05 (金) 20:28:17}; -私は、あれやこれやと考えることが面倒なので、 X11R7.0/src/everything の中を全部と、 X11R7.1/src/everythingの中全部、 そして X11R7.1/src/lib/libX11-X11R7.1-1.0.1.tar.bz2 を持ってきて ./build-from-tarballs.sh … したらcompileが通ったと、記憶してます。 そのcompileしたモノが使えるかは確認してはいません。 -- [[alpexterm]] &new{2007-01-05 (金) 22:06:35}; -しばらくgitのソースと格闘してみたけど、これって開発中のバージョンだから、ある部分の変更が必ずしも全体に反映されていないような印象ですねぇ。とりあえず昔ビルドしたことのある7.0+7.1のソースコードに戻してビルドしてみるのがよさげだなぁ。しかし、7.0と7.1の tarballをマージして くれるツールも提供されているのだけれど、guile 用だったりして、ほとんど罰ゲームを受けてるような気がしてきた。。(苦笑 -- [[kojima]] &new{2007-01-06 (土) 00:00:09};
テキスト整形のルールを表示する