Archaea

Archaea dialog 単独動作版 トラブルシューティング (Linux)

bytix-archaea-dialog-standaloneパッケージをインストールした際に発生し得るトラブル事例について記載します。

・Archaea dialogが起動しない
  lddコマンドで依存ライブラリを確認する
  デバッグモード起動で実行時の依存ライブラリを確認する

・Archaea dialogは起動するがフォントが表示されない
  フォントデータを入手する

・Archaea dialogの画面が起動しない
  出力先の設定を確認する

・上記の対策をしても起動しない
  所定のログを採取して、弊社サポートまでお問い合わせください

・Archaea dialogが起動しない

lddコマンドで依存ライブラリを確認する

bytix-archaea-dialog-standalone を実行すると起動時にエラーが発生するケースの例。
[user@a8-minimal ~]$ ./archaea_dialog/usr/bin/bytix-archaea-dialog-standalone
// libGL.so.1 が見つからない
/home/user/archaea_dialog/usr/share/bytix-archaea/dialog/bytix-archaea-dialog: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
[user@a8-minimal ~]$

lddコマンドでbytix-archaea-dialog で使用するライブラリの依存関係を確認し、”not found” がある場合はそのライブラリを別途入手しアプリディレクトリに配置します。
// 依存ライブラリのパスを、環境変数 "LD_LIBRARY_PATH" に設定
[user@a8-minimal ~]$ export LD_LIBRARY_PATH=/home/user/archaea_dialog/usr/share/bytix-archaea/dialog/

// lddコマンドにより、ライブラリの依存関係を確認。"not found" がある場合はそのライブラリを別途入手しアプリディレクトリに配置する。
[user@a8-minimal ~]$ ldd archaea_dialog/usr/bin/bytix-archaea-dialog
    linux-vdso.so.1 (0x00007ffdb8b2e000)
    libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f41aa2eb000)
    libQt5Svg.so.5 => /home/user/archaea_dialog/usr/share/bytix-archaea/dialog/libQt5Svg.so.5 (0x00007f41aa08f000)

    

    libGL.so.1 => not found // ★リンク未解決のライブラリ(入手してアプリディレクトリに配置)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f41a860d000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f41a8278000)
(参考)依存ライブラリの配置方法「~Archaea dialog 単独動作版 使用手順 (Linux)」

デバッグモード起動で実行時の依存ライブラリを確認する

ldd コマンドで依存ライブラリが解決しているにも関わらず、bytix-archaea-dialog-standalone を実行するとエラーが発生するケースの例。
[user@a8-minimal ~]$ ./archaea_dialog/usr/bin/bytix-archaea-dialog-standalone
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

./archaea_dialog/usr/bin/bytix-archaea-dialog-standalone: 33 行: 1580 Aborted (コアダンプ) ${DIR_NAME}/${APP_NAME} "$@"
[user@a8-minimal ~]$

アプリケーションをデバッグモードで起動し、原因となっているライブラリを特定しlddコマンドでライブラリの依存関係を確認します。 “not found” がある場合はそのライブラリを別途入手しアプリディレクトリに配置します。
[user@a8-minimal ~]$ export QT_DEBUG_PLUGINS=1
[user@a8-minimal ~]$ ./archaea_dialog/usr/bin/bytix-archaea-dialog-standalone
QFactoryLoader::QFactoryLoader() checking directory path "/home/user/archaea_dialog/usr/share/bytix-archaea/dialog/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home/user/archaea_dialog/usr/share/bytix-archaea/dialog/platforms/libqxcb.so"
Found metadata in lib /home/user/archaea_dialog/usr/share/bytix-archaea/dialog/platforms/libqxcb.so, metadata=
{
  "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
  "MetaData": {
  "Keys": [
      "xcb"
     ]
  },
  "archreq": 0,
  "className": "QXcbIntegrationPlugin",
  "debug": false,
  "version": 331520
}


Got keys from plugin meta data ("xcb")
Cannot load library /home/user/archaea_dialog/usr/share/bytix-archaea/dialog/platforms/libqxcb.so: (libfontconfig.so.1: cannot open shared object file: No such file or directory)
// libqxcb.soでlibfontconfig.so.1が見つからなかった
QLibraryPrivate::loadPlugin failed on "/home/user/archaea_dialog/usr/share/bytix-archaea/dialog/platforms/libqxcb.so" : "Cannot load library /home/user/archaea_dialog/usr/share/bytix-archaea/dialog/platforms/libqxcb.so: (libfontconfig.so.1: cannot open shared object file: No such file or directory)"
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: xcb.

./archaea_dialog/usr/bin/bytix-archaea-dialog-standalone: 33 行: 1491 Aborted (コアダンプ) ${DIR_NAME}/${APP_NAME} "$@"
[user@a8-minimal ~]$

// lddコマンドで、原因となるライブラリの依存関係を確認する。"not found" がある場合はそのライブラリを別途入手しアプリディレクトリに配置する。
[user@a8-minimal ~]$ ldd archaea_dialog/usr/share/bytix-archaea/dialog/platforms/libqxcb.so
    linux-vdso.so.1 (0x00007ffcf7f1d000)
     
    libfontconfig.so.1 => not found // ★リンク未解決のライブラリ(入手してアプリディレクトリに配置)
    libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f9e430a3000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f9e42e8b000)
    

[user@a8-minimal ~]$

※ライブラリをアプリディレクトリ以外の任意のディレクトリに配置した場合は、環境変数 “LD_LIBRARY_PATH” に追加します。
// 配置したディレクトリパスを、LD_LIBRARY_PATH へ追加
[user@a8-minimal ~]$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/lib/
[user@a8-minimal ~]$ echo $LD_LIBRARY_PATH
/home/user/archaea_dialog/usr/share/bytix-archaea/dialog/:/home/user/lib/
[user@a8-minimal ~]$

・Archaea dialogは起動するがフォントが表示されない

フォントデータを入手する

アプリケーションディレクトリ配下に作成されるfonts/ディレクトリに、日英に対応したTrue Type Font(.ttf)またはOpen Type Font(.otf)を保管してください。
サンプルフォント(英語及びCJK)を以下からダウンロード可能です。
サンプルフォントデータ(notofonts.zip)
// usr/share/bytix-archaea/dialog/fonts/ 配下にフォントデータをコピーします。
[user@a8-minimal ~]$ ls archaea_dialog/usr/share/bytix-archaea/dialog/fonts/NotoSerif/
NotoSerif-Black.ttf NotoSerif-ExtraBold.ttf NotoSerif-Italic.ttf NotoSerif-MediumItalic.ttf NotoSerif-Thin.ttf
NotoSerif-BlackItalic.ttf NotoSerif-ExtraBoldItalic.ttf NotoSerif-Light.ttf NotoSerif-Regular.ttf NotoSerif-ThinItalic.ttf
NotoSerif-Bold.ttf NotoSerif-ExtraLight.ttf NotoSerif-LightItalic.ttf NotoSerif-SemiBold.ttf
NotoSerif-BoldItalic.ttf NotoSerif-ExtraLightItalic.ttf NotoSerif-Medium.ttf NotoSerif-SemiBoldItalic.ttf
[user@a8-minimal ~]$

フォント配置方法の詳細や配布元などの参考情報は、fonts/README.txt をご覧ください。

・Archaea dialogの画面が起動しない

出力先の設定を確認する

ライブラリの依存関係は解決しているが画面が起動しない場合、出力先が正しく設定されていない可能性があります。
起動時に “qt.qpa.xcb: could not connect to display” のようなエラーが出力されていないか、再度ご確認ください。
なお、リモート操作でご利用の場合は以下の記事もあわせてご参照ください。
Linux版 Archaea dialog をWindows上でリモート操作する(X11 forwarding)
  
  

・上記の対策をしても起動しない

依存ライブラリの解決等をしても起動しない場合は、弊社サポートまでお問い合わせください。
その際、
・インストール環境情報(OSバージョン、構成等)
・”QT_DEBUG_PLUGINS=1″ で実行した時のログ(⇒デバッグモード起動で実行時の依存ライブラリを確認するを実行時のログ)
の情報もご送付ください。

TOP