hns - 日記自動生成システム - Version 2.19.9

先月 2011年12月 来月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2011年12月31日() 旧暦 [n年日記] [更新:"2012/01/01 17:58:27"]

#1 [pkgsrc][NetBSD] /usr/pkg/include/xorg を見てくれない

modular-xorg-server を package しようとしている
  • wip/modular-xorg-server そのまま、および 1.11.3 にしたもの
  • xf86-input-keyboard そのまま、及び 1.6.0 にしたもの
  • xorg-util-macros 1.15.0 及び 1.16.0 にしたもの
で問題が起きる xorg-macros.pc が見つからないというような問題。
次のようにすると、確かに変。
modena@makoto 22:14:39/111231(~)% pkg_info -qL xorg-util-macros
/usr/pkg/share/aclocal/xorg-macros.m4
/usr/pkg/share/pkgconfig/xorg-macros.pc
/usr/pkg/share/util-macros/INSTALL
modena@makoto 22:14:40/111231(~)% pkg-config --cflags xorg-macros.pc
Failed to open 'xorg-macros.pc': No such file or directory
No package 'xorg-macros.pc' found
多分
-/usr/pkg/share/pkgconfig/xorg-macros.pc
+/usr/pkg/lib/pkgconfig/xorg-macros.pc
に入るべきなのだと思うが、自分で patch を作るのかな。
  • xorg-util-macros (の Makefile.am と Makefile.in に) patch を当てて (datadir) を (libdir) に変更
  • xorg-util-macros に buildlink3.mk を追加
  • xf86-input-keyboard に 上記を include する
とやって見て、まだ
No package 'xorg-macros.pc' found
と言われて、調べたら share も lib も本来探してくれるので、「そういう問題ではない」らしい。
ああ、pkg-config xproto とかするので、pkg-config xproto.pc の pc は余計だった。
modena@makoto 23:13:57/111231(..wip/modular-xorg-server)% cat `find . -name xorg-server.pc`
prefix=/usr/pkg
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include ${prefix}/include/xorg
datarootdir=${prefix}/share
moduledir=${exec_prefix}/lib/xorg/modules
sdkdir=${prefix}/include/xorg
sysconfigdir=${datarootdir}/X11/xorg.conf.d
このように includedir の ${prefix}/include/xorg を追加して見ているが、良く見ると sdkdir って、いつ使われるのだろう。
この変更をする前でも、次のように出ている。sdkdir が効いているのかな。 だとすると、名前 (xorg-server)の問題か ?
modena@makoto 23:17:15/111231(..wip/modular-xorg-server)% pkg-config --cflags xorg-server
-fvisibility=hidden -I/usr/pkg/include/xorg -I/usr/pkg/include -I/usr/pkg/include/pixman-1  
今出ているのは xf86-input-keyboard で次のような問題。
..

gmake[2]: Entering directory `/export/CHROOT
   /usr/pkgsrc/x11/xf86-input-keyboard/work/xf86-input-keyboard-1.6.0/src'
  CC     kbd.lo
kbd.c:21:25: error: xorg-server.h: No such file or directory
kbd.c:26:18: error: xf86.h: No such file or directory
kbd.c:28:25: error: xf86Privstr.h: No such file or directory
kbd.c:32:24: error: extnsionst.h: No such file or directory
kbd.c:33:21: error: extinit.h: No such file or directory
kbd.c:34:22: error: inputstr.h: No such file or directory
kbd.c:36:24: error: xf86Xinput.h: No such file or directory
kbd.c:37:25: error: xf86_OSproc.h: No such file or directory
これらは /usr/pkg/include/xorg の下にあるが、見えていないらしい。
modena@makoto 23:24:52/111231(..x11/xf86-input-keyboard)% find . -name xorg-server.h
./work/.buildlink/include/xorg/xorg-server.h
試しに(中の) Makefile の CFLAGS の行に手で追加したら、完了した
-CFLAGS = -O2 -I/usr/pkg/include
+CFLAGS = -O2 -I/usr/pkg/include -I/usr/pkg/include/xorg -I/usr/pkg/include/pixman-1
その時に見たのだけれど、次のような行があった。何か一部がうまく行っていないのだな。
XORG_LIBS = -Wl,-R/usr/pkg/lib -L/usr/pkg/lib -lpixman-1 -lpciaccess  
同じような問題が xf86-input-mouse でも起きる。
次のようにすると、(手で Makefile を変更するのと同じ意味だけれど) 少し進む
Index: Makefile
===================================================================
RCS file: /e/cvsync/cvsync/pkgsrc/x11/xf86-input-mouse/Makefile,v
retrieving revision 1.12
diff -u -r1.12 Makefile
--- Makefile	14 Sep 2010 11:03:11 -0000	1.12
+++ Makefile	1 Jan 2012 03:06:26 -0000
@@ -9,6 +9,7 @@
 MAINTAINER=	joerg@NetBSD.org
 HOMEPAGE=	http://xorg.freedesktop.org/
 COMMENT=	Modular Xorg mouse driver
+CFLAGS+=	-I${PREFIX}/include/xorg -I${PREFIX}/include/pixman-1
 
 PKG_DESTDIR_SUPPORT=	user-destdir
 
が、まだ次のようになる
libtool: compile: cc -DHAVE_CONFIG_H -I. -I.. -I../src
-I/export/CHROOT/usr/pkgsrc/x11/xf86-input-mouse/work/.buildlink/include
-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing
-Wbad-function-cast -O2
-I/export/CHROOT/usr/pkgsrc/x11/xf86-input-mouse/work/.buildlink/include/xorg
-I/export/CHROOT/usr/pkgsrc/x11/xf86-input-mouse/work/.buildlink/include/pixman-1
-MT mouse.lo -MD -MP -MF .deps/mouse.Tpo -c mouse.c -fPIC
-DPIC -o .libs/mouse.o

mouse.c:128: error: expected declaration specifiers or '...' before 'IDevPtr'
mouse.c:134: error: expected ')' before 'local'
mouse.c:169: warning: initialization from incompatible pointer type
こういうのは、大抵、include が一つ読めないというような問題のはずなのだが。
modena@makoto 12:35:31/120101(..x11/xf86-input-mouse)% 
cat -n `find . -name mouse.c` | sed -n 120,130p 
   120       */
   121      int nib_table[NIB_COUNT][NIB_SIZE];
   122  
   123  } DragLockRec, *DragLockPtr;
   124  
   125  
   126  
   127  static const OptionInfoRec *MouseAvailableOptions(void *unused);
   128  static InputInfoPtr MousePreInit(InputDriverPtr drv, IDevPtr dev, int flags);
   129  #if 0
   130  static void MouseUnInit(InputDriverPtr drv, InputInfoPtr pInfo, int flags);
ということで結局、現在は、 patches/patch-aa は削除。 このような patch で package している。

Comments related this article

Re: /usr/pkg/include/xorg を見てくれない by Makoto Fujiwara    2012/01/30 21:13
どうもこれらしいですよ Index: Makefile =========================================...


最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)