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

先月 2005年03月 来月
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 による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2005年03月06日() 旧暦 [n年日記] [更新:"2005/03/06 23:04:28"]

#1 [ld] .text .data .bss って何

実は、この違いを良く知らなかった。 ld の info を見ると書いてある。

3.3 Simple Linker Script Example:

Let's assume your program consists only of code, initialized data, and uninitialized data. These will be in the `.text', `.data', and `.bss' sections, respectively.
.text コード
.data 初期化付のデータ
.bss  初期化無のデータ
bss ってやはり Blank Storage Section の略かなぁ。

#2 [NetBSD][pkgsrc][x11] 20050214ts と X11R6.6+XF4 を入れている場合

例えば X11R6.6+XF4-20050214.tar.gz /etc/mk.conf には
X11BASE= /usr/X11
と書いている。以前は X11BASE は /usr/X11R6 だった。 この時に、pkgsrc/graphics/xpm を make すると次のようになる。
ttyp0:makoto@b 16:08:11/050306(...graphics/xpm)> make
...
===> Configuring for xpm-3.4knb2
mv -f Makefile Makefile.bak
imake -DUseInstalled -I/usr/pkg/lib/X11/config -I/usr/X11R6/lib/X11/config
Imakefile.c:9: Imake.tmpl: No such file or directory
/usr/X11/bin/imake: Exit code 1.
Stop.
*** Error code 1
Imake.tmpl は、次の二か所にある
/usr/pkg/lib/itools/X11/config/Imake.tmpl
/usr/X11/libdata/config/Imake.tmpl
ここで、work/xpm-3.4 で xmkmf -a すれば、次のようになり問題がない
imake -DUseInstalled -I/usr/X11/libdata/config
これは、 pkgsrc/graphics/xpm/builtin.mk の中の次の部分を変更する必要がある
ttyp0:makoto@b  16:11:38/050306(...graphics/xpm)> grep TMPL builtin.mk
_X11_TMPL=      ${X11BASE}/lib/X11/config/X11.tmpl
.    elif exists(${_X11_TMPL})
      if ${GREP} -q NormalLibXpm ${_X11_TMPL}; then                     \
ttyp0:makoto@b  16:11:46/050306(...graphics/xpm)> 
(と思う)... が、なかなか、うまく行かない。 上の X11R6 がどこから出て来るのかが分らない。 make -dA すると、多大な行が表示されるが、最後に、次のように /usr/pkg/bin/pkgxmkmf -a をしていることが分る。これって ?
*** Failed target: do-configure
*** Failed command: cd /export/pkgsrc/graphics/xpm/work/xpm-3.4k && /usr/bin/env CC=cc CFLAGS=-O2\ -I/usr/pkg/include CPPFLAGS=\ \ -I/usr/pkg/include CXX=c++ CXXFLAGS=-O2\ -I/usr/pkg/include COMPILER_RPATH_FLAG=-Wl,-R F77= FC=f77 FFLAGS=-O LDFLAGS=\ -L/usr/pkg/lib\ -Wl,-R/usr/pkg/lib\ -L/usr/X11/lib\ -Wl,-R/usr/X11/lib LINKER_RPATH_FLAG=-R PATH=/export/pkgsrc/graphics/xpm/work/.wrapper/bin: /export/pkgsrc/graphics/xpm/work/.buildlink/bin: /export/pkgsrc/graphics/xpm/work/.tools/bin: /export/pkgsrc/graphics/xpm/work/.gcc/bin: /usr/X11/bin: /usr/pkg/bin:/home/makoto/bin:/usr/pkg/bin: /usr/pkg/sbin:/usr/local/bin: /usr/bin:/usr/sbin:/bin:/sbin:/usr/X11/bin:/usr/X11R6/bin: /usr/pkg/java/jdk-1.1.8/bin:/usr/java/j2re1.4.1_01/bin:/usr/pkg/bin:/usr/X11/bin PREFIX=/usr/pkg PKG_SYSCONFDIR=/usr/pkg/etc _PKGSRCDIR=/export/pkgsrc CURDIR=/export/pkgsrc/graphics/xpm DEPENDS= DISTDIR=/export/pkgsrc/distfiles FILESDIR=/export/pkgsrc/graphics/xpm/files LOCALBASE=/usr/pkg PATCHDIR=/export/pkgsrc/graphics/xpm/patches PKGSRCDIR=/export/pkgsrc SCRIPTDIR=/export/pkgsrc/graphics/xpm/scripts VIEWBASE=/usr/pkg WRKDIR=/export/pkgsrc/graphics/xpm/work WRKSRC=/export/pkgsrc/graphics/xpm/work/xpm-3.4k X11BASE=/usr/X11 BSD_INSTALL_PROGRAM="install -c -s -o root -g wheel -m 555" BSD_INSTALL_SCRIPT="install -c -o root -g wheel -m 555" BSD_INSTALL_LIB="install -c -o root -g wheel -m 555" BSD_INSTALL_DATA="install -c -o root -g wheel -m 444" BSD_INSTALL_MAN="install -c -o root -g wheel -m 444" BSD_INSTALL="install" BSD_INSTALL_PROGRAM_DIR="install -d -o root -g wheel -m 755" BSD_INSTALL_SCRIPT_DIR="install -d -o root -g wheel -m 755" BSD_INSTALL_LIB_DIR="install -d -o root -g wheel -m 755" BSD_INSTALL_DATA_DIR="install -d -o root -g wheel -m 755" BSD_INSTALL_MAN_DIR="install -d -o root -g wheel -m 755" BSD_INSTALL_GAME="install -c -s -o root -g wheel -m 555" BSD_INSTALL_GAME_DATA="install -c -o root -g wheel -m 444" WRAPPER_DEBUG="yes" XPROJECTROOT=/usr/X11 /usr/pkg/bin/pkgxmkmf -a
*** Error code 1
この pkgxmkmf という字は、
ttyp0:makoto@b 16:40:37/050306(/export/pkgsrc)> grep pkgxmkmf {x11,pkgtools}/*/PLIST
pkgtools/xpkgwedge/PLIST:bin/pkgxmkmf
やはり xpkgwedge のものだ

X11BASE= /usr/X11:

/etc/mk.conf に X11BASE= /usr/X11 と書いてあるのを確めて、
   235  16:43   sudo pkg_delete -f xpkgwedge
   236  16:44   sudo make package
してから、もう一度 graphics/xpm で make clean && make すると、
===> Configuring for xpm-3.4knb2
imake -DUseInstalled -I/usr/pkg/lib/X11/config -I/usr/X11/lib/X11/config
Imakefile.c:9: Imake.tmpl: No such file or directory
/usr/X11/bin/imake: Exit code 1.
Stop.
*** Error code 1
以前と違うが、まだうまく行かない。 この -I/usr/X11/ lib/X11 /config
の部分が、
-I/usr/X11/ libdata /config
となるようにするには ?

lib/X11/config ?:

ttyp0:makoto@b  16:54:36/050306(...pkgtools/xpkgwedge)> grep config Makefile 
INSTALLATION_DIRS=      bin lib/X11/config
      ${INSTALL_DATA_DIR} ${PREFIX}/lib/X11/config
      ${INSTALL_DATA} ${WRKSRC}/xpkgwedge.def ${PREFIX}/lib/X11/config
(実は、ここは変更してはいけない)。

結局 xpkgwedge を少し変更して:

xpkgwedge.diff うまく行く気がする。 xpkgwedge の重要性に気が付かせてくださった 藤島裕士さん に感謝。 多分 xorg を pkgsrc から入れる場合には、そちら側を変更しているのかな ?

#3 [Namazu] ja_JP.SJIS.po:.. illegal control sequence

...
config.status: executing default commands
rm -f ja.gmo && /usr/bin/msgfmt -c --statistics -o ja.gmo ja.po
151 translated messages, 1 untranslated messages.
rm -f ja_JP.SJIS.gmo && /usr/bin/msgfmt -c --statistics -o ja_JP.SJIS.gmo ja_JP.SJIS.po
ja_JP.SJIS.po:180: illegal control sequence
...

#4 Namazu の ja.po を変更した場合の話

  • Namazu の日本語を変更した。実際には po/ja.po を変更する。この ja.po は言わば、ソースで、実行形式に当るのが ja.gmo。その ja.gmo に反映するには:
  • cd po; make ja.gmo 
    
    とするのかなと 2005/1/20 に日記に書いた
  • しかし安部さんから
    cd po; make update-gmo
    
    するのが正しいと教わる
  • しかし、これだけだと、#3 のように
    rm -f ja_JP.SJIS.gmo && /usr/bin/msgfmt -c --statistics -o ja_JP.SJIS.gmo ja_JP.SJIS.po
    ja_JP.SJIS.po:180: illegal control sequence
    のようになってしまう。これには ./make_sjis_po すればいいという話が google で見つかるが、 namazu-2.0.14.tar.gz などにはこれは含まれていない。
  • もしかして、と思ってと cvs から持って来るとある。 これは開発者用ということで tar 形式には含まれていない(らしい)。
  • 以上の操作を自動的に行なってくれるように files/make_sjis_po を追加して Makefile を変更した。
(これだと nkf が必要になっているなぁ)



最近の日記
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)