web-dev-qa-db-ja.com

gitcloneからのビルドとダウンロードしたzipの違い

xcb-util-xrm ライブラリを手動で構築しようとしています。ビルド手順のリンクが2つ見つかりました。1つはi3gapsの-​​ issue tracker から、もう1つはこのバグレポート here からです。

最初のリンクの手順は、要約すると2016年のものです。

git clone https://github.com/Airblader/xcb-util-xrm
cd xcb-util-xrm
git submodule update --init
./autogen.sh --prefix=/usr
make
Sudo make install

2番目のリンクの手順は2013年のものです。

1)configure.acにLT_INITを追加します

2)autogen.shに「rm-rf m4; git submoduleupdate--init」を実行させます

私の質問は、Zipファイルを git hub からダウンロードして抽出しただけの場合、ubuntu 16.04.1でこのライブラリを構築するにはどうすればよいですか?

これまでに行ったこととして、LT_INITconfigure.acに追加しました。次に、次のコマンドを2回実行しました。1回はプレフィックスオプションあり、もう1回はプレフィックスオプションなしです。どちらの場合も、同じ結果になります。

$ ./autogen.sh --prefix=/usr
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal -I m4
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy
autoreconf: running: /usr/bin/autoconf
autoreconf: configure.ac: not using Autoheader
autoreconf: running: automake --add-missing --copy --no-force
Makefile.am:35: error: 'pkgconfig_DATA' is used but 'pkgconfigdir' is undefined
Makefile.am:26: error: 'xcbinclude_HEADERS' is used but 'xcbincludedir' is undefined
autoreconf: automake failed with exit status: 1

私の次の調査はautogen.shを開くことでした(ファイルの内容はgitハブで見ることができます)。このファイルには2つの主要なコマンドが含まれており、最初のコマンドautoreconf -v --install || exit 1は上記のエラースタック全体を返します。

私の問題は、エラーを解決する方法がわからないことです。

Makefile.am:35:エラー:「pkgconfig_DATA」は使用されていますが、「pkgconfigdir」は未定義です

Makefile.amを開いたところ、35行目pkgconfig_DATA = xcb-xrm.pcが見つかりました。そして、pkg-configのデフォルトのパスを確認しましたが、今のところ、pkgconfigdirをどこでどのように定義できるかわかりません。

$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
1
Hölderlin

2016年の手順は、git cloneからでもアーカイブからでも、LT_INITを気にすることなく機能しました。フルリリースアーカイブ xcb-util-xrm-1.2.tar.gz をダウンロードする場合は、autogen.shを実行する必要はなく、代わりに./configureを実行できます。ソースアーカイブのみをダウンロードした場合、m4の内容はありません。

pkg-configをインストールする必要があります(これにより、発生するMakefile.amエラーが説明される場合があります)およびlibxcb-util0-dev(そうでない場合は後でエラーが発生します)。

2
Stephen Kitt