1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

最新の Ubuntu (glibc 2.35+) で linuxdeployqt を使って Qt6 アプリを AppImage 化する

1
Posted at
  1. はじめに
    Qt Creator (C++/Qt6) で作成した画像ビューア「PhotoMT」を Linux 向けに配布しようとした際、linuxdeployqt で直面したエラーとその解決策についてまとめます。

  2. 直面した問題:The host system is too new.
    最新の Ubuntu 環境(glibc 2.35以上)で linuxdeployqt を実行すると、以下のエラーが発生します。

Plaintext
ERROR: The host system is too new.
Please run on a system with a glibc version no newer than ... Ubuntu Jammy Jellyfish.
これは古いディストリビューションとの互換性を保つための仕様ですが、個人の開発環境で手軽に AppImage を作りたい場合には障壁となります。

  1. 解決策:強制フラグと qmake パスの指定
    以下の3つのポイントを押さえることで、最新環境でも AppImage を生成できました。

① 非推奨オプションの利用
-unsupported-allow-new-glibc フラグを付与することで、チェックを回避します。

② ビルドフォルダでの実行
ソースフォルダではなく、バイナリが出力された build/.../Release フォルダへ移動して実行する必要があります。

③ qmake のフルパス指定
環境によっては qmake が見つからないため、-qmake=$(which qmake) または直接パスを指定します。

  1. 実行コマンド
    最終的に成功したコマンドがこちらです。

Bash

ビルドフォルダへ移動

cd ~/PhotoMT/build/unknown-Release/

ツールとダミーアイコンの準備

cp ~/PhotoMT/linuxdeployqt .
touch PhotoMT.png # アイコンがない場合の回避策

実行

VERSION=1.0 ./linuxdeployqt PhotoMT -appimage
-unsupported-allow-new-glibc
-qmake=/usr/lib/qt6/bin/qmake
5. 配布について
生成された .AppImage ファイルは、さくらのレンタルサーバなどの一般的なWebサーバに置くだけで配布可能です。
実行権限(chmod +x)を付与するだけで、他の Linux 環境でも動作することを確認しました。

深夜のデバッグ作業でしたが、無事に AppImage 化に成功しました。
同じエラーで足止めを食っている方の参考になれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?