忍者ブログ

素人翻訳

適当に翻訳する。

Error: Shell widget fileMenu has zero width and/or height

 X11 関連のライブラリを全てソースコードから構築し、それらを「/usr/local」に入れた環境で、ソースコードからインストールした xedit を実行したら、下記のエラーが出た。

[猫@localhost ~]$ xedit
Error: Shell widget fileMenu has zero width and/or height
[猫@localhost ~]$

 インストールした直後には上のエラーは出なかったので、インストール時に使用した環境変数を設定してみると、

[猫@localhost ~]$ export LD_LIBRARY_PATH="/usr/local/lib"
[猫@localhost ~]$ xedit
[猫@localhost ~]$ export LD_LIBRARY_PATH=""
[猫@localhost ~]$ xedit
Error: Shell widget fileMenu has zero width and/or height
[猫@localhost ~]$

となり、一時的に上手く行った。原因は何か。

 とりあえず、xedit のウィンドウの大きさ等を指定するファイルが「/usr/local/share/X11/app-defaults/」にあるので、それを「/usr/share/X11/app-defaults」にコピーしてみると、

[猫@localhost ~]$ sudo cp \
     /usr/local/share/X11/app-defaults/Xedit* \
     /usr/share/X11/app-defaults/
[猫@localhost ~]$ xedit
Warning: Cannot convert string "menu12" to type Pixmap
Warning: Cannot convert string "xlogo11" to type Pixmap
[猫@localhost ~]$ sudo rm /usr/share/X11/app-defaults/Xedit*

 このやり方だと、xedit は起動できるものの、今度は xbitmaps が見つからなくなってしまう。

 xedit-1.2.2 の configure ファイルには、次のように書いてある。

...
...
  --with-appdefaultdir=<pathname>
        specify directory for app-defaults files (default is
        autodetected)
...
...
xt_appdefaultdir=`$PKG_CONFIG --variable=appdefaultdir xt`

# Check whether --with-appdefaultdir was given.
if test "${with_appdefaultdir+set}" = set; then :
  withval=$with_appdefaultdir; appdefaultdir="$withval"
else
  appdefaultdir="${xt_appdefaultdir}"
fi
...
...

 そして、libXt-1.1.3 の configure ファイルには次のように書いてある。

...
...
ac_default_prefix=/usr/local
...
...
  --prefix=PREFIX
        install architecture-independent files in PREFIX
        [$ac_default_prefix]
...
...
  --datarootdir=DIR
        read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR
        read-only architecture-independent data [DATAROOTDIR]
...
...
  --with-appdefaultdir=<path>
        Set app-default directory (default:
        ${datadir}/X11/app-defaults)
...
...

 ソースコードから作った libXt は自動で「/usr/local/share/X11/app-defaults」を見てくれるはずなのに・・・。

 もしやと思って、「ldconfig -p」を実行。

[猫@localhost ~]$ ldconfig -p | grep libXt.so
	libXt.so.6 (libc6,x86-64) => /usr/lib64/libXt.so.6

 libXt-1.1.3 のインストール後に「ldconfig」を実行していなかった。そのため「/usr/lib64」にある方が呼び出され、結果、「/usr/local/share/X11/app-defaults」ではなく「/usr/share/X11/app-defaults」が検索されていた。

 「/etc/ld.so.conf」に「/usr/local/lib」が追記してあることを確認し、もう一度「ldconfig」を実行して解決。

[猫@localhost ~]$ sudo ldconfig
[猫@localhost ~]$ ldconfig -p | grep libXt.so
	libXt.so.6 (libc6,x86-64) => /usr/local/lib/libXt.so.6
	libXt.so.6 (libc6,x86-64) => /usr/lib64/libXt.so.6
	libXt.so (libc6,x86-64) => /usr/local/lib/libXt.so
[猫@localhost ~]$ xedit
[猫@localhost ~]$
PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

06 2020/07 08
S M T W T F S
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

最新コメント

[04/05 NONAME]

ブログ内検索

広告

バーコード

広告