登録日: 2020-08-03 更新日: 2020-08-03
CentOS 8.2 にて、epel リポジトリ(Fedora アプリの一部流用)を追加しましたが、Qt アプリの登録は少ないようです。「notepadqq」の場合は、その他のサードパーティのリポジトリにも登録されていませんでした。
「notepadqq」をソースからビルドしてみました。ちなみに、「notepadqq」はWindows 由来のテキストエディタです。
-
-
使用環境:
「CentOS」の「CentOS-8.2.2004」をUSB メモリにインストール 後に「GNOME」デスクトップ環境をインストール しました。そして「epel」リポジトリを追加 しました。
-
事前確認: pkgs.org にて、notepadqq を検索
CentOS は出てこないので、「Fedora 32」をクリック:
Fedora x86_64 Official notepadqq-1.4.8-10.fc32.x86_64.rpm
「notepadqq」は、Fedora 32 の公式リポジトリにありますが、CentoOS ではサードパーティにも登録がありません。どちらにしても「1.4.8」は問題の多いバージョンです。使いたいならビルドが無難です。
-
参考:
H72. Fedora 32 にて、notepadqq の最新と旧のバージョンをビルド
-
最新のnotepadqq をソースからビルドしてインストール
-
1. 作業フォルダを作成:
前回 のfeatherpad のビルド作業をやっていれば要りません。
$ cd $ mkdir Git
-
2. ビルドに必要なツールの確認:
$ git --version git version 2.18.4
-
もし、git がないときは:
$ sudo dnf install git
-
$ make --version GNU Make 4.2.1
-
もし、make がないときは:
$ sudo dnf install make
-
3. CentOS で、現在 有効なリポジトリを確認:
$ dnf repolist repo id repo の名前 AppStream CentOS-8 - AppStream BaseOS CentOS-8 - Base PowerTools CentOS-8 - PowerTools code Visual Studio Code epel Extra Packages for Enterprise Linux 8 - x86_64 epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64 extras CentOS-8 - Extras
→PowerTools とepel が有効です。とりあえずはepel を有効にしておけば OK。 もし有効でないときは、この投稿 を参照。
-
4. システム更新:
$ sudo dnf update : 依存関係が解決しました。 行うべきことはありません。 完了しました!
-
5. 依存しているライブラリの確認を含めてのインストール:
インストール説明にある、For CentOS:
$ sudo dnf install qt5-qtbase-devel qt5-qttools-devel qt5-qtwebengine-devel qt5-qtwebsockets-devel qt5-qtsvg-devel uchardet qt5-qtwebchannel-devel pkgconfig : パッケージ qt5-qtbase-devel-5.12.5-4.el8.x86_64 はすでにインストールされています。 パッケージ qt5-qttools-devel-5.12.5-1.el8.0.1.x86_64 はすでにインストールされています。 パッケージ qt5-qtsvg-devel-5.12.5-1.el8.x86_64 はすでにインストールされています。 パッケージ pkgconf-pkg-config-1.4.2-1.el8.x86_64 はすでにインストールされています。 : インストール中: qt5-qtwebchannel-devel x86_64 5.12.5-1.el8 AppStream 25 k qt5-qtwebengine-devel x86_64 5.12.8-1.el8 epel 83 k qt5-qtwebsockets-devel x86_64 5.12.5-1.el8 AppStream 46 k uchardet x86_64 0.0.6-9.el8 epel 94 k 依存関係のインストール中: qt5-qtdeclarative-devel x86_64 5.12.5-1.el8 AppStream 1.1 M qt5-qtlocation x86_64 5.12.5-1.el8 AppStream 3.1 M qt5-qtlocation-devel x86_64 5.12.5-1.el8 AppStream 144 k qt5-qtwebchannel x86_64 5.12.5-1.el8 AppStream 94 k qt5-qtwebengine x86_64 5.12.8-1.el8 epel 43 M qt5-qtwebengine-devtools x86_64 5.12.8-1.el8 epel 1.9 M qt5-qtwebsockets x86_64 5.12.5-1.el8 AppStream 95 k re2 x86_64 20190801-1.el8 epel 191 k これでよろしいですか? [y/N]: y インストール済み: qt5-qtdeclarative-devel-5.12.5-1.el8.x86_64 qt5-qtlocation-5.12.5-1.el8.x86_64 qt5-qtlocation-devel-5.12.5-1.el8.x86_64 qt5-qtwebchannel-5.12.5-1.el8.x86_64 qt5-qtwebchannel-devel-5.12.5-1.el8.x86_64 qt5-qtwebengine-5.12.8-1.el8.x86_64 qt5-qtwebengine-devel-5.12.8-1.el8.x86_64 qt5-qtwebengine-devtools-5.12.8-1.el8.x86_64 qt5-qtwebsockets-5.12.5-1.el8.x86_64 qt5-qtwebsockets-devel-5.12.5-1.el8.x86_64 re2-20190801-1.el8.x86_64 uchardet-0.0.6-9.el8.x86_64 完了しました!
→epel リポジトリが使われています。
-
6. 追加のインストール:
$ sudo dnf install uchardet-devel : インストール中: uchardet-devel x86_64 0.0.6-9.el8 epel 11 k これでよろしいですか? [y/N]: y インストール済み: uchardet-devel-0.0.6-9.el8.x86_64 完了しました!
→epel リポジトリが使われています。
-
7. ソースを入手:
$ cd ~/Git/ $ git clone --recursive https://github.com/notepadqq/notepadqq.git
-
8. ビルド(./configure):
$ cd ~/Git/notepadqq/ [~/Git/notepadqq/]$ ls CODE_OF_CONDUCT.md Dockerfile configure notepadqq.pro support_files CONTRIBUTING.md README.md doc snap COPYING build-tools images src [~/Git/notepadqq/]$ ./configure --prefix /usr : generate Makefile... Info: creating stash file /home/ubn/Git/notepadqq/.qmake.stash done
→最後のメッセージを確認。違うようなら問題あり。
-
[~/Git/notepadqq/]$ ls CODE_OF_CONDUCT.md Dockerfile build-tools images src CONTRIBUTING.md Makefile configure notepadqq.pro support_files COPYING README.md doc snap
→Makefile が作られました。 「ls -a」とすれば、「.qmake.stash」が確認できるはずです。
-
9. ビルド(make):
[~/Git/notepadqq/]$ make : make[1]: ディレクトリ '/home/ubn/Git/notepadqq/src/ui-tests' から出ます
→しばらく時間がかかります。最後のメッセージを確認。違うようなら問題あり。
-
[~/Git/notepadqq/]$ ls CODE_OF_CONDUCT.md Dockerfile build-tools images snap CONTRIBUTING.md Makefile configure notepadqq.pro src COPYING README.md doc out support_files
→out フォルダができました。ビルドの結果が出力されています。
[~/Git/notepadqq/]$ ls out/ build_data release [~/Git/notepadqq/]$ ls out/build_data/ advancedsearchdock.o moc_frmencodingchooser.cpp : moc_frmabout.cpp ui_mainwindow.h moc_frmabout.o windowstub.o [~/Git/notepadqq/]$ ls out/release/ appdata bin lib [~/Git/notepadqq/]$ ls out/release/appdata/ editor extension_tools [~/Git/notepadqq/]$ ls out/release/bin/ notepadqq [~/Git/notepadqq/]$ ls out/release/lib/ notepadqq-bin
-
10. インストール
[~/Git/notepadqq/]$ sudo make install : make[1]: ディレクトリ '/home/ubn/Git/notepadqq/src/ui-tests' から出ます
→最後のメッセージを確認。違うようなら問題あり。
-
11. 動作確認:
[~/Git/notepadqq/]$ notepadqq --version Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. Notepadqq 2.0.0-beta+git
→GNOME を「Wayland」セッションでログインしていると、他のQt アプリと同じように「Wayland での警告」が表示されます。
-
12. ランチャーでのアイコンがギア(未定義)表示なので解消:
アプリのアイコンのデータベースを更新する必要があります。 ダミー操作を行います。
「ソフトウェア」アプリにて、「IDLE3」で検索。(どのアプリでも良いのですが、前回もこれを使いました) 「IDLE3」が入っていれば「削除」(入っていなくても OK)。その後「インストール」
→notepadqq アイコンが表示されました。
-
13. アプリを起動:
→「1.4.8」で問題があった、バージョン表示画面のボタンの表示は正常です。マウスの中央ボタンでの貼り付け動作もOK でした。
Fedora 32 のときと違い、ibus-mozc で日本語入力できました。 Fedora 32 のときと違い、動作も安定しています。
-
14. テーマを「midnight」にしてみました:
→テーマがいっぱいあるのが利点です。Markdown ファイルを開いてから、テーマを変更します。
-
まとめ
CentOS では、リポジトリに登録されている「Qt アプリ」が少ないと思います。欲しいアプリがあれば、公式リポジトリだけでなく、サードパーティのリポジトリの追加も考えてよいと思います。そのしくみがあります。
pkgs.org を使うと、アプリ名で、アプリが登録されているリポジトリが検索できます。 使える最新のバージョンも確認でき、便利なので使用頻度は高いです。 バージョンによって使える機能に差があります。 自分の欲しい機能があるかを確認し、ビルドするかを決められます。
今回はビルドして最新のアプリをインストールしてみました。一度他の環境でビルドしたことがあるので、スムーズにビルドできました。(インストール説明に CentOS の場合のやり方が書かれていたのがポイントです。この辺りは、開発者で違います。)
-
-
目次
-
-