poEdit のビルドメモ
項目 | 設定/情報 |
OS | CentOS 4.2 |
echo $LANG | ja_JP.UTF-8 |
wxWidgets | GTKベースのwxGTKを使用 |
wxGTKのバージョン | 2.6.2 |
poEditのバージョン | 1.3.4 |
インストール先 | /usr/local |
「Build/wxPropertyGrid」のUnicode版をセットアップする。
# cd /usr/local/src
# wget http://XXXXX/poedit-1.3.4.tar.gz
# tar zxf poedit-1.3.4.tar.gz
# cd poedit-1.3.4
# ./configure
# make # make install
# poedit zsh: segmentation fault poeditあらら。死んだ。coreファイルを作成するように変更し再度実行。
# ulimit -c 100000 # poedit zsh: segmentation fault (core dumped) poeditgdbでデバッグする。
# gdb poedit -core ./core.633gdbでどこで落ちたか調べる。
(gdb) where #0 0x0071b81e in wxMBConv::cMB2WC () from /usr/local/lib/libwx_gtk2u-2.6.so.0 #1 0x00723b43 in wxString::wxString () from /usr/local/lib/libwx_gtk2u-2.6.so.0 #2 0x0070a612 in wxMsgCatalogFile::FillHash () from /usr/local/lib/libwx_gtk2u-2.6.so.0 #3 0x0070c4e7 in wxMsgCatalog::Load () from /usr/local/lib/libwx_gtk2u-2.6.so.0 #4 0x0070fea0 in wxLocale::AddCatalog () from /usr/local/lib/libwx_gtk2u-2.6.so.0gdbの終了。
(gdb) quitwxLocale => wxMsgCatalog => wxString => wxMBConv と来てワイド文字への変換でこけているので問題はロケール情報にある。
gettextの情報がUTF-8なロケールに対応していないのでEUC-JPロケールで起動させる。
# LANG=ja_JP.eucJP poeditお、うまくいった。
# touch /usr/local/bin/poedit.sh # vi /usr/local/bin/poedit.shファイル内容
#!/bin/sh export LANG=ja_JP.eucJP /usr/local/bin/poedit
# vi /usr/share/applnk/Development/poedit.desktop(修正前)
Exec = poedit(修正後)
Exec = poedit.sh