Linux あれこれ

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

「Ubuntu 22.04 LTS」にて「./autogen.sh」で「mousepad」をビルドしてみた〈H145-5〉

登録日: 2022-01-29 更新日: 2022-03-09

Xubuntu 20.04.4 LTS」をホストOS にした「VirtualBox」に、公開はまだの「Ubuntu 22.04 LTS」のDaily 版(日々更新版)をインストールしました。

-

その環境にて、Haiku へアプリを移植するときの参考にするため、「gedit」よりは依存が少なめの「mousepad」のビルドにトライしました。その備忘録です。

-

-

ホストOS : Xubuntu 20.04.4 LTS

ゲストOS : Ubuntu 22.04 LTS   ←(今回の作業)

-

-

使用したPC は「ASUS Chromebox CN60 」で、 プロセッサは第4世代の「Intel Celeron 2955U 」です。UEFI 立ち上げです。

-

(注)リンクを戻るときはブラウザの左上の「←」をクリック

-

-


目次

-

以前の作業:

「ホストOS に VirtualBox をインストール」

「仮想マシンの作成:」

「Ubuntu 22.04 LTS のインストール」

-

今回の作業:

「開発ツールのインストール:」

「依存パッケージをインストール:」

「./autogen.sh」を使うmousepad のビルド:

「./configure」を使うmousepad のビルド:

「参考: Haiku に移植するときの下調べ」

「まとめ へ」

-

「目次詳細 へ」

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -

Ubuntu 22.04 LTS」の画面:

-

デスクトップは使いやすいようにカスタマイズ:

→ドックのアイコンを小さくして、右に移動したぐらい。 デフォルトの壁紙も悪くありません。

-

ビルドした「mousepad」を起動:

→普通に起動して、普通に使えます。日本語入力できました。

バージョンはapt でインストールしたときと同じ「0.5.8」です。 通常はビルドする必要はありません。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --

Ubuntu 22.04 LTS」について

-

リリース:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu Jammy Jellyfish (development branch)"

→「Alpha 版」ですが、内部エラーも少なく安定しています。

-


現在のバージョンを表示:

2022-01-29 現在

カーネル:

$ uname -r
5.15.0-18-generic

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---

「mousepad」について:

-

公式サイト:

→最新の「0.5.8」が、「./configure」でビルドするイメージとして置かれています。

-

→最新の「0.5.8」が、「./autogen.sh」でビルドするイメージとして置かれています。

-

Mousepad は、Xfce デスクトップ環境用のシンプルなテキストエディタです。

Mousepad は、使いやすく、テキストファイルをすばやく編集するためのエディタを目指しています。 開発環境や多くのプラグインを備えたエディターではありません。

一方、最新のGTK 機能を使うようにしているので、GTK の新機能が追加される可能性があります。

-

Ubuntuリポジトリに登録されている mousepad を確認:

$ apt search mousepad
:
mousepad/jammy 0.5.8-1 amd64
  シンプルな Xfce 指向なテキストエディタ

→バージョンは「0.5.8-1」です。

-

詳細を表示:
$ apt show mousepad
:
Package: mousepad
Version: 0.5.8-1
Priority: optional
Section: universe/editors
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Xfce Maintainers <debian-xfce@lists.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 1,848 kB

Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libglib2.0-0 (>= 2.37.3), libgspell-1-2 (>= 1.8.2), libgtk-3-0 (>= 3.0.0), libmousepad0 (>= 0.5.8)

Homepage: https://docs.xfce.org/apps/mousepad/start
Task: xubuntu-desktop
Download-Size: 339 kB
APT-Sources: http://jp.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
Description: シンプルな Xfce 指向なテキストエディタ
 Mousepad は、Leafpad に基づいた Xfce 用テキストエディタです。
 .
 Mousepad を開発した最初の理由は、印刷のサポートを供給することでしたが、これは さまざまな理由から、Leafpad には難しかったことでした。
:

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----

1. 開発ツールのインストール

-

DebianUbuntu の場合:

$ sudo apt install build-essential
:
以下のパッケージが新たにインストールされます:
  build-essential dpkg-dev fakeroot g++ g++-11 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libdpkg-perl libfakeroot libfile-fcntllock-perl libstdc++-11-dev lto-disabled-list

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----

2. 参考: 「mousepad」のビルドに必要な依存:

-

以前「gedit」をビルドしているので、いくつかの依存はすでにインストールされていると思われます。

-


1). ソースにある「README.md」から抜き出し:

-

依存するパッケージ

-

オプションの依存パッケージ

-

予想される依存:

-

$ apt search libgtk-3
:
libglib-object-introspection-perl/jammy,now 0.049-1+build1 amd64 [インストール済み、自動]
  Perl bindings for gobject-introspection libraries

libgtk-3-0/jammy,now 3.24.30-3ubuntu2 amd64 [インストール済み、自動]
  GTK graphical user interface library

libgtk-3-bin/jammy,now 3.24.30-3ubuntu2 amd64 [インストール済み、自動]
  programs for the GTK graphical user interface library

libgtk-3-common/jammy,jammy,now 3.24.30-3ubuntu2 all [インストール済み、自動]
  common files for the GTK graphical user interface library

libgtk-3-dev/jammy,now 3.24.30-3ubuntu2 amd64 [インストール済み]        ←★
  development files for the GTK library

libgtk-3-doc/jammy,jammy,now 3.24.30-3ubuntu2 all [インストール済み]
  documentation for the GTK graphical user interface library

→「libgtk-3-dev」(3.24.30) がインストール済

-

$ apt search libglib2.0-dev
:
libglib2.0-dev/jammy,now 2.71.0-2 amd64 [インストール済み]       ←★
  Development files for the GLib library

libglib2.0-dev-bin/jammy,now 2.71.0-2 amd64 [インストール済み、自動]
  Development utilities for the GLib library

→「libglib2.0-dev」(2.71.0-2) がインストール済

-

$ apt search libxfconf
:
libxfconf-0-3/jammy 4.16.0-2 amd64
  Client library for Xfce4 configure interface

libxfconf-0-dev/jammy 4.16.0-2 amd64
  Development files for libxfconf

→「libglib2.0-dev」(2.71.0-2) がインストール済

-

$ apt search GtkSourceView-
:
libgtksourceview-3.0-1/jammy 3.24.11-2 amd64
  GTK+ 構文強調ウィジェット用共有ライブラリ

libgtksourceview-3.0-common/jammy,jammy 3.24.11-2 all
  common files for the GTK+ syntax highlighting widget

libgtksourceview-3.0-dev/jammy 3.24.11-2 amd64                         ←★
  development files for the GTK+ syntax highlighting widget

libgtksourceview-3.0-doc/jammy,jammy 3.24.11-2 all
  documentation for the GTK+ syntax highlighting widget

libgtksourceview-4-0/jammy,now 4.8.2-1 amd64 [インストール済み、自動]
  GTK+ 構文強調ウィジェット用共有ライブラリ

libgtksourceview-4-common/jammy,jammy,now 4.8.2-1 all [インストール済み、自動]
  common files for the GTK+ syntax highlighting widget

libgtksourceview-4-dev/jammy,now 4.8.2-1 amd64 [インストール済み]         ←★
  development files for the GTK+ syntax highlighting widget

libgtksourceview-4-doc/jammy,jammy,now 4.8.2-1 all [インストール済み]
  documentation for the GTK+ syntax highlighting widget

libgtksourceview-5-0/jammy 5.3.1-1 amd64
  shared libraries for the GTK 4 syntax highlighting widget

libgtksourceview-5-common/jammy,jammy 5.3.1-1 all
  common files for the GTK 4 syntax highlighting widget

libgtksourceview-5-dev/jammy 5.3.1-1 amd64                                   ←★
  development files for the GTK 4 syntax highlighting widget

libgtksourceview-5-doc/jammy,jammy 5.3.1-1 all
  documentation for the GTK 4 syntax highlighting widget

→「libgtksourceview-4-dev」(4.8.2-1) がインストール済

追記: 「mousepad 0.4.2」をビルドするには、「libgtksourceview-4-dev」がインストールされていても「libgtksourceview-3.0-dev」が要求されました。「mousepad 0.5.8」でのビルドでは、条件が変ったようです。

-


2). 「show mousepad」の表示から抜き出し:

-

$ apt show mousepad
:
Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libglib2.0-0 (>= 2.37.3), libgspell-1-2 (>= 1.8.2), libgtk-3-0 (>= 3.0.0), libmousepad0 (>= 0.5.8)

-

予想される依存:

-

$ apt search dconf-gsettings-backend
:
dconf-gsettings-backend/jammy,now 0.40.0-2 amd64 [インストール済み、自動]   ←★
  シンプルな設定格納システム - GSettings バックエンド
$ apt search gsettings-backend
:
dconf-gsettings-backend/jammy,now 0.40.0-2 amd64 [インストール済み、自動]    ←★
  シンプルな設定格納システム - GSettings バックエンド
$ apt search libc6-dev
:
libc6-dev/jammy,now 2.34-0ubuntu3 amd64 [インストール済み、自動]             ←★
  GNU C ライブラリ: 開発用ライブラリとヘッダファイル
$ apt search libglib2.0-0
:
libglib2.0-0/jammy,now 2.71.0-2 amd64 [インストール済み、自動]
  GLib library of C routines

libglib2.0-dev/jammy,now 2.71.0-2 amd64 [インストール済み]             ←★
  Development files for the GLib library

libglib2.0-dev-bin/jammy,now 2.71.0-2 amd64 [インストール済み、自動]
  Development utilities for the GLib library
$ apt search libgspell-1-2
:
libgspell-1-2/jammy,now 1.9.1-2 amd64 [インストール済み、自動]              ←★
  spell-checking library for GTK+ applications
$ apt search libgtk-3-0
:
libgtk-3-0/jammy,now 3.24.30-3ubuntu2 amd64 [インストール済み、自動]
  GTK graphical user interface library

→dev の方がいいかも

-

$ apt search libmousepad0
:
libmousepad0/jammy 0.5.8-1 amd64              ←★
  mousepad plugins library

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -

3. 「./autogen.sh」を使い、Mousepad をビルドする場合:

-


1). ダウンロード:

Release mousepad-0.5.8

Source code (tar.gz) をクリック→「ファイルを保存する」

ダウンロードされた「mousepad-mousepad-0.5.8.tar.gz」を任意のフォルダに移動

-


2). チェックサムの確認:

$ cd ~/ダウンロード/mousepad/
$ sha256sum mousepad-mousepad-0.5.8.tar.gz
06901ad4661a31fd886cf33ef4f04138b71ec496f763681b56dbd1eaa485459c  mousepad-mousepad-0.5.8.tar.gz

-


3). ファイルを右クリック→ここで展開

-

$ cd ~/ダウンロード/mousepad/mousepad-mousepad-0.5.8/

$ ls
AUTHORS          m4
COPYING          mousepad
Makefile.am      org.xfce.mousepad-settings.desktop.in.in
NEWS             org.xfce.mousepad.appdata.xml.in
README.md        org.xfce.mousepad.desktop.in.in
THANKS           org.xfce.mousepad.policy.in.in
autogen.sh       plugins
build-aux        po
configure.ac.in  tests
icons

-


4). インストールガイドの確認:

$ cat ~/ダウンロード/mousepad/mousepad-mousepad-0.5.8/README.md

-


5). 「./autogen.sh」の内容:

$ cat ~/ダウンロード/mousepad/mousepad-mousepad-0.5.8/autogen.sh
#!/bin/sh

type xdt-autogen >/dev/null 2>&1 || {
   cat >&2 <<EOF
autogen.sh: You don't seem to have the Xfce development tools installed on
            your system, which are required to build this software.
            Please install the xfce4-dev-tools package first, it is available
            from your distribution or https://www.xfce.org/. 
EOF
   exit 1
}

mkdir -p m4/ || exit $?
XDT_AUTOGEN_REQUIRED_VERSION="4.14.0" exec xdt-autogen "$@" 
# vi:set ts=2 sw=2 et ai:

→和訳:

このソフトウェアをビルドするために必要な Xfce 開発ツールがシステムにインストールされていないようです。 最初に「xfce4-dev-tools」パッケージをインストールしてください。 ディストリビューションまたは https://www.xfce.org/ から入手できます。

-

→「m4」フォルダが作られ、「xdt-autogen」が内部で起動されるようです。

-


6). バージョンは更新履歴の「NEWS」ファイルの内容の 1行目で確認:

$ cat ~/ダウンロード/mousepad/mousepad-mousepad-0.5.8/NEWS
0.5.8 (2021-11-26) 
=====
 - Bug Fixes:
   - Revert "Chain-up to parent in `mousepad_window_scroll_event()`" (#150)   
   - Search: Fix a memory leak
:

-


7). 「./autogen.sh」の実行を繰り返して、依存パッケージの不足を解消:

-

(1). 「./autogen.sh」の実行:
$ cd ~/ダウンロード/mousepad/mousepad-mousepad-0.5.8/
$ ./autogen.sh
:
autogen.sh: You don't seem to have the Xfce development tools installed on
            your system, which are required to build this software.
            Please install the xfce4-dev-tools package first, it is available
            from your distribution or https://www.xfce.org/.

→和訳: このソフトウェアをビルドするために必要な Xfce 開発ツールがシステムにインストールされていないようです。最初に「xfce4-dev-tools」パッケージをインストールしてください。

-

「./autogen.sh」の実行に必要なパッケージを確認:
$ apt search xfce4-dev-tools
:
xfce4-dev-tools/jammy 4.16.0-1 amd64              ←★
  git からの Xfce ビルド支援用スクリプト

-

「xfce4-dev-tools」をインストール:
$ sudo apt install xfce4-dev-tools
:
以下のパッケージが新たにインストールされます:
  xfce4-dev-tools

-

(2). 「./autogen.sh」の実行:
$ ./autogen.sh
:
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libxfconf-0 >= 4.12.0... not found
*** The required package libxfconf-0 was not found on your system.
*** Please install libxfconf-0 (atleast version 4.12.0) or adjust
*** the PKG_CONFIG_PATH environment variable if you
*** installed the package in a nonstandard prefix so that
*** pkg-config is able to find it.

→和訳: 必要なパッケージ「libxfconf-0」がシステムに見つかりませんでした。

libxfconf-0(少なくともバージョン4.12.0)をインストールします…

-

パッケージを確認:
$ apt search libxfconf-0
:
libxfconf-0-3/jammy 4.16.0-2 amd64
  Client library for Xfce4 configure interface

libxfconf-0-dev/jammy 4.16.0-2 amd64              ←★
  Development files for libxfconf

-

依存の「libxfconf-0-dev」をインストール:
$ sudo apt install libxfconf-0-dev
:
以下のパッケージが新たにインストールされます:
  gir1.2-xfconf-0 libxfce4util-bin libxfce4util-common libxfce4util7 libxfconf-0-3 libxfconf-0-dev
  xfconf

-

(3). 「./autogen.sh」の実行:
$ ./autogen.sh
:
checking pkg-config is at least version 0.9.0... yes
checking for gtksourceview-3.0 >= 3.20.0... not found
*** The required package gtksourceview-3.0 was not found on your system.
*** Please install gtksourceview-3.0 (atleast version 3.20.0) or adjust
*** the PKG_CONFIG_PATH environment variable if you
*** installed the package in a nonstandard prefix so that
*** pkg-config is able to find it.

→和訳: 必要なパッケージ「gtksourceview-3.0」がシステムに見つかりませんでした。 (少なくともバージョン3.20.0)

-

パッケージを確認:
$ apt search gtksourceview-3.0
:
libgtksourceview-3.0-1/jammy 3.24.11-2 amd64
  GTK+ 構文強調ウィジェット用共有ライブラリ

libgtksourceview-3.0-common/jammy,jammy 3.24.11-2 all
  common files for the GTK+ syntax highlighting widget

libgtksourceview-3.0-dev/jammy 3.24.11-2 amd64              ←★
  development files for the GTK+ syntax highlighting widget

libgtksourceview-3.0-doc/jammy,jammy 3.24.11-2 all
  documentation for the GTK+ syntax highlighting widget

-

依存の「libgtksourceview-3.0-dev」をインストール:
$ sudo apt install libgtksourceview-3.0-dev
:
以下のパッケージが新たにインストールされます:
  gir1.2-gtksource-3.0 libgtksourceview-3.0-1 libgtksourceview-3.0-common libgtksourceview-3.0-dev

-

パッケージを確認:
$ apt search gtksourceview-3.0
:
libgtksourceview-3.0-1/jammy,now 3.24.11-2 amd64 [インストール済み、自動]
  GTK+ 構文強調ウィジェット用共有ライブラリ

libgtksourceview-3.0-common/jammy,jammy,now 3.24.11-2 all [インストール済み、自動]
  common files for the GTK+ syntax highlighting widget

libgtksourceview-3.0-dev/jammy,now 3.24.11-2 amd64 [インストール済み]              ←★
  development files for the GTK+ syntax highlighting widget

libgtksourceview-3.0-doc/jammy,jammy 3.24.11-2 all
  documentation for the GTK+ syntax highlighting widget

-


8). 依存パッケージの不足を解消したので、「./autogen.sh」を実行

-

(1). 「./autogen.sh」の実行前の確認:
$ cd ~/ダウンロード/mousepad/mousepad-mousepad-0.5.8/

$ ls
AUTHORS          m4
COPYING          mousepad
Makefile.am      org.xfce.mousepad-settings.desktop.in.in
NEWS             org.xfce.mousepad.appdata.xml.in
README.md        org.xfce.mousepad.desktop.in.in
THANKS           org.xfce.mousepad.policy.in.in
autogen.sh       plugins
build-aux        po
configure.ac.in  tests
icons

→「./autogen.sh」でビルドするためのファイル構成です。

-

(2). 「./autogen.sh」の実行:
$ ./autogen.sh
Preparing package directory /home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8...
Creating /home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/aclocal.m4...
Running glib-gettextize --force --copy...
Copying file po/Makefile.in.in

Please add the files
  codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
  progtest.m4
from the /usr/share/aclocal directory to your autoconf macro directory
or directly to your aclocal.m4 file.
You will also need config.guess and config.sub, which you can get from
ftp://ftp.gnu.org/pub/gnu/config/.

Running intltoolize --automake --copy --force
Patching file 'po/Makefile.in.in'
Running libtoolize --force --copy...
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
Running aclocal -I /usr/share/aclocal -I /home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/m4...
Running autoheader...
Running automake --force-missing --add-missing --copy --gnu...
configure.ac:44: installing './compile'
configure.ac:30: installing './config.guess'
configure.ac:30: installing './config.sub'
configure.ac:36: installing './install-sh'
configure.ac:36: installing './missing'
mousepad/Makefile.am: installing './depcomp'
Running autoconf...
configure.ac:90: warning: The macro `GLIB_GNU_GETTEXT' is obsolete.
configure.ac:90: You should run autoupdate.
aclocal.m4:1617: GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:1717: AM_GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:11976: XDT_I18N is expanded from...
configure.ac:90: the top level
configure.ac:90: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:90: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
aclocal.m4:1302: GLIB_LC_MESSAGES is expanded from...
aclocal.m4:1617: GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:1717: AM_GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:11976: XDT_I18N is expanded from...
configure.ac:90: the top level
configure.ac:90: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:90: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
./lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
aclocal.m4:1401: GLIB_WITH_NLS is expanded from...
aclocal.m4:1617: GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:1717: AM_GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:11976: XDT_I18N is expanded from...
configure.ac:90: the top level
configure.ac:90: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:90: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/headers.m4:89: _AC_CHECK_HEADER_COMPILE is expanded from...
./lib/autoconf/headers.m4:56: AC_CHECK_HEADER is expanded from...
aclocal.m4:1401: GLIB_WITH_NLS is expanded from...
aclocal.m4:1617: GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:1717: AM_GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:11976: XDT_I18N is expanded from...
configure.ac:90: the top level
configure.ac:90: warning: The macro `AC_OUTPUT_COMMANDS' is obsolete.
configure.ac:90: You should run autoupdate.
./lib/autoconf/status.m4:1025: AC_OUTPUT_COMMANDS is expanded from...
aclocal.m4:1401: GLIB_WITH_NLS is expanded from...
aclocal.m4:1617: GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:1717: AM_GLIB_GNU_GETTEXT is expanded from...
aclocal.m4:11976: XDT_I18N is expanded from...
configure.ac:90: the top level
configure.ac:90: warning: The macro `AC_HELP_STRING' is obsolete.
configure.ac:90: You should run autoupdate.
./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from...
./lib/autoconf/general.m4:1553: AC_ARG_WITH is expanded from...
aclocal.m4:11976: XDT_I18N is expanded from...
configure.ac:90: the top level
configure.ac:140: warning: The macro `AC_HELP_STRING' is obsolete.
configure.ac:140: You should run autoupdate.
./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from...
aclocal.m4:11775: XDT_FEATURE_DEBUG is expanded from...
configure.ac:140: the top level
configure.ac:145: warning: The macro `AC_HELP_STRING' is obsolete.
configure.ac:145: You should run autoupdate.
./lib/autoconf/general.m4:204: AC_HELP_STRING is expanded from...
aclocal.m4:11906: XDT_FEATURE_LINKER_OPTS is expanded from...
configure.ac:145: the top level

Running /home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/configure --enable-maintainer-mode ...
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether gmake sets $(MAKE)... yes
checking whether gmake supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether gmake supports nested variables... (cached) yes
checking whether gmake supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to enable C11 features... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking how to print strings... printf
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether NLS is requested... yes
checking for intltool >= 0.35.0... 0.51.0 found      ← ★
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.32.1         ← ★
checking for XML::Parser... ok
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for library containing round... -lm
checking for realpath... yes
checking for errno.h... yes
checking for libintl.h... yes
checking for locale.h... yes
checking for math.h... yes
checking for stdio.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for locale.h... (cached) yes
checking for LC_MESSAGES... yes
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for libintl.h... (cached) yes
checking for ngettext in libc... yes
checking for dgettext in libc... yes
checking for bind_textdomain_codeset... yes
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for dcgettext... yes
checking if msgfmt accepts -c... yes
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for catalogs to be installed...  ar ast be bg ca cs da de el en_AU en_GB es et eu fa_IR fi fr gl he hr hu hy_AM hye id ie is it ja kk ko lt ms nb nl nn oc pl pt pt_BR ro ru sk sl sq sr sv te th tr ug uk zh_CN zh_TW
checking for bind_textdomain_codeset... (cached) yes
checking for locales directory... ${prefix}/share/locale
checking for additional xgettext flags... --keyword=Q_ --from-code=UTF-8
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for glib-2.0 >= 2.52.0... 2.71.0        ← ★
checking GLIB_CFLAGS... -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GLIB_LIBS... -lglib-2.0
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gmodule-2.0 >= 2.52.0... 2.71.0       ← ★
checking GMODULE_CFLAGS... -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GMODULE_LIBS... -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gtk+-3.0 >= 3.22.0... 3.24.30        ← ★
checking GTK_CFLAGS... -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GTK_LIBS... -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
checking for gtksourceview-4... yes
checking for gtksourceview-4 >= 4.0.0... yes      ← ★
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gspell-1 >= 1.6.0... 1.9.1        ← ★
checking GSPELL_CFLAGS... -pthread -I/usr/include/gspell-1 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/enchant-2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GSPELL_LIBS... -lgspell-1 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lenchant-2
checking whether to build the gspell plugin... yes
checking whether to build the test plugin... no
checking whether to build with debugging support... minimum
checking whether /usr/bin/ld -m elf_x86_64 accepts --as-needed... yes
checking whether /usr/bin/ld -m elf_x86_64 accepts -O1... yes
checking PLATFORM_CPPFLAGS... 
checking PLATFORM_CFLAGS... 
checking PLATFORM_LDFLAGS... 
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating mousepad/Makefile
config.status: creating plugins/Makefile
config.status: creating plugins/gspell-plugin/Makefile
config.status: creating plugins/test-plugin/Makefile
config.status: creating po/Makefile.in
config.status: creating icons/Makefile
config.status: creating icons/16x16/Makefile
config.status: creating icons/48x48/Makefile
config.status: creating icons/128x128/Makefile
config.status: creating icons/scalable/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing default-1 commands
config.status: executing po/stamp-it commands

Build Configuration:

* Debug Support:              minimum
* Use keyfile backend:        default
* Build with GtkSourceView 4: yes

Plugins:

* gspell:                     yes
* test:                       no

Now type "make" to compile.

→「./autogen.sh」の実行に成功しました。

-

(3). 「./autogen.sh」の完了後の確認:
$ pwd
/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8

$ ls
AUTHORS         build-aux        depcomp              org.xfce.mousepad-settings.desktop.in.in
COPYING         compile          icons                org.xfce.mousepad.appdata.xml.in
Makefile        config.guess     install-sh           org.xfce.mousepad.desktop.in.in
Makefile.am     config.h         intltool-extract.in  org.xfce.mousepad.policy.in.in
Makefile.in     config.h.in      intltool-merge.in    plugins
NEWS            config.log       intltool-update.in   po
README.md       config.status    libtool              stamp-h1
THANKS          config.sub       ltmain.sh            tests
aclocal.m4      configure        m4
autogen.sh      configure.ac     missing
autom4te.cache  configure.ac.in  mousepad

-


9). 「make」の実行

-

$ make
make  all-recursive
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' に入ります
Making all in icons
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' に入ります
Making all in scalable
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/scalable' に入ります
make[3]: 'all' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/scalable' から出ます
Making all in 16x16
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/16x16' に入ります
make[3]: 'all' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/16x16' から出ます
Making all in 48x48
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/48x48' に入ります
make[3]: 'all' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/48x48' から出ます
Making all in 128x128
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/128x128' に入ります
make[3]: 'all' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/128x128' から出ます
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' に入ります
make[3]: 'all-am' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' から出ます
Making all in mousepad
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' に入ります
  GEN      mousepad-marshal.c
INFO: Reading mousepad-marshal.list...
  GEN      mousepad-marshal.h
INFO: Reading mousepad-marshal.list...
  GEN      mousepad-resources.c
make  all-am
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' に入ります
  CC       mousepad-main.o
  CC       libmousepad_la-mousepad-marshal.lo
  CC       libmousepad_la-mousepad-application.lo
  CC       libmousepad_la-mousepad-close-button.lo
  CC       libmousepad_la-mousepad-dialogs.lo
  CC       libmousepad_la-mousepad-document.lo
  CC       libmousepad_la-mousepad-encoding.lo
  CC       libmousepad_la-mousepad-encoding-dialog.lo
  CC       libmousepad_la-mousepad-file.lo
  CC       libmousepad_la-mousepad-history.lo
  CC       libmousepad_la-mousepad-plugin.lo
  CC       libmousepad_la-mousepad-plugin-provider.lo
  CC       libmousepad_la-mousepad-prefs-dialog.lo
  CC       libmousepad_la-mousepad-print.lo
  CC       libmousepad_la-mousepad-replace-dialog.lo
  CC       libmousepad_la-mousepad-resources.lo
  CC       libmousepad_la-mousepad-search-bar.lo
  CC       libmousepad_la-mousepad-settings.lo
  CC       libmousepad_la-mousepad-settings-store.lo
  CC       libmousepad_la-mousepad-statusbar.lo
  CC       libmousepad_la-mousepad-util.lo
  CC       libmousepad_la-mousepad-view.lo
  CC       libmousepad_la-mousepad-window.lo
  CCLD     libmousepad.la
  CCLD     mousepad
  GEN      org.xfce.mousepad.gschema.valid
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' から出ます
Making all in plugins
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' に入ります
Making all in gspell-plugin
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/gspell-plugin' に入ります
  CC       libmousepad_plugin_gspell_la-gspell-plugin.lo
  CC       libmousepad_plugin_gspell_la-mousepad-plugin-gspell.lo
  CCLD     libmousepad-plugin-gspell.la
  GEN      org.xfce.mousepad.plugins.gspell.gschema.valid
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/gspell-plugin' から出ます
Making all in test-plugin
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/test-plugin' に入ります
make[3]: 'all' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/test-plugin' から出ます
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' に入ります
make[3]: 'all-am' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' から出ます
Making all in po
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/po' に入ります
  MSGFMT ar.gmo
  MSGFMT ast.gmo
  MSGFMT be.gmo
  MSGFMT bg.gmo
  MSGFMT ca.gmo
  MSGFMT cs.gmo
  MSGFMT da.gmo
  MSGFMT de.gmo
  MSGFMT el.gmo
  MSGFMT en_AU.gmo
  MSGFMT en_GB.gmo
  MSGFMT es.gmo
  MSGFMT et.gmo
  MSGFMT eu.gmo
  MSGFMT fa_IR.gmo
  MSGFMT fi.gmo
  MSGFMT fr.gmo
  MSGFMT gl.gmo
  MSGFMT he.gmo
  MSGFMT hr.gmo
  MSGFMT hu.gmo
  MSGFMT hy_AM.gmo
  MSGFMT hye.gmo
  MSGFMT id.gmo
  MSGFMT ie.gmo
  MSGFMT is.gmo
  MSGFMT it.gmo
  MSGFMT ja.gmo
  MSGFMT kk.gmo
  MSGFMT ko.gmo
  MSGFMT lt.gmo
  MSGFMT ms.gmo
  MSGFMT nb.gmo
  MSGFMT nl.gmo
  MSGFMT nn.gmo
  MSGFMT oc.gmo
  MSGFMT pl.gmo
  MSGFMT pt.gmo
  MSGFMT pt_BR.gmo
  MSGFMT ro.gmo
  MSGFMT ru.gmo
  MSGFMT sk.gmo
  MSGFMT sl.gmo
  MSGFMT sq.gmo
  MSGFMT sr.gmo
  MSGFMT sv.gmo
  MSGFMT te.gmo
  MSGFMT th.gmo
  MSGFMT tr.gmo
  MSGFMT ug.gmo
  MSGFMT uk.gmo
  MSGFMT zh_CN.gmo
  MSGFMT zh_TW.gmo
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/po' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' に入ります
  ITMRG  org.xfce.mousepad.appdata.xml
sed -e "s,\@libexecdir\@,/usr/local/libexec,g" < org.xfce.mousepad.desktop.in.in > org.xfce.mousepad.desktop.in
  ITMRG  org.xfce.mousepad.desktop
sed -e "s,\@libexecdir\@,/usr/local/libexec,g" < org.xfce.mousepad-settings.desktop.in.in > org.xfce.mousepad-settings.desktop.in
  ITMRG  org.xfce.mousepad-settings.desktop
sed -e "s,\@bindir\@,/usr/local/bin,g" < org.xfce.mousepad.policy.in.in > org.xfce.mousepad.policy.in
  ITMRG  org.xfce.mousepad.policy
rm org.xfce.mousepad.policy.in org.xfce.mousepad.desktop.in org.xfce.mousepad-settings.desktop.in
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' から出ます
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' から出ます

-


10). 「sudo make install」の実行

$ sudo make install
:
[sudo] パスワード: 
Making install in icons
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' に入ります
Making install in scalable
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/scalable' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/scalable' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/scalable/apps'
 /usr/bin/install -c -m 644 org.xfce.mousepad.svg '/usr/local/share/icons/hicolor/scalable/apps'
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/scalable' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/scalable' から出ます
Making install in 16x16
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/16x16' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/16x16' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/16x16/apps'
 /usr/bin/install -c -m 644 org.xfce.mousepad.png '/usr/local/share/icons/hicolor/16x16/apps'
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/16x16' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/16x16' から出ます
Making install in 48x48
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/48x48' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/48x48' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/48x48/apps'
 /usr/bin/install -c -m 644 org.xfce.mousepad.png '/usr/local/share/icons/hicolor/48x48/apps'
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/48x48' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/48x48' から出ます
Making install in 128x128
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/128x128' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/128x128' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
 /usr/bin/mkdir -p '/usr/local/share/icons/hicolor/128x128/apps'
 /usr/bin/install -c -m 644 org.xfce.mousepad.png '/usr/local/share/icons/hicolor/128x128/apps'
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/128x128' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons/128x128' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
make  install-data-hook
make[4]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' に入ります
Updating Gtk icon cache.
gtk-update-icon-cache: Cache file created successfully.
make[4]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' から出ます
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' から出ます
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/icons' から出ます
Making install in mousepad
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' に入ります
make  install-am
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' に入ります
 /usr/bin/mkdir -p '/usr/local/lib'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   libmousepad.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libmousepad.so.0.0.0 /usr/local/lib/libmousepad.so.0.0.0
libtool: install: (cd /usr/local/lib && { ln -s -f libmousepad.so.0.0.0 libmousepad.so.0 || { rm -f libmousepad.so.0 && ln -s libmousepad.so.0.0.0 libmousepad.so.0; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libmousepad.so.0.0.0 libmousepad.so || { rm -f libmousepad.so && ln -s libmousepad.so.0.0.0 libmousepad.so; }; })
libtool: install: /usr/bin/install -c .libs/libmousepad.lai /usr/local/lib/libmousepad.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /usr/bin/mkdir -p '/usr/local/bin'
  /bin/bash ../libtool   --mode=install /usr/bin/install -c mousepad '/usr/local/bin'
libtool: install: /usr/bin/install -c .libs/mousepad /usr/local/bin/mousepad
if test -n "org.xfce.mousepad.gschema.xml"; then \
    test -z "/usr/local/share/glib-2.0/schemas" || /usr/bin/mkdir -p "/usr/local/share/glib-2.0/schemas"; \
    /usr/bin/install -c -m 644 org.xfce.mousepad.gschema.xml "/usr/local/share/glib-2.0/schemas"; \
    test -n "" || /usr/bin/glib-compile-schemas /usr/local/share/glib-2.0/schemas; \
fi
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' から出ます
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/mousepad' から出ます
Making install in plugins
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' に入ります
Making install in gspell-plugin
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/gspell-plugin' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/gspell-plugin' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
 /usr/bin/mkdir -p '/usr/local/lib/mousepad/plugins'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libmousepad-plugin-gspell.la '/usr/local/lib/mousepad/plugins'
libtool: warning: relinking 'libmousepad-plugin-gspell.la'
libtool: install: (cd /home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/gspell-plugin; /bin/bash "/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/libtool"  --silent --tag CC --mode=relink gcc -I../.. -I../../plugins -I../.. -I../../plugins -DG_LOG_DOMAIN=\"mousepad-plugin-gspell\" -DPACKAGE_LOCALE_DIR=\"/usr/local/share/locale\" -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gtksourceview-4 -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/gspell-1 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/enchant-2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -avoid-version -export-dynamic -module -Wl,--as-needed -Wl,-O1 -o libmousepad-plugin-gspell.la -rpath /usr/local/lib/mousepad/plugins libmousepad_plugin_gspell_la-gspell-plugin.lo libmousepad_plugin_gspell_la-mousepad-plugin-gspell.lo ../../mousepad/libmousepad.la -lglib-2.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgtksourceview-4 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lgspell-1 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lenchant-2 -lm )
libtool: install: /usr/bin/install -c .libs/libmousepad-plugin-gspell.soT /usr/local/lib/mousepad/plugins/libmousepad-plugin-gspell.so
libtool: install: /usr/bin/install -c .libs/libmousepad-plugin-gspell.lai /usr/local/lib/mousepad/plugins/libmousepad-plugin-gspell.la
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib/mousepad/plugins
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib/mousepad/plugins

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
if test -n "org.xfce.mousepad.plugins.gspell.gschema.xml"; then \
    test -z "/usr/local/share/glib-2.0/schemas" || /usr/bin/mkdir -p "/usr/local/share/glib-2.0/schemas"; \
    /usr/bin/install -c -m 644 org.xfce.mousepad.plugins.gspell.gschema.xml "/usr/local/share/glib-2.0/schemas"; \
    test -n "" || /usr/bin/glib-compile-schemas /usr/local/share/glib-2.0/schemas; \
fi
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/gspell-plugin' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/gspell-plugin' から出ます
Making install in test-plugin
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/test-plugin' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/test-plugin' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/test-plugin' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins/test-plugin' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' に入ります
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' に入ります
make[3]: 'install-exec-am' に対して行うべき事はありません.
make[3]: 'install-data-am' に対して行うべき事はありません.
make[3]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' から出ます
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' から出ます
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/plugins' から出ます
Making install in po
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/po' に入ります
linguas="ar ast be bg ca cs da de el en_AU en_GB es et eu fa_IR fi fr gl he hr hu hy_AM hye id ie is it ja kk ko lt ms nb nl nn oc pl pt pt_BR ro ru sk sl sq sr sv te th tr ug uk zh_CN zh_TW "; \
for lang in $linguas; do \
  dir=/usr/local/share/locale/$lang/LC_MESSAGES; \
  /bin/bash /home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/install-sh -d $dir; \
  if test -r $lang.gmo; then \
    /usr/bin/install -c -m 644 $lang.gmo $dir/mousepad.mo; \
    echo "installing $lang.gmo as $dir/mousepad.mo"; \
  else \
    /usr/bin/install -c -m 644 ./$lang.gmo $dir/mousepad.mo; \
    echo "installing ./$lang.gmo as" \
     "$dir/mousepad.mo"; \
  fi; \
  if test -r $lang.gmo.m; then \
    /usr/bin/install -c -m 644 $lang.gmo.m $dir/mousepad.mo.m; \
    echo "installing $lang.gmo.m as $dir/mousepad.mo.m"; \
  else \
    if test -r ./$lang.gmo.m ; then \
      /usr/bin/install -c -m 644 ./$lang.gmo.m \
    $dir/mousepad.mo.m; \
      echo "installing ./$lang.gmo.m as" \
       "$dir/mousepad.mo.m"; \
    else \
      true; \
    fi; \
  fi; \
done
installing ar.gmo as /usr/local/share/locale/ar/LC_MESSAGES/mousepad.mo
installing ast.gmo as /usr/local/share/locale/ast/LC_MESSAGES/mousepad.mo
installing be.gmo as /usr/local/share/locale/be/LC_MESSAGES/mousepad.mo
installing bg.gmo as /usr/local/share/locale/bg/LC_MESSAGES/mousepad.mo
installing ca.gmo as /usr/local/share/locale/ca/LC_MESSAGES/mousepad.mo
installing cs.gmo as /usr/local/share/locale/cs/LC_MESSAGES/mousepad.mo
installing da.gmo as /usr/local/share/locale/da/LC_MESSAGES/mousepad.mo
installing de.gmo as /usr/local/share/locale/de/LC_MESSAGES/mousepad.mo
installing el.gmo as /usr/local/share/locale/el/LC_MESSAGES/mousepad.mo
installing en_AU.gmo as /usr/local/share/locale/en_AU/LC_MESSAGES/mousepad.mo
installing en_GB.gmo as /usr/local/share/locale/en_GB/LC_MESSAGES/mousepad.mo
installing es.gmo as /usr/local/share/locale/es/LC_MESSAGES/mousepad.mo
installing et.gmo as /usr/local/share/locale/et/LC_MESSAGES/mousepad.mo
installing eu.gmo as /usr/local/share/locale/eu/LC_MESSAGES/mousepad.mo
installing fa_IR.gmo as /usr/local/share/locale/fa_IR/LC_MESSAGES/mousepad.mo
installing fi.gmo as /usr/local/share/locale/fi/LC_MESSAGES/mousepad.mo
installing fr.gmo as /usr/local/share/locale/fr/LC_MESSAGES/mousepad.mo
installing gl.gmo as /usr/local/share/locale/gl/LC_MESSAGES/mousepad.mo
installing he.gmo as /usr/local/share/locale/he/LC_MESSAGES/mousepad.mo
installing hr.gmo as /usr/local/share/locale/hr/LC_MESSAGES/mousepad.mo
installing hu.gmo as /usr/local/share/locale/hu/LC_MESSAGES/mousepad.mo
installing hy_AM.gmo as /usr/local/share/locale/hy_AM/LC_MESSAGES/mousepad.mo
installing hye.gmo as /usr/local/share/locale/hye/LC_MESSAGES/mousepad.mo
installing id.gmo as /usr/local/share/locale/id/LC_MESSAGES/mousepad.mo
installing ie.gmo as /usr/local/share/locale/ie/LC_MESSAGES/mousepad.mo
installing is.gmo as /usr/local/share/locale/is/LC_MESSAGES/mousepad.mo
installing it.gmo as /usr/local/share/locale/it/LC_MESSAGES/mousepad.mo
installing ja.gmo as /usr/local/share/locale/ja/LC_MESSAGES/mousepad.mo
installing kk.gmo as /usr/local/share/locale/kk/LC_MESSAGES/mousepad.mo
installing ko.gmo as /usr/local/share/locale/ko/LC_MESSAGES/mousepad.mo
installing lt.gmo as /usr/local/share/locale/lt/LC_MESSAGES/mousepad.mo
installing ms.gmo as /usr/local/share/locale/ms/LC_MESSAGES/mousepad.mo
installing nb.gmo as /usr/local/share/locale/nb/LC_MESSAGES/mousepad.mo
installing nl.gmo as /usr/local/share/locale/nl/LC_MESSAGES/mousepad.mo
installing nn.gmo as /usr/local/share/locale/nn/LC_MESSAGES/mousepad.mo
installing oc.gmo as /usr/local/share/locale/oc/LC_MESSAGES/mousepad.mo
installing pl.gmo as /usr/local/share/locale/pl/LC_MESSAGES/mousepad.mo
installing pt.gmo as /usr/local/share/locale/pt/LC_MESSAGES/mousepad.mo
installing pt_BR.gmo as /usr/local/share/locale/pt_BR/LC_MESSAGES/mousepad.mo
installing ro.gmo as /usr/local/share/locale/ro/LC_MESSAGES/mousepad.mo
installing ru.gmo as /usr/local/share/locale/ru/LC_MESSAGES/mousepad.mo
installing sk.gmo as /usr/local/share/locale/sk/LC_MESSAGES/mousepad.mo
installing sl.gmo as /usr/local/share/locale/sl/LC_MESSAGES/mousepad.mo
installing sq.gmo as /usr/local/share/locale/sq/LC_MESSAGES/mousepad.mo
installing sr.gmo as /usr/local/share/locale/sr/LC_MESSAGES/mousepad.mo
installing sv.gmo as /usr/local/share/locale/sv/LC_MESSAGES/mousepad.mo
installing te.gmo as /usr/local/share/locale/te/LC_MESSAGES/mousepad.mo
installing th.gmo as /usr/local/share/locale/th/LC_MESSAGES/mousepad.mo
installing tr.gmo as /usr/local/share/locale/tr/LC_MESSAGES/mousepad.mo
installing ug.gmo as /usr/local/share/locale/ug/LC_MESSAGES/mousepad.mo
installing uk.gmo as /usr/local/share/locale/uk/LC_MESSAGES/mousepad.mo
installing zh_CN.gmo as /usr/local/share/locale/zh_CN/LC_MESSAGES/mousepad.mo
installing zh_TW.gmo as /usr/local/share/locale/zh_TW/LC_MESSAGES/mousepad.mo
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8/po' から出ます
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' に入ります
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' に入ります
make[2]: 'install-exec-am' に対して行うべき事はありません.
 /usr/bin/mkdir -p '/usr/local/share/metainfo'
 /usr/bin/install -c -m 644 org.xfce.mousepad.appdata.xml '/usr/local/share/metainfo'
 /usr/bin/mkdir -p '/usr/local/share/applications'
 /usr/bin/install -c -m 644 org.xfce.mousepad.desktop org.xfce.mousepad-settings.desktop '/usr/local/share/applications'
 /usr/bin/mkdir -p '/usr/local/share/polkit-1/actions'
 /usr/bin/install -c -m 644 org.xfce.mousepad.policy '/usr/local/share/polkit-1/actions'
make[2]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' から出ます
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' から出ます

→インストールできました。「/usr/local/」にインストールされました。

-


11). 「mousepad」が起動できるか確認:

-

(1). バージョン確認:
$ mousepad --version
mousepad: error while loading shared libraries: libmousepad.so.0: cannot open shared object file: No such file or directory

→バージョン確認にてエラー。依存が足りないみたい。

-

(2). 依存のインストール:
$ apt search libmousepad
:
libmousepad-dev/jammy 0.5.8-1 amd64
  development files for libmousepad

libmousepad0/jammy 0.5.8-1 amd64
  mousepad plugins library
$ sudo apt install libmousepad0
:
以下のパッケージが新たにインストールされます:
  libmousepad0

-

(3). 再度、バージョンを確認:
$ mousepad --version
Mousepad 0.5.8

Copyright (C) 2005-2021
    The Mousepad developers. All rights reserved.

バグの報告は <https://gitlab.xfce.org/apps/mousepad> までお願いします。

-

(4). 起動した画面:

→日本語入力できました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --

4. 「./configure」を使い、Mousepad をビルドする場合:

-

公式サイト

-

1). インストールした「Mousepad」を削除しておきます:

$ cd ~/ダウンロード/mousepad/mousepad-mousepad-0.5.8/
$ sudo make uninstall
:
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-mousepad-0.5.8' から出ます

-


2). Mousepad のソース「mousepad-0.5.8.tar.bz2」をダウンロード:

mousepad 0.5.8 released (2021/11/26 10:59)

ダウンロードされた「mousepad-0.5.8.tar.bz2」を任意のフォルダに移動

-


3). チェックサムの確認:

$ cd  ~/ダウンロード/mousepad/
$ sha256sum mousepad-0.5.8.tar.bz2
921ebbcfdfd5e2e56f31a5177a2d26f46c758cc972595017bca9e0a6a3c3a721  mousepad-0.5.8.tar.bz2

-


4). 右クリック→「ここで展開」

$ cd ~/ダウンロード/mousepad/

$ ls
mousepad-0.5.8
mousepad-0.5.8.tar.bz2

$ cd mousepad-0.5.8
$ ls
AUTHORS      aclocal.m4    icons                mousepad
COPYING      compile       install-sh           org.xfce.mousepad-settings.desktop.in.in
ChangeLog    config.guess  intltool-extract.in  org.xfce.mousepad.appdata.xml.in
Makefile.am  config.h.in   intltool-merge.in    org.xfce.mousepad.desktop.in.in
Makefile.in  config.sub    intltool-update.in   org.xfce.mousepad.policy.in.in
NEWS         configure     ltmain.sh            plugins
README.md    configure.ac  m4                   po
THANKS       depcomp       missing

→「./configure」を使ってビルドするファイル構成です。

-


5). インストールガイドを確認

mousepad-0.5.8/README.md より抜粋:

-

ビルド:
    % tar xf mousepad-<version>.tar.bz2
    % cd mousepad-<version>
    % ./configure
    % make
    % make install

-

依存するパッケージ

-

オプションの依存パッケージ

-


6). 「./configure」を実行:

$ cd ~/ダウンロード/mousepad/mousepad-0.5.8/
$ ./configure
:
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... (cached) yes
checking whether make supports the include directive... yes (GNU style)
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether the compiler supports GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to enable C11 features... (cached) none needed
checking whether gcc understands -c and -o together... (cached) yes
checking dependency style of gcc... (cached) gcc3
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking how to print strings... printf
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether NLS is requested... yes
checking for intltool >= 0.35.0... 0.51.0 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.32.1
checking for XML::Parser... ok
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for library containing round... -lm
checking for realpath... yes
checking for errno.h... yes
checking for libintl.h... yes
checking for locale.h... yes
checking for math.h... yes
checking for stdio.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for bind_textdomain_codeset... yes
checking for locales directory... ${prefix}/share/locale
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for glib-2.0 >= 2.52.0... 2.71.0                   ← ★
checking GLIB_CFLAGS... -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GLIB_LIBS... -lglib-2.0
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gmodule-2.0 >= 2.52.0... 2.71.0                 ← ★
checking GMODULE_CFLAGS... -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GMODULE_LIBS... -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gtk+-3.0 >= 3.22.0... 3.24.30                  ← ★
checking GTK_CFLAGS... -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GTK_LIBS... -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
checking for GTKSOURCEVIEW... yes
checking for GTKSOURCEVIEW... yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for gspell-1 >= 1.6.0... 1.9.1           ← ★
checking GSPELL_CFLAGS... -pthread -I/usr/include/gspell-1 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/enchant-2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
checking GSPELL_LIBS... -lgspell-1 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lenchant-2
checking whether to build the gspell plugin... yes
checking whether to build the test plugin... no
checking whether to build with debugging support... minimum
checking if gcc supports -Wall... yes
checking if gcc supports -Wextra... yes
checking if gcc supports -Wno-missing-field-initializers... yes
checking if gcc supports -Wno-unused-parameter... yes
checking if gcc supports -Wmissing-declarations... yes
checking if gcc supports -Wmissing-noreturn... yes
checking if gcc supports -Wpointer-arith... yes
checking if gcc supports -Wcast-align... yes
checking if gcc supports -Wformat... yes
checking if gcc supports -Wformat-security... yes
checking if gcc supports -Wformat-y2k... yes
checking if gcc supports -Winit-self... yes
checking if gcc supports -Wmissing-include-dirs... yes
checking if gcc supports -Wundef... yes
checking if gcc supports -Wredundant-decls... yes
checking if gcc supports -Wshadow... yes
checking if gcc supports -Wdeclaration-after-statement... yes
checking if gcc supports -Wnested-externs... yes
checking if gcc supports -Wold-style-definition... yes
checking if gcc supports -Wall... yes
checking if gcc supports -Wextra... yes
checking if gcc supports -Wno-missing-field-initializers... yes
checking if gcc supports -Wno-unused-parameter... yes
checking if gcc supports -Wmissing-declarations... yes
checking if gcc supports -Wmissing-noreturn... yes
checking if gcc supports -Wpointer-arith... yes
checking if gcc supports -Wcast-align... yes
checking if gcc supports -Wformat... yes
checking if gcc supports -Wformat-security... yes
checking if gcc supports -Wformat-y2k... yes
checking if gcc supports -Winit-self... yes
checking if gcc supports -Wmissing-include-dirs... yes
checking if gcc supports -Wundef... yes
checking if gcc supports -Wredundant-decls... yes
checking if gcc supports -Wshadow... yes
checking whether /usr/bin/ld -m elf_x86_64 accepts --as-needed... yes
checking whether /usr/bin/ld -m elf_x86_64 accepts -O1... yes
checking PLATFORM_CPPFLAGS... 
checking PLATFORM_CFLAGS... 
checking PLATFORM_LDFLAGS... 
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating mousepad/Makefile
config.status: creating plugins/Makefile
config.status: creating plugins/gspell-plugin/Makefile
config.status: creating plugins/test-plugin/Makefile
config.status: creating po/Makefile.in
config.status: creating icons/Makefile
config.status: creating icons/16x16/Makefile
config.status: creating icons/48x48/Makefile
config.status: creating icons/128x128/Makefile
config.status: creating icons/scalable/Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po/stamp-it commands

Build Configuration:

* Debug Support:              minimum
* Use keyfile backend:        default
* Build with GtkSourceView 4: yes

Plugins:

* gspell:                     yes
* test:                       no

-

「./configure」を実行後:
$ ls
AUTHORS      compile        icons                org.xfce.mousepad-settings.desktop.in.in
COPYING      config.guess   install-sh           org.xfce.mousepad.appdata.xml.in
ChangeLog    config.h       intltool-extract.in  org.xfce.mousepad.desktop.in.in
Makefile     config.h.in    intltool-merge.in    org.xfce.mousepad.policy.in.in
Makefile.am  config.log     intltool-update.in   plugins
Makefile.in  config.status  libtool              po
NEWS         config.sub     ltmain.sh            stamp-h1
README.md    configure      m4
THANKS       configure.ac   missing
aclocal.m4   depcomp        mousepad

-


7). 「make」を実行:

$ cd ~/ダウンロード/mousepad/mousepad-0.5.8/
$ make
:
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-0.5.8' から出ます

-


8). 「sudo make install」を実行:

$ cd ~/ダウンロード/mousepad/mousepad-0.5.8/
$ sudo make install
:
make[1]: ディレクトリ '/home/ubn/ダウンロード/mousepad/mousepad-0.5.8' から出ます

-


9). 確認:

-

(1). バージョン確認:
$ mousepad --version
Mousepad 0.5.8

Copyright (C) 2005-2021
    The Mousepad developers. All rights reserved.

バグの報告は <https://gitlab.xfce.org/apps/mousepad> までお願いします。

-

(2). 起動した画面:

→日本語入力できました。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---

5. 参考: GtkSourceView をビルドして入手する場合:

-

参考:

最新の「gtksourceview-5 (5.3.3)」があったのでビルド:

-

GtkSourceView ダウンロード:

GtkSourceView Downloads Tarballs

-

gtksourceview-3.99.7.tar.xz 1.3 MiB 2017-Dec-09 12:14

gtksourceview-4.99.0.tar.xz 1.1 MiB 2021-Feb-12 19:21

gtksourceview-5.3.2.tar.xz 1.2 MiB 2022-Jan-09 18:23

-

gtksourceview-5.3.2.tar.xz

→青い「Clone」の左隣りの「↓」(Download) をクリック→「tar.gz」→「ファイルを保存する」

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----

6. 参考: GTK をビルドして入手する場合:

-


1). GTK のダウンロード:

[Setting up GTK for GNU/Linux and Unix ] (https://www.gtk.org/docs/installations/linux/)

-

GTK の環境を構築するには、以下のすべての依存関係をインストールします。

GTK の現在のバージョンは4.0 です:

-

GTK

GLib

Pango

Gdk-pixbuf

ATK

GObject-Introspection

Epoxy

-

GTK をビルドするには、インストールガイド を参照:

-

さらにヘルプが必要な場合は、よくある質問のページ を参照:

-


2). GTKのビルド

https://docs.gtk.org/gtk4/building.html

多くの場合、オペレーティングシステム用のGTKのバイナリパッケージが入手できることを述べておく必要があります。

GTK をビルドするには、システムに「meson」をインストールする必要があります。

Linuxやその他のUNIXライクなオペレーティングシステムでは、「ninja」も必要になります。

ソース または Git クローンからGTK をビルドする場合は、「meson」を使用してプロジェクトを構成する必要があります。

役立つ引数は --prefix 引数で、インストール後にファイルがどこに移動するかを決定します。

-

/opt/gtkGTK をインストールする場合:
meson setup --prefix /opt/gtk builddir

-

Meson はbuilddir ディレクトリを作成し、そこにすべてのビルドアーティファクトを配置します。

「meson configure」を実行すると、ビルドで使用可能なすべてのオプションのリストを取得できます。

Meson がビルドディレクトリを正常に構成した後、

Ninja を使用してビルドを実行:

cd builddir
ninja
ninja install

-

インストール先のディレクトリに書き込む権限がない場合は、ninja install を実行する前に一時的にroot に変更する必要があります。

-

いくつかの環境変数は、meson を実行する前に設定します:

CPPFLAGS 変数は、Cコンパイラに渡すオプションが含まれており、インクルードファイルを探す場所をコンパイラに指示するために使用されます。

LDFLAGS 変数は、リンカーに対して同様の方法で使用されます。

PKG_CONFIG_PATH 環境変数には、さまざまなライブラリを使用してプログラムをコンパイルする方法を説明するファイルを検索するときに pkg-config が使用する検索パスが含まれています。

-

GTK とその依存関係を /opt/gtk にインストールする場合の、オススメの設定:

LD_LIBRARY_PATH="/opt/gtk/lib"
PATH="/opt/gtk/bin:$PATH"
export LD_LIBRARY_PATH PATH

-

Build types(ビルドタイプ)

Meson にはさまざまなビルドタイプがあり、buildtype 構成オプションによって公開されます。

GTKは、ビルドを構成するためにmeson を呼び出すときに使用されるビルドタイプに応じて、機能を有効または無効にします。

-

(1). Debug ビルド

buildtypeをデバッグに設定したビルドでは、ツールキットの内部状態の整合性チェックがさらに有効になります。

GTK自体を開発するときは、debugまたはdebugoptimizedビルドタイプを使用することをお勧めします。さらに、GTKデバッグビルドは、内部状態の追加の検証が含まれているため、GTKアプリケーションのプロファイリングとデバッグに推奨されます。

-

(2). Release ビルド

-


3). 依存関係:

GTK widget ツールキット をコンパイルする前に、システムに他のさまざまなツールやライブラリをインストールする必要があります。

-

(1). pkg-config

GTK が依存関係を見つけるために使用する特に重要なツールは pkg-config です。

pkg-config は、GTKライブラリで使用されるライブラリに必要なコンパイルフラグを追跡するためのツールです。

(ライブラリごとに、小さな.pcテキストファイルが標準の場所にインストールされます。このファイルには、そのライブラリに必要なコンパイルフラグとバージョン番号情報が含まれています。)

GTK が依存するライブラリのいくつかはGTK チームによって維持されています: GLib、GdkPixbuf、Pango、GObjectIntrospection

他のライブラリは個別に管理されます。

-

(2). GLib ライブラリ

高レベルのデータ型、Unicode操作、オブジェクトと型システムなどのコアの非グラフィカル機能をCプログラムに提供

こちらから入手:

https://download.gnome.org/sources/glib/

-

(3). GdkPixbuf ライブラリ

さまざまなファイル形式で画像をロードするための機能を提供

こちらから入手:

https://download.gnome.org/sources/gdk-pixbuf/

-

(4). Pango

国際化されたテキスト処理のためのライブラリ

こちらから入手:

https://download.gnome.org/sources/pango/

-

(5). GObject Introspection

イントロスペクションデータを言語バインディングで利用できるようにするためのフレームワーク

こちらから入手:

https://download.gnome.org/sources/gobject-introspection/

-

(6). GNUlibiconv ライブラリ

システムに文字エンコード間の変換を行うための iconv() 関数がない場合は、GLib を構築するために「GNUlibiconv」ライブラリが必要

最近のほとんどのシステムには iconv() が必要です:

こちらから入手:

https://www.gnu.org/software/libiconv/

-

(7). GNUgettext

システムにメッセージ変換データベースを処理するためのgettext() 機能がない場合は、「GNUgettext」パッケージの libintl ライブラリが必要

こちらから入手:

https://www.gnu.org/software/gettext/

-

(8). Pango とGTK をビルドするには、X ウィンドウシステムのライブラリが必要

すでにシステムにインストールされているはずですが、これらのライブラリの開発環境をインストールする必要がある可能性があります。

-

(9). fontconfig ライブラリ

Pango にフォントを検索し、フォント名と照合する標準的な方法を提供

こちらから入手:

https://www.freedesktop.org/wiki/Software/fontconfig/

-

(10). Cairo

ベクターグラフィックスと画像合成をサポートするグラフィックスライブラリ

Pango とGTK はどちらも、描画にCairo を使用しています。補助的な「cairo-gobject」ライブラリも必要であることに注意

こちらから入手:

https://www.cairographics.org/

-

(11). libepoxy

異なるOpenGL ライブラリ間の違いを抽象化するライブラリ

GTK は、クロスプラットフォームのGL サポートと独自の描画に使用します。

こちらから入手:

https://github.com/anholt/libepoxy

-

(12). Graphene

2D および3D 変換用のベクトルおよび行列タイプを提供するライブラリ

GTK はそれを内部的に描画に使用します。

こちらから入手:

http://ebassi.github.io/graphene/

-

(13). Wayland ライブラリ

Wayland バックエンドでGTK を構築するには、Wayland ライブラリが必要。

こちらから入手:

https://wayland.freedesktop.org/

-

(14). shared-mime-info パッケージ

GTK の強い依存関係ではありませんが、 GIO および間接的にGTK によって使用されるmime タイプの定義が含まれています。

-

(15). gdk-pixbuf

可能であればmime タイプの検出にGIO を使用します

機能させるには、shared-mime-info をインストールし、構成時にXDG_DATA_DIRS を適宜設定する必要があります。 それ以外の場合、gdk-pixbuf は組み込みのmime タイプ検出にフォールバックします。

こちらから入手:

https://www.freedesktop.org/wiki/Software/shared-mime-info

-


4). GTKのビルドとテスト

-

(1). 必要な外部依存関係がインストールされていることを確認:

pkg-config、Meson、Ninja、JPEGPNGTIFF ライブラリ、FreeType、および必要に応じてlibiconv とlibintl です。

-

(2). GTK ライブラリをGLib、Cairo、Pango、GTK の順にビルドしてインストール:

GTK に個別のプレフィックスを使用している場合は、構築するすべての依存関係に同じプレフィックスを使用する必要があります。

-

(3). GTK がインストールするgtk4-demo プログラムを実行

GTK のインストールをテストできます。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----

7. 参考: Meson について

-

GTK などをビルドして入手するには、「meson」をインストールする必要があります

-

参考:

The Meson Build system

-

抜粋:

GNOME 系のソフトウェア(つまり、Fedora)を中心に、「Meson」というビルドシステムの利用が広がっています。

-

Meson は、ビルドを自動化するためのソフトウェアで、Python で書かれています。 pip でインストールするときは、必ず Python 3 バージョンのpip を使うことになります。

CMake の代わりに「Meson」を使い、Make の代わりに「Ninja」を使うビルドシステムと言えます。

高速なので、プログラム開発において、ビルドのたびに待たされる時間が短縮できるのが大きな利点です。

-

Meson を用いているプロジェクトはソースツリーに「meson.build」というファイルを置いています。

Meson は直接ソフトウェアをビルドせずに、コンパイルの前準備を扱う処理を行います。 Meson によってNinja のビルドファイルが生成され、それをNinja で使って実際のビルドを行います。

-

Haiku で使える、Python やpip、meson やninja を確認する必要がありました:

-

Haiku でアプリを移植するために、事前にそのアプリをUbuntu でビルドして、ビルド時の動きや、その依存関連を確認しました。必要なパッケージ名を探すときのヒントにもなります。

-


1) . Haiku で使える「Python」と「pip」のバージョンを確認:

-

2022-01-27 現在:

-

置き場所:

dev-lang/python/python3-3.7.12.recipe

dev-python/pip/pip-19.3.1.recipe

> pkgman search python3
:                             
S       python3                         An interpreted, interactive, object-oriented programming 
        python310                       An interpreted, interactive, object-oriented programming 
        python310_source                An interpreted, interactive, object-oriented programming 
S       python38                        An interpreted, interactive, object-oriented programming 
        python38_source                 An interpreted, interactive, object-oriented programming 
        python39                        An interpreted, interactive, object-oriented programming 
        python39_source                 An interpreted, interactive, object-oriented programming 
        python3_source                  An interpreted, interactive, object-oriented programming 

→すでに「python3.7」と「python3.8」がインストールされていました。python の移植は進んでいるようです。

> pkgman search pip_python
:
        pip_python      The PyPA recommended tool for installing Python packages
        pip_python3      The PyPA recommended tool for installing Python packages
        pip_python38     The PyPA recommended tool for installing Python packages
        pip_python39     The PyPA recommended tool for installing Python packages

→pip はインストールされていませんでした。

-

インストール:

> pkgman install pip_python3
> pkgman install pip_python38

→最新にすれば良いわけではないので難しいところ

-

Haiku でインストールしたバージョン:
> pip3.7 --version
pip 19.3.1 from /packages/python3-3.7.12-1/.self/lib/python3.7/vendor-packages/pip (python 3.7)

> pip3.8 --version
pip 19.3.1 from /packages/python38-3.8.12-1/.self/lib/python3.8/vendor-packages/pip (python 3.8)

→python3 (3.7) 、pip3.7、python3.8、が使えました。pip3.8 はインストールしました。

-


2) . Haiku で使える「meson」と「ninja」のバージョンを確認:

2022-01-27 現在:

-

置き場所:

dev-util/meson/meson-0.60.2.recipe

→アプリの移植で使うには、ちょうど良いバージョンかも。

> pkgman install meson
:
  in system:
    install package ninja-1.10.2-3 from repository HaikuPorts
    install package meson-0.60.2-2 from repository HaikuPorts

→「meson」のインストールで「ninja」もインストールされました。

-


3) . Haiku のpkgman でインストールできるバージョン:

meson-0.60.2-2
ninja-1.10.2-3

→「meson」は新しいバージョンになるほど使い方のチェックがされる関数が増えています。このバージョンなら、エラーしても警告ぐらいで停止しません。これ以上のバージョンになると、使い方に誤りがある関数が含まれたライブラリがあると、ビルド途中にエラーで停止します。

例えば、Ubuntu で「meson 0.60.3」を使い、警告は出てもビルドが成功したアプリでも、それ以上のバージョンでビルドしたらエラーで停止しました。ツールとしては正しい方向ですが、アプリの移植で使うには向きません。本来とは違う、余計な工数がかかります。

「ninja」は新しめです。make と同じ役割なので最新で良いと思います。

-

Haiku のpip で「meson」と「ninja」をインストールしての確認は未実施。たぶん、そのときはプログラム開発に使うことになり、pkgman でインストールできるバージョンは(自動インストールされるため)レシピファイル中で使われることになりそう。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -

8. 参考: バージョン管理ができるように、pip でmeson をインストール:

-

Ubuntu 22.04 にて、Haiku の環境とアプリのバージョンを合わせました。

-

1). apt で「meson」と「ninja」があったら削除

$ apt list meson ninja-build
:
meson/jammy,jammy,now 0.61.1-1 all [インストール済み]
ninja-build/jammy,now 1.10.1-1 amd64 [インストール済み、自動]

-

削除:

$ sudo apt remove meson ninja-build
:
以下のパッケージは「削除」されます:
  meson ninja-build
$ sudo apt autoremove
:
以下のパッケージは「削除」されます:
  libcbor0.6 python-pip-whl

-

$ whereis pip
pip: /usr/bin/pip /usr/share/man/man1/pip.1.gz

$ pip list | grep pip
pip                    21.3.1

$ pip --version
pip 21.3.1 from /usr/lib/python3/dist-packages/pip (python 3.9)

-

$ apt list python python2.7 python3 python3.7 python3.8 python3.9 python3.10
:
python2.7/jammy 2.7.18-8build1 amd64
python3.10/jammy,now 3.10.2-1 amd64 [インストール済み、自動]
python3.9/jammy,now 3.9.10-1 amd64 [インストール済み、自動]
python3/jammy,now 3.9.7-4 amd64 [インストール済み]

Ubuntu 22.04 では「python3」のインストールで、「python3.9」と「python3.10」がインストールされていました。そして「python3.7」と「python3.8」のリポジトリの登録はありません。

  • 「python3」とした場合、デフォルトでインストールされているpython のリリースバージョンが起動されます。 ただし、バージョンはまったく同じではありません。別のパッケージです。
python3.9 :  3.9.10-1 
python3 :  3.9.7-4

-

ちなみに、「python3」で使われるのは、Haiku では「python3.7」で、Ubuntu 20.04.3 では「python3.8」で、 Ubuntu 22.04 では「python3.9」でした。

-

Haiku :

$ python3 --version
Python 3.7.12

-

Ubuntu 20.04.3 :

$ python3 --version
Python 3.8.10

-

Ubuntu 22.04 :

$ python3 --version
Python 3.9.10

-

$ python -m pip --version
コマンド 'python' が見つかりません。

$ python3 -m pip --version
pip 21.3.1 from /usr/lib/python3/dist-packages/pip (python 3.9)

$ python3.9 -m pip --version
pip 21.3.1 from /usr/lib/python3/dist-packages/pip (python 3.9)

→ここで起動されているpython3.9 は微妙に違うバージョンが起動されていますが、 pip の方は同じpython3 という共通のフォルダにあります。

-

$ apt list python3-pip
:
python3-pip/jammy,jammy,now 21.3.1+dfsg-3 all [インストール済み]

→python3.x で共通に使われるpip ということみたい。

ちなみに、Haiku では、

> pkgman search python3 | grep pip
S       pip_python3           The PyPA recommended tool for installing Python packages
S       pip_python38          The PyPA recommended tool for installing Python packages
        pip_python39          The PyPA recommended tool for installing Python packages

→各python のバージョンごとにpip のパッケージが存在します。

> pip3 --version
bash: ./pip3: Permission denied

> pip3.7 --version
pip 19.3.1 from /packages/python3-3.7.12-1/.self/lib/python3.7/vendor-packages/pip (python 3.7)

> pip3.8 --version
pip 19.3.1 from /packages/python38-3.8.12-1/.self/lib/python3.8/vendor-packages/pip (python 3.8)

→「pip3」のコマンドはありません。pip も各バージョンごとのフォルダに落ちています。フォルダもパッケージ化で使われるフォルダ名がそのまま使われています。

-

$ python3 -m pip list | grep pip
pip                    21.3.1

$ pip3 list | grep pip
pip                    21.3.1

-

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/ubn/.local/bin
$ ls /home/ubn/.local/bin
ls: '/home/ubn/.local/bin' にアクセスできません: そのようなファイルやディレクトリはありません

-

2). Haiku のpip でインストール可能な「meson」のバージョン番号があることを調べました:

$ pip3 install meson==
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement meson== (from versions: 0.29.0.dev1, 0.29.0.dev2, 0.29.0.dev3, 0.29.0, 0.30.0, 0.31.0, 0.32.0, 0.33.0, 0.34.0, 0.35.0, 0.35.1, 0.36.0, 0.37.0, 0.37.1, 0.38.0, 0.38.1, 0.39.0, 0.39.1, 0.40.0, 0.40.1, 0.41.0, 0.41.1, 0.41.2, 0.42.0, 0.42.1, 0.43.0, 0.44.0, 0.44.1, 0.45.0, 0.45.1, 0.46.0, 0.46.1, 0.47.0, 0.47.1, 0.47.2, 0.48.0, 0.48.1, 0.48.2, 0.49.0, 0.49.1, 0.49.2, 0.50.0, 0.50.1, 0.51.0, 0.51.1, 0.51.2, 0.52.0, 0.52.1, 0.53.0, 0.53.1, 0.53.2, 0.54.0, 0.54.1, 0.54.2, 0.54.3, 0.55.0, 0.55.1, 0.55.2, 0.55.3, 0.56.0rc1, 0.56.0rc2, 0.56.0, 0.56.1, 0.56.2, 0.57.0rc1, 0.57.0, 0.57.1, 0.57.2, 0.58.0rc1, 0.58.0, 0.58.1, 0.58.2, 0.59.0rc1, 0.59.0rc2, 0.59.0, 0.59.1, 0.59.2, 0.59.3, 0.59.4, 0.60.0rc1, 0.60.0rc2, 0.60.0, 0.60.1, 0.60.2, 0.60.3, 0.61.0rc1, 0.61.0, 0.61.1)
ERROR: No matching distribution found for meson==

→バージョン番号を指定しないで、わざとエラーメッセージを表示させます。

Haiku で使える「meson 0.60.2」のバージョンがあることを確認

-

和訳: 通常のサイトパッケージは書き込み可能ではないため、デフォルトで「ユーザーインストール」になります

→「--user」指定しなくても「ユーザーインストール」になるようです。

-

3). Haiku のpip でインストール可能な「ninja」のバージョン番号があることを調べました:

$ pip3 install ninja==
Defaulting to user installation because normal site-packages is not writeable
ERROR: Could not find a version that satisfies the requirement ninja== (from versions: 1.5.3, 1.7.2, 1.7.2.post1, 1.7.2.post2, 1.8.2, 1.8.2.post1, 1.8.2.post2, 1.9.0, 1.9.0.post1, 1.10.0, 1.10.0.post1, 1.10.0.post2, 1.10.0.post3, 1.10.2, 1.10.2.1, 1.10.2.2, 1.10.2.3)
ERROR: No matching distribution found for ninja==

Haiku で使える「ninja 1.10.2.3」のバージョンがあることを確認

-

4). 参考: 「ユーザインストール」指定でのインストール先を確認:

$ python3 -m site --user-base
/home/ubn/.local

→ユーザの「ベースバイナリディレクトリ」は「~/.local」です。

ちなみに、Haiku だと、

> python3.7 -m site --user-base
/boot/home/config/non-packaged

-

そして、端末でpython がらみのコマンドを使うと、一時的?なフォルダが作成されました:

Haiku のデフォルトの作業フォルダは「デスクトップ」のようです。meson で使った「builddir」があることに注目。

-

5). 「meson」を「ユーザインストール」指定でインストール:

$ python3 -m pip install --user meson
Collecting meson
  Downloading meson-0.61.1-py3-none-any.whl (850 kB)
     |████████████████████████████████| 850 kB 1.8 MB/s            
Installing collected packages: meson
Successfully installed meson-0.61.1

→最新版がインストールされます。

-

6). バージョンの指定を忘れたので、一旦、削除:

$ pip3 uninstall meson
Found existing installation: meson 0.61.1
Uninstalling meson-0.61.1:
  Would remove:
    /home/ubn/.local/bin/meson
    /home/ubn/.local/lib/python3.9/site-packages/meson-0.61.1.dist-info/*
    /home/ubn/.local/lib/python3.9/site-packages/mesonbuild/*
    /home/ubn/.local/share/man/man1/meson.1
    /home/ubn/.local/share/polkit-1/actions/com.mesonbuild.install.policy
Proceed (Y/n)? 
  Successfully uninstalled meson-0.61.1

→「~/.local/」にインストールされていました。 なので、管理者権限は必要ありません。

-

7). 「meson」を「ユーザインストール」とバージョンを指定してインストール:

$ python3 -m pip install --user meson==0.60.2
Collecting meson==0.60.2
  Downloading meson-0.60.2-py3-none-any.whl (838 kB)
     |████████████████████████████████| 838 kB 1.6 MB/s            
Installing collected packages: meson
Successfully installed meson-0.60.2

-

8). 「ninja」を「ユーザインストール」の指定でインストール:

$ python3 -m pip install --user ninja==1.10.2.3
Collecting ninja==1.10.2.3
  Using cached ninja-1.10.2.3-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (108 kB)
Installing collected packages: ninja
Successfully installed ninja-1.10.2.3

→以前使ったことのあるイメージが使われました。

-

9). 認識させるため、端末を再起動してから、確認:

-

10). 実行ファイルのパスの確認:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin:/home/ubn/.local/bin

-

11). 実行ファイルの場所を確認:

$ whereis meson
meson: /home/ubn/.local/bin/meson

$ whereis ninja
ninja: /home/ubn/.local/bin/ninja

$ which meson
/home/ubn/.local/bin/meson

$ which ninja
/home/ubn/.local/bin/ninja
$ ls -l ~/.local/bin
:
-rwxrwxr-x 1 ubn ubn 219  1月 29 00:38 meson
-rwxrwxr-x 1 ubn ubn 206  1月 29 00:38 ninja

-

12). バージョンの確認:

-

Ubuntu 22.04 の場合:
$ meson --version
0.60.2

$ ninja --version
1.10.2.git.kitware.jobserver-1

→ninja はpip でインストールしているのでpip で更新しなければバージョンはアップされません。

-

インストール済みのライブラリが最新版かチェック
$ pip list --outdated | grep meson
meson              0.60.2        0.61.1       wheel

$ pip list --outdated | grep ninja
$ 

→最新版であれば表示されません。 ninja は最新で、meson はバージョンを落としているので正解です。

-

python の設定内容の表示:
$ python3 -m sysconfig
:
Platform: "linux-x86_64"
Python version: "3.9"
Current installation scheme: "posix_prefix"

Paths: 
    data = "/usr"
    include = "/usr/include/python3.9"
    platinclude = "/usr/include/python3.9"
    platlib = "/usr/lib/python3.9/site-packages"
    platstdlib = "/usr/lib/python3.9"         ← ★
    purelib = "/usr/lib/python3.9/site-packages"    ← ★
    scripts = "/usr/bin"
    stdlib = "/usr/lib/python3.9"
:
    abs_builddir = "/build/python3.9-065Vcb/python3.9-3.9.10/build-shared"
    abs_srcdir = "/build/python3.9-065Vcb/python3.9-3.9.10/build-shared/.."
    base = "/usr"
    datarootdir = "/usr/share"
    exec_prefix = "/usr"
    installed_base = "/usr"
    installed_platbase = "/usr"
    multiarchsubdir = "/x86_64-linux-gnu"
    platbase = "/usr"
    platlibdir = "lib"
    prefix = "/usr"
    projectbase = "/usr/bin"
    py_version = "3.9.10"
    py_version_nodot = "39"
    py_version_short = "3.9"
    srcdir = "/usr/lib/python3.9/config-3.9-x86_64-linux-gnu"
    userbase = "/home/ubn/.local"      ← ★

-


-

Haiku の場合:
> meson --version
0.60.2

> ninja --version
1.10.2

→ninja はpkgman でインストールしているのでシステム更新があればバージョンがアップされます。

-

python の設定内容の表示:
> python3 -m sysconfig
:
Platform: "haiku-1-x86_64"
Python version: "3.7"
Current installation scheme: "posix_prefix"

Paths: 
        data = "/packages/python3-3.7.12-1/.self"
        include = "/packages/python3-3.7.12-1/.self/include/python3.7m"
        platinclude = "/packages/python3-3.7.12-1/.self/include/python3.7m"
        platlib = "/packages/python3-3.7.12-1/.self/lib/python3.7/site-packages"
        platstdlib = "/packages/python3-3.7.12-1/.self/lib/python3.7"      ← ★
        purelib = "/packages/python3-3.7.12-1/.self/lib/python3.7/site-packages" ← ★
        scripts = "/packages/python3-3.7.12-1/.self/bin"
        stdlib = "/packages/python3-3.7.12-1/.self/lib/python3.7"
:
        abs_builddir = "/sources/Python-3.7.12"
        abs_srcdir = "/sources/Python-3.7.12"
        base = "/packages/python3-3.7.12-1/.self"
        datarootdir = "/packages/python3-3.7.12-1/.self/data"
        exec_prefix = "/packages/python3-3.7.12-1/.self"
        installed_base = "/packages/python3-3.7.12-1/.self"
        installed_platbase = "/packages/python3-3.7.12-1/.self"
        platbase = "/packages/python3-3.7.12-1/.self"
        prefix = "/packages/python3-3.7.12-1/.self"
        projectbase = "/boot/system/bin"
        py_version = "3.7.12"
        py_version_nodot = "37"
        py_version_short = "3.7"
        srcdir = "/boot/system/lib/python3.7/config-3.7m"
        userbase = "/boot/home/.local"      ← ★

Haiku は個人専用のOS なので、ホームにユーザ名を分けるフォルダは(今のところ)ありません。使うのは自由。

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --

9. 参考: Ubuntu 22.04 の場合の「pkg-config」について

-

Haiku では、パッケージ化の実行中のpkg-config にて、「glib-2.0」は見つかっても「gtk+-3.0」は見つかりません。 参考にするため Ubuntu で確認しました。

-

Haiku でのエラー:

> pkg-config --cflags gtk+-3.0
Package xext was not found in the pkg-config search path.
Perhaps you should add the directory containing `xext.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xext', required by 'cairo', not found

-

Ubuntu 22.04 の場合:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu Jammy Jellyfish (development branch)"

$ uname -r
5.15.0-18-generic

-

パスの設定の確認:

$ echo $PKG_CONFIG_PATH
$

→設定なし

-

参考: もし、認識されず設定する場合:
$ nano ~/.bashrc

export PKG_CONFIG_PATH==/usr/local/lib/pkgconfig

-

pkg-config が検索するライブラリの場所を確認:

$ pkg-config --version
0.29.2

$ pkg-config --variable pc_path pkg-config
/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig

-

.pc の一覧を表示:
$ ls /usr/lib/pkgconfig/
ibus-table.pc
$ ls /usr/share/pkgconfig/
adwaita-icon-theme.pc              recordproto.pc
applewmproto.pc                    renderproto.pc
bash-completion.pc                 resourceproto.pc
bigreqsproto.pc                    scrnsaverproto.pc
compositeproto.pc                  shared-mime-info.pc
damageproto.pc                     systemd.pc
dmxproto.pc                        udev.pc
dpmsproto.pc                       videoproto.pc
dri2proto.pc                       wayland-protocols.pc
dri3proto.pc                       xbitmaps.pc
fixesproto.pc                      xcmiscproto.pc
fontsproto.pc                      xextproto.pc
fontutil.pc                        xf86bigfontproto.pc
gi-docgen.pc                       xf86dgaproto.pc
glproto.pc                         xf86driproto.pc
gsettings-desktop-schemas.pc       xf86vidmodeproto.pc
gtk-doc.pc                         xineramaproto.pc
inputproto.pc                      xkbcomp.pc
iso-codes.pc                       xkeyboard-config.pc
kbproto.pc                         xorg-sgml-doctools.pc
mobile-broadband-provider-info.pc  xproto.pc
poppler-data.pc                    xtrans.pc
presentproto.pc                    yelp-xsl.pc
randrproto.pc
$ ls /usr/lib/x86_64-linux-gnu/pkgconfig/
Qt5Concurrent.pc                        libffi.pc
Qt5Core.pc                              libglvnd.pc
Qt5DBus.pc                              libjpeg.pc
Qt5Gui.pc                               liblzma.pc
Qt5Network.pc                           libnsl.pc
Qt5OpenGL.pc                            libpcre.pc
Qt5OpenGLExtensions.pc                  libpcre16.pc
Qt5PrintSupport.pc                      libpcre2-16.pc
Qt5Sql.pc                               libpcre2-32.pc
Qt5Svg.pc                               libpcre2-8.pc
Qt5Test.pc                              libpcre2-posix.pc
Qt5Widgets.pc                           libpcre32.pc
Qt5Xml.pc                               libpcrecpp.pc
atk-bridge-2.0.pc                       libpcreposix.pc
atk.pc                                  libpeas-1.0.pc
atspi-2.pc                              libpeas-gtk-1.0.pc
blkid.pc                                libpng.pc
cairo-fc.pc                             libpng16.pc
cairo-ft.pc                             libpsl.pc
cairo-gobject.pc                        libselinux.pc
cairo-pdf.pc                            libsepol.pc
cairo-png.pc                            libsoup-2.4.pc
cairo-ps.pc                             libthai.pc
cairo-script.pc                         libtiff-4.pc
cairo-svg.pc                            libtirpc.pc
cairo-tee.pc                            libxcrypt.pc
cairo-xcb-shm.pc                        libxfconf-0.pc
cairo-xcb.pc                            libxml-2.0.pc
cairo-xlib-xrender.pc                   mount.pc
cairo-xlib.pc                           opengl.pc
cairo.pc                                pango.pc
datrie-0.2.pc                           pangocairo.pc
dbus-1.pc                               pangofc.pc
egl.pc                                  pangoft2.pc
enchant-2.pc                            pangoot.pc
epoxy.pc                                pangoxft.pc
expat.pc                                pixman-1.pc
fontconfig.pc                           pthread-stubs.pc
freetype2.pc                            pygobject-3.0.pc
fribidi.pc                              python-3.10-dbg-embed.pc
gcalc-2.pc                              python-3.10-dbg.pc
gci-1.pc                                python-3.10-embed.pc
gdk-3.0.pc                              python-3.10.pc
gdk-broadway-3.0.pc                     python-3.10d-embed.pc
gdk-pixbuf-2.0.pc                       python-3.10d.pc
gdk-wayland-3.0.pc                      python-3.9-dbg-embed.pc
gdk-x11-3.0.pc                          python-3.9-dbg.pc
geoclue-2.0.pc                          python-3.9-embed.pc
gio-2.0.pc                              python-3.9.pc
gio-unix-2.0.pc                         python-3.9d-embed.pc
gl.pc                                   python-3.9d.pc
glesv1_cm.pc                            python3-dbg-embed.pc
glesv2.pc                               python3-dbg.pc
glib-2.0.pc                             python3-embed.pc
glu.pc                                  python3.pc
glx.pc                                  python3d-embed.pc
gmodule-2.0.pc                          python3d.pc
gmodule-export-2.0.pc                   sm.pc
gmodule-no-export-2.0.pc                sqlite3.pc
gobject-2.0.pc                          uchardet.pc
gobject-introspection-1.0.pc            uuid.pc
gobject-introspection-no-export-1.0.pc  vapigen-0.54.pc
graphene-1.0.pc                         vapigen.pc
graphene-gobject-1.0.pc                 vulkan.pc
graphite2.pc                            wayland-client.pc
grilo-plugins-0.3.pc                    wayland-cursor.pc
gspell-1.pc                             wayland-egl.pc
gthread-2.0.pc                          wayland-scanner.pc
gtk+-3.0.pc                             wayland-server.pc
gtk+-broadway-3.0.pc                    webkit2gtk-4.0.pc
gtk+-unix-print-3.0.pc                  webkit2gtk-web-extension-4.0.pc
gtk+-wayland-3.0.pc                     x11.pc
gtk+-x11-3.0.pc                         xau.pc
gtk4-unix-print.pc                      xcb-render.pc
gtk4-wayland.pc                         xcb-shm.pc
gtk4-x11.pc                             xcb.pc
gtk4.pc                                 xcomposite.pc
gtksourceview-3.0.pc                    xcursor.pc
gtksourceview-4.pc                      xdamage.pc
harfbuzz-gobject.pc                     xdmcp.pc
harfbuzz-icu.pc                         xext.pc
harfbuzz.pc                             xfixes.pc
ice.pc                                  xft.pc
icu-i18n.pc                             xi.pc
icu-io.pc                               xinerama.pc
icu-uc.pc                               xkbcommon.pc
javascriptcoregtk-4.0.pc                xorg-wacom.pc
libadwaita-1.pc                         xrandr.pc
libbrotlicommon.pc                      xrender.pc
libbrotlidec.pc                         xtst.pc
libbrotlienc.pc                         zlib.pc
libcrypt.pc

-

個人的にビルドしたことのあるパッケージ:
$ ls -1 /usr/local/lib/x86_64-linux-gnu/pkgconfig/
gtksourceview-5.pc

-


1).「gtksourceview-5」の場合:

-

.pc の内容:
$ cat /usr/local/lib/x86_64-linux-gnu/pkgconfig/gtksourceview-5.pc
prefix=/usr/local
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include

Name: gtksourceview-5
Description: Source code editing Gtk+ widget.
Version: 5.3.3
Requires: glib-2.0 >=  2.70, gobject-2.0 >=  2.70, gio-2.0 >=  2.70, gtk4 >=  4.4
Requires.private: fribidi >=  0.19.7, libxml-2.0 >=  2.6, pangoft2, fontconfig, libpcre2-8 >=  10.21
Libs: -L${libdir} -lgtksourceview-5
Libs.private: -lm
Cflags: -I${includedir}/gtksourceview-5

→配置場所、パッケージ名、説明、バージョン、依存、個別の依存、Cコンパイラ等に渡すライブラリ等のパス 等が定義されています。ビルドの依存を探す参考になりそう。ただし、ビルドが成功しないと見れません。

-


2).「gtksourceview-4」の場合:

-

.pc の内容:
$ cat /usr/lib/x86_64-linux-gnu/pkgconfig/gtksourceview-4.pc
prefix=/usr
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include

Name: gtksourceview-4
Description: Source code editing Gtk+ widget.
Version: 4.8.2
Requires: glib-2.0 >=  2.48, gobject-2.0 >=  2.48, gio-2.0 >=  2.48, gtk+-3.0 >=  3.24
Requires.private: libxml-2.0 >=  2.6, fribidi >=  0.19.7
Libs: -L${libdir} -lgtksourceview-4
Cflags: -I${includedir}/gtksourceview-4

-


3).「gtk+-3.0」の場合:

gtk+-3.0」というのは変な名前の付け方と思ったら、「gtk+」-「3.0」ということみたい。

-

.pc の場所を検索:
$ sudo find / -name "gtk+-3.0.pc"
/usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-3.0.pc

-

.pc の内容:
$ cat /usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-3.0.pc
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib/x86_64-linux-gnu
includedir=${prefix}/include
targets=x11 broadway wayland

gtk_binary_version=3.0.0
gtk_host=x86_64-pc-linux-gnu

Name: GTK+
Description: GTK+ Graphical UI Library
Version: 3.24.30
Requires: gdk-3.0 atk >= 2.32.0 cairo >= 1.14.0 cairo-gobject >= 1.14.0 gdk-pixbuf-2.0 >= 2.30.0 gio-2.0 >= 2.57.2
Requires.private: atk atk-bridge-2.0 wayland-client >= 1.14.91 wayland-protocols >= 1.17 xkbcommon >= 0.2.0 wayland-cursor >= 1.14.91 wayland-egl epoxy >= 1.4 fribidi >= 0.19.7 pangoft2 gio-unix-2.0 >= 2.57.2
Libs: -L${libdir} -lgtk-3 
Cflags: -I${includedir}/gtk-3.0 

-

.pc が機能しているか確認:
$ pkg-config --cflags gtk+-3.0
-pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
$ pkg-config --libs gtk+-3.0
-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0

-


4).「glib-2.0」の場合:

-

.pc の場所を検索:
$ sudo find / -name "glib-2.0.pc"
/usr/lib/x86_64-linux-gnu/pkgconfig/glib-2.0.pc

-

.pc の内容:
$ cat /usr/lib/x86_64-linux-gnu/pkgconfig/glib-2.0.pc
prefix=/usr
libdir=${prefix}/lib/x86_64-linux-gnu
includedir=${prefix}/include

bindir=${prefix}/bin
glib_genmarshal=${bindir}/glib-genmarshal
gobject_query=${bindir}/gobject-query
glib_mkenums=${bindir}/glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.71.0
Requires.private: libpcre >=  8.31
Libs: -L${libdir} -lglib-2.0
Libs.private: -pthread -lm
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include

-

.pc が機能しているか確認:
$ pkg-config --cflags glib-2.0
-I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
$ pkg-config --libs glib-2.0
-lglib-2.0

-

-


--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---

10. 参考: Haiku の場合の「pkg-config」について

-

パスが設定されているかを確認:

> echo $PKG_CONFIG_PATH
> 

-

pkg-config が検索するライブラリの場所を確認:

> pkg-config --version
0.29.2

> pkg-config --variable pc_path pkg-config
/boot/home/config/non-packaged/develop/lib/pkgconfig:/boot/home/config/develop/lib/pkgconfig:/boot/system/non-packaged/develop/lib/pkgconfig:/boot/system/develop/lib/pkgconfig:/boot/home/config/non-packaged/data/pkgconfig:/boot/home/config/data/pkgconfig:/boot/system/non-packaged/data/pkgconfig:/boot/system/data/pkgconfig

-

実際に置かれている .pc の場所を検索:

> find / -name "glib-2.0.pc"
/boot/system/develop/lib/pkgconfig/glib-2.0.pc

-

何が置かれているかを確認:

> ls /boot/system/develop/lib/pkgconfig/

atk.pc                 gmodule-no-export-2.0.pc  python-3.7.pc            Qt5Positioning.pc           Qt5Xml.pc
atkmm-1.6.pc           gobject-2.0.pc            python-3.7m.pc           Qt5PositioningQuick.pc      Qt5XmlPatterns.pc
cairo-fc.pc            graphite2.pc              python-3.8-embed.pc      Qt5PrintSupport.pc          sigc++-2.0.pc
cairo-ft.pc            gthread-2.0.pc            python-3.8.pc            Qt5Purchasing.pc            uchardet.pc
cairo-gobject.pc       gtk+-3.0.pc               python3-embed.pc         Qt5Qml.pc                   x11.pc
cairo-pdf.pc           gtk+-unix-print-3.0.pc    python3.pc               Qt5QmlModels.pc             xau.pc
cairo-png.pc           gtk+-x11-3.0.pc           Qt53DAnimation.pc        Qt5QmlWorkerScript.pc       xcb-composite.pc
cairo-ps.pc            harfbuzz-icu.pc           Qt53DCore.pc             Qt5Quick.pc                 xcb-damage.pc
cairo-script.pc        harfbuzz-subset.pc        Qt53DExtras.pc           Qt5Quick3D.pc               xcb-dpms.pc
cairo-svg.pc           harfbuzz.pc               Qt53DInput.pc            Qt5Quick3DAssetImport.pc    xcb-dri2.pc
cairo-xlib.pc          hunspell.pc               Qt53DLogic.pc            Qt5Quick3DRender.pc         xcb-dri3.pc
cairo.pc               icu-i18n.pc               Qt53DQuick.pc            Qt5Quick3DRuntimeRender.pc  xcb-glx.pc
cairomm-1.0.pc         icu-io.pc                 Qt53DQuickAnimation.pc   Qt5Quick3DUtils.pc          xcb-present.pc
cairomm-ft-1.0.pc      icu-uc.pc                 Qt53DQuickExtras.pc      Qt5QuickControls2.pc        xcb-randr.pc
cairomm-pdf-1.0.pc     libcrypto.pc              Qt53DQuickInput.pc       Qt5QuickTemplates2.pc       xcb-record.pc
cairomm-png-1.0.pc     libffi.pc                 Qt53DQuickRender.pc      Qt5QuickTest.pc             xcb-render.pc
cairomm-ps-1.0.pc      libjpeg.pc                Qt53DQuickScene2D.pc     Qt5QuickWidgets.pc          xcb-res.pc
cairomm-svg-1.0.pc     libpcre.pc                Qt53DRender.pc           Qt5RemoteObjects.pc         xcb-screensaver.pc
egl.pc                 libpcre16.pc              Qt5Bluetooth.pc          Qt5RepParser.pc             xcb-shape.pc
epoxy.pc               libpcre32.pc              Qt5Charts.pc             Qt5Script.pc                xcb-shm.pc
fontconfig.pc          libpcrecpp.pc             Qt5Concurrent.pc         Qt5ScriptTools.pc           xcb-sync.pc
freetype2.pc           libpcreposix.pc           Qt5Core.pc               Qt5Scxml.pc                 xcb-xf86dri.pc
fribidi.pc             libpng.pc                 Qt5DataVisualization.pc  Qt5Sensors.pc               xcb-xfixes.pc
gail-3.0.pc            libpng16.pc               Qt5DBus.pc               Qt5SerialBus.pc             xcb-xinerama.pc
gdk-3.0.pc             libssl.pc                 Qt5Designer.pc           Qt5SerialPort.pc            xcb-xinput.pc
gdk-pixbuf-2.0.pc      libturbojpeg.pc           Qt5Gamepad.pc            Qt5Sql.pc                   xcb-xkb.pc
gdk-x11-3.0.pc         libxml-2.0.pc             Qt5Gui.pc                Qt5Svg.pc                   xcb-xtest.pc
gio-2.0.pc             openssl.pc                Qt5Help.pc               Qt5Test.pc                  xcb-xv.pc
gio-unix-2.0.pc        osmesa.pc                 Qt5Location.pc           Qt5TextToSpeech.pc          xcb-xvmc.pc
giomm-2.4.pc           pango.pc                  Qt5Multimedia.pc         Qt5UiPlugin.pc              xcb.pc
glesv1_cm.pc           pangocairo.pc             Qt5MultimediaWidgets.pc  Qt5UiTools.pc               xdmcp.pc
glesv2.pc              pangofc.pc                Qt5Network.pc            Qt5VirtualKeyboard.pc       xext.pc
glib-2.0.pc            pangoft2.pc               Qt5NetworkAuth.pc        Qt5WebChannel.pc            zlib.pc
glibmm-2.4.pc          pangomm-1.4.pc            Qt5Nfc.pc                Qt5WebSockets.pc
gmodule-2.0.pc         pangoot.pc                Qt5OpenGL.pc             Qt5WebView.pc
gmodule-export-2.0.pc  pixman-1.pc               Qt5OpenGLExtensions.pc   Qt5Widgets.pc

-

.pc の内容:

> cd /boot/system/develop/lib/pkgconfig/

-

(1). gobject-2.0.pc
> cat gobject-2.0.pc
prefix=/packages/glib2-2.68.4-2/.self
libdir=${prefix}/develop/lib
includedir=${prefix}/develop/headers

Name: GObject
Description: GLib Type, Object, Parameter and Signal Library
Version: 2.68.4
Requires: glib-2.0
Requires.private: libffi >=  3.0.0
Libs: -L${libdir} -lgobject-2.0
Libs.private: -lintl
Cflags: -I${includedir}

-

(2). glib-2.0.pc
> cat glib-2.0.pc
prefix=/packages/glib2-2.68.4-2/.self
libdir=${prefix}/develop/lib
includedir=${prefix}/develop/headers

bindir=${prefix}/bin
glib_genmarshal=${bindir}/glib-genmarshal
gobject_query=${bindir}/gobject-query
glib_mkenums=${bindir}/glib-mkenums

Name: GLib
Description: C Utility Library
Version: 2.68.4
Requires.private: libpcre >=  8.31
Libs: -L${libdir} -lglib-2.0 -lintl
Libs.private: -liconv -lm
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include

-

(3). gtk+-3.0.pc
> cat gtk+-3.0.pc
prefix=/packages/gtk3-3.24.30-5/.self
exec_prefix=${prefix}
libdir=${prefix}/develop/lib
includedir=${prefix}/develop/headers
targets=x11

gtk_binary_version=3.0.0
gtk_host=x86_64-unknown-haiku

Name: GTK+
Description: GTK+ Graphical UI Library
Version: 3.24.30
Requires: gdk-3.0 atk >= 2.32.0 cairo >= 1.14.0 cairo-gobject >= 1.14.0 gdk-pixbuf-2.0 >= 2.30.0 gio-2.0 >= 2.57.2
Requires.private: atk  epoxy >= 1.4 fribidi >= 0.19.7 pangoft2 gio-unix-2.0 >= 2.57.2
Libs: -L${libdir} -lgtk-3 
Cflags: -I${includedir}/gtk-3.0

-

(4). python3.pc
> cat python3.pc
# See: man pkg-config
prefix=/packages/python3-3.7.12-1/.self
exec_prefix=${prefix}
libdir=${prefix}/develop/lib
includedir=${prefix}/develop/headers

Name: Python
Description: Python library
Requires: 
Version: 3.7
Libs.private: -lnetwork  -lbsd
Libs: -L${libdir} -lpython3.7m
Cflags: -I${includedir}/python3.7m

-

.pc が機能しているか確認:

コンパイル時のパラメータを提供してくれます。

-

(1). glib-2.0
> pkg-config --cflags glib-2.0
-I/packages/glib2-2.68.4-2/.self/develop/headers/glib-2.0 -I/packages/glib2-2.68.4-2/.self/develop/lib/glib-2.0/include -I/packages/libpcre-8.45-1/.self/develop/headers

> pkg-config --libs glib-2.0
-L/packages/glib2-2.68.4-2/.self/develop/lib -lglib-2.0 -lintl

-

(2). python3
> pkg-config --cflags python3
-I/packages/python3-3.7.12-1/.self/develop/headers/python3.7m

> pkg-config --libs python3
-L/packages/python3-3.7.12-1/.self/develop/lib -lpython3.7m

-

-


まとめ

今回、Xfce の標準エディタの「mousepad」をビルドしてみました。 Haiku に「mousepad」を移植するための下準備です。使われている共通の依存が一部含まれているので、うまくすれば「gedit」の移植の参考にできるかもしれません。

-

Haiku では、Python やpip、meson やninja の実績がわかりません。それらを使わなくてもビルドできそうな「mousepad」にまずはトライしました。

ダウンロードするイメージによって、使われているビルドシステムが違うのがいつもとは違いました。 一般的な「./configure」を使うビルドと、Xfce のツールを使う「./autogen.sh」でのビルドでした。

ビルドの実行をするだけだと違いはわかりづらいですが、たぶん、ビルドの下準備をする側になったときは便利なのかも。

-

-


-

-

    目次

-

「投稿の先頭 へ」

-

-


-

「この目次 の先頭へ」

「本編の目次 に戻る」

-

-