Linuxでkai(kai設定編) > kaiインストール > wxGTK > slackware64

Total: - (Today: - Yesterday: - )
最終更新日 2011/05/19 21:21

  • slackware x86_64にmultilibを導入し、32-bitアプリのkaiengineを実行できる環境にします
  • kaiengineに必要な32-bit版wxGTKライブラリを作成し、x86_64 + multilib環境にインストールします
  • このページ内容の対象バージョン
    • slackware 13.37 x86_64で確認しました
    • slackware 13.1 x86_64では未確認です
    • バージョンが異なる場合、嘘の情報になってしまう可能性があります


1.multilibのインストール

1.1.multilibのインストール

  • multilibをダウンロードします
$ mkdir -p ~/Downloads
$ cd ~/Downloads
$ lftp -c 'open http://slackware.com/~alien/multilib/; mirror 13.37'
  • multilibをインストールします
$ cd ~/Downloads/13.37
$ sudo upgradepkg --reinstall --install-new *.t?z

1.2.compat32のインストール

  • l-compat32をインストールします
$ cd ~/Downloads/13.37/slackware64-compat32/l-compat32
$ sudo upgradepkg --reinstall --install-new *.t?z
  • x-compat32をインストールします
$ cd ~/Downloads/13.37/slackware64-compat32/x-compat32
$ sudo upgradepkg --reinstall --install-new *.t?z
  • a-compat32/util-linux-compat32をインストールします
$ cd ~/Downloads/13.37/slackware64-compat32/a-compat32
$ sudo upgradepkg --reinstall --install-new util-linux-compat32-2.19-x86_64-1.txz

1.3.slackpkgのblacklist設定

  • slackpkgのblacklistにmultilib関連の5行を追加します
$ sudo vi /etc/slackpkg/blacklist
27 #THESE ARE ALIEN BOB'S MULTILIB PACKAGES
28 gcc
29 glibc
30 compat32
31 .+-compat32
 

2.wxGTKライブラリ(32-bit版)のインストール

2.1. 32-bitビルドのための設定

  • 32-bitでビルドするため、/etc/profile.d/32dev.shを設定後にsbopkgを実行します
$ su -
# . /etc/profile.d/32dev.sh
# sbopkg
  • SlackBuilds.org Package Browserでは、Searchを選択して<OK>します
  • Searchでは、wxgtkと入力して<PKG>します
  • libraries/wxGTK cross-platform GUI toolkitが表示されたら、<OK>します

2.2. SlackBuildファイルの修正

  • wxGTK (2.8.12-x86_64-1_SBo)では、Customを選択して<OK>します
  • GTK Customizationでは、Edit SlackBuildを選択して<OK>します
    • "$ARCH" = "x86_64"ブロックのLIBDIRSUFFIX="64"を""に修正します
60    elif [ "$ARCH" = "x86_64" ]; then
61    SLKCFLAGS="-O2 -fPIC"
62    LIBDIRSUFFIX=""   <== "64"を削れば、/usr/lib/にインストールされます
63    ARCHQUADLET=""
 
  • GTK Customizationに戻ったら、<Back>を選択します

2.3. wxGTKのビルドとインストール

  • GTK (2.8.12-x86_64-1_SBo)に戻ったら、Buildを選択して<OK>します
  • Install Package(s)では、<Yes>を選択します
  • Choose wxGTK SlackBuild fileでは、Localを選択して<OK>します
  • Pre-Check Logでは、<Start Build>を選択します
  • 以下、ビルド終了時、wxGTKがインストールされたときのメッセージです
  • 結果を確認したら、sbopkgを終了します
Done upgrading/installing package.

PACKAGE BUILDING/INSTALLATION SUMMARY LOG
Using the SBo repository for Slackware 13.37
Queue Process: Build and install

wxGTK:
  MD5SUM check for wxGTK-2.8.12.tar.gz ... OK
  Building package wxGTK-2.8.12-x86_64-1_SBo.tgz ... OK
  Installing package wxGTK-2.8.12-x86_64-1_SBo.tgz ... OK

###########################################
          Queue process complete!
###########################################

Press any key to continue:
  • 32-bitのwxGTKかどうか確認します
$ file /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0
libwx_gtk2u_core-2.8.so.0.8.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
  • この時点で、他に不足ライブラリがないか確認しておきます
$ ldd /usr/local/bin/kaiengine | grep 'not found'
$

3.その他

環境固有の不具合に関する情報と対策です。

3.1.gdk-pixbufのloaders.cacheの作成

  • gdk-pixbufのloaders.cacheファイルを作成します
$ su -
# GDK_PIXBUF_MODULEDIR=/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders /usr/bin/gdk-pixbuf-query-loaders > /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
# exit
  • 上記の設定で、以下のメッセージが表示されなくなるようです
(kaiengine:5464): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache': そのようなファイルやディレクトリはありません
(kaiengine:5464): GdkPixbuf-WARNING **: Error loading XPM image loader: 画像の種類 'xpm' はサポートされていません
(kaiengine:5464): Gdk-CRITICAL **: IA__gdk_drawable_get_size: assertion `GDK_IS_DRAWABLE (drawable)' failed
(kaiengine:5464): Gdk-CRITICAL **: IA__gdk_drawable_get_depth: assertion `GDK_IS_DRAWABLE (drawable)' failed

3.2.pango.modulesの作成

  • pango.modulesファイルを作成します
$ su -
# /usr/bin/pango-querymodules > '/etc/pango/pango.modules'
# exit
  • 上記の設定で、以下のメッセージが表示されなくなるようです
(kaiengine:5464): Pango-CRITICAL **: No modules found:
No builtin or dynamically loaded modules were found.
PangoFc will not work correctly.
This probably means there was an error in the creation of: '/etc/pango/pango.modules'
You should create this file by running: pango-querymodules > '/etc/pango/pango.modules'
(kaiengine:5464): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'

3.3.locale-archiveのコピー

  • ja_JP.SJISロケールを登録します
  • この処理で、/usr/lib64/locale/locale-archiveが更新されましたが、/usr/lib/locale/locale-archiveは生成されませんでした
$ sudo localedef -f WINDOWS-31J -i ja_JP ja_JP.SJIS
  • /usr/lib64/locale/locale-archiveファイルを/usr/lib/locale/側へコピーします
  • リンクでも大丈夫かと思ったのですが、他ディストリビューションでは実ファイルになっているのでコピーにしました
$ sudo cp -p /usr/lib64/locale/locale-archive /usr/lib/locale/locale-archive
  • このlocale-archiveファイルのコピーを忘れるとKai起動時に以下メッセージが表示され、日本語が文字化けします
(process:20613): Gdk-WARNING **: locale not supported by C library
(process:20613): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale.

以上で、slackware x86_64 multilib環境への32-bit版wxGTKのインストールは終わり。


コメント

  • 新規作成 -- kar (2011-05-19 21:21:38)
名前:
コメント:
最終更新:2011年05月19日 21:21
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。