登録日: 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 立ち上げです。
-
(注)リンクを戻るときはブラウザの左上の「←」をクリック
-
-
目次
-
以前の作業:
-
今回の作業:
「./autogen.sh」を使うmousepad のビルド:
「./configure」を使うmousepad のビルド:
-
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -
「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. 開発ツールのインストール
-
$ 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」から抜き出し:
-
依存するパッケージ
GLib >= 2.52.0
GTK >= 3.22.0
GtkSourceView >= 3.24.0 or >= 4.0.0
-
オプションの依存パッケージ
- gspell >= 1.6.0
-
予想される依存:
-
$ 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). ダウンロード:
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
-
依存するパッケージ
- GLib >= 2.52.0
- GTK >= 3.22.0
- GtkSourceView >= 3.24.0 or >= 4.0.0
-
オプションの依存パッケージ
- gspell >= 1.6.0
-
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
-
→青い「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 です:
-
-
-
さらにヘルプが必要な場合は、よくある質問のページ を参照:
-
2). GTKのビルド
https://docs.gtk.org/gtk4/building.html
多くの場合、オペレーティングシステム用のGTKのバイナリパッケージが入手できることを述べておく必要があります。
GTK をビルドするには、システムに「meson」をインストールする必要があります。
Linuxやその他のUNIXライクなオペレーティングシステムでは、「ninja」も必要になります。
ソース または Git クローンからGTK をビルドする場合は、「meson」を使用してプロジェクトを構成する必要があります。
役立つ引数は --prefix 引数で、インストール後にファイルがどこに移動するかを決定します。
-
/opt/gtk にGTK をインストールする場合:
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、JPEG、PNG、TIFF ライブラリ、FreeType、および必要に応じてlibiconv とlibintl です。
-
(2). GTK ライブラリをGLib、Cairo、Pango、GTK の順にビルドしてインストール:
GTK に個別のプレフィックスを使用している場合は、構築するすべての依存関係に同じプレフィックスを使用する必要があります。
-
(3). GTK がインストールするgtk4-demo プログラムを実行
→GTK のインストールをテストできます。
-
-
--- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----
7. 参考: Meson について
-
GTK などをビルドして入手するには、「meson」をインストールする必要があります
-
参考:
-
抜粋:
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」でのビルドでした。
ビルドの実行をするだけだと違いはわかりづらいですが、たぶん、ビルドの下準備をする側になったときは便利なのかも。
-
-
-
-
目次
-
-
- 目次
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -
- 「Ubuntu 22.04 LTS」の画面:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --
- 「Ubuntu 22.04 LTS」について
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ---
- 「mousepad」について:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----
- 1. 開発ツールのインストール
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - -----
- 2. 参考: 「mousepad」のビルドに必要な依存:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -
- 3. 「./autogen.sh」を使い、Mousepad をビルドする場合:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- --
- 4. 「./configure」を使い、Mousepad をビルドする場合:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ---
- 5. 参考: GtkSourceView をビルドして入手する場合:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----
- 6. 参考: GTK をビルドして入手する場合:
- 1). GTK のダウンロード:
- 2). GTKのビルド
- 3). 依存関係:
- (1). pkg-config
- (2). GLib ライブラリ
- (3). GdkPixbuf ライブラリ
- (4). Pango
- (5). GObject Introspection
- (6). GNUlibiconv ライブラリ
- (7). GNUgettext
- (8). Pango とGTK をビルドするには、X ウィンドウシステムのライブラリが必要
- (9). fontconfig ライブラリ
- (10). Cairo
- (11). libepoxy
- (12). Graphene
- (13). Wayland ライブラリ
- (14). shared-mime-info パッケージ
- (15). gdk-pixbuf
- 4). GTKのビルドとテスト
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- -----
- 7. 参考: Meson について
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- -
- 8. 参考: バージョン管理ができるように、pip でmeson をインストール:
- 1). apt で「meson」と「ninja」があったら削除
- 2). Haiku のpip でインストール可能な「meson」のバージョン番号があることを調べました:
- 3). Haiku のpip でインストール可能な「ninja」のバージョン番号があることを調べました:
- 4). 参考: 「ユーザインストール」指定でのインストール先を確認:
- 5). 「meson」を「ユーザインストール」指定でインストール:
- 6). バージョンの指定を忘れたので、一旦、削除:
- 7). 「meson」を「ユーザインストール」とバージョンを指定してインストール:
- 8). 「ninja」を「ユーザインストール」の指定でインストール:
- 9). 認識させるため、端末を再起動してから、確認:
- 10). 実行ファイルのパスの確認:
- 11). 実行ファイルの場所を確認:
- 12). バージョンの確認:
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- --
- 9. 参考: Ubuntu 22.04 の場合の「pkg-config」について
- --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - --- - ----- ----- ---
- 10. 参考: Haiku の場合の「pkg-config」について
- まとめ
- -
-
-
-
-