Linux あれこれ

Linux 関連(一部 Windows11 )の備忘録です。

CentOS 8.2 のGNOME にてnotepadqq をソースからビルド〈H86〉

登録日: 2020-08-03 更新日: 2020-08-03

CentOS 8.2 にて、epel リポジトリFedora アプリの一部流用)を追加しましたが、Qt アプリの登録は少ないようです。「notepadqq」の場合は、その他のサードパーティリポジトリにも登録されていませんでした。

「notepadqq」をソースからビルドしてみました。ちなみに、「notepadqq」はWindows 由来のテキストエディタです。

-

「目次」

-

使用環境:

CentOS 8.2 (GNOME デスクトップ環境):

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 をソースからビルドしてインストール

GitHub 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」にしてみました:

f:id:FuRuYa7:20200803174123j:plain

→テーマがいっぱいあるのが利点です。Markdown ファイルを開いてから、テーマを変更します。

-


まとめ

CentOS では、リポジトリに登録されている「Qt アプリ」が少ないと思います。欲しいアプリがあれば、公式リポジトリだけでなく、サードパーティリポジトリの追加も考えてよいと思います。そのしくみがあります。

pkgs.org を使うと、アプリ名で、アプリが登録されているリポジトリが検索できます。 使える最新のバージョンも確認でき、便利なので使用頻度は高いです。 バージョンによって使える機能に差があります。 自分の欲しい機能があるかを確認し、ビルドするかを決められます。

今回はビルドして最新のアプリをインストールしてみました。一度他の環境でビルドしたことがあるので、スムーズにビルドできました。(インストール説明に CentOS の場合のやり方が書かれていたのがポイントです。この辺りは、開発者で違います。)

-

-


目次

先頭

-


-