從 git clone 建構和下載的 zip 之間的區別
我正在嘗試手動建構xcb-util-xrm庫。我找到了兩個帶有建構說明的連結,一個來自問題跟踪器,
i3gaps
一個來自這個錯誤報告。第一個連結中的說明來自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
第二個連結中的說明來自 2013 年:
將 LT_INIT 添加到 configure.ac
使 autogen.sh 執行 “rm -rf m4; git submodule update –init”
我的問題是,如果我只從git hub下載並解壓縮 zip 文件,如何在 ubuntu 16.04.1 下建構這個庫?
到目前為止我所做的,我添加
LT_INIT
到configure.ac
. 然後我兩次執行以下命令,一次帶有前綴選項,一次沒有。兩次我都得到相同的結果:$ ./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 hub 上看到文件的內容)。該文件包含兩個主要命令,第一個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
2016 年的說明對我有用,無論是來自
git clone
存檔還是存檔,而無需擔心LT_INIT
. 如果您下載完整的發布存檔xcb-util-xrm-1.2.tar.gz,則無需執行autogen.sh
,您可以./configure
改為執行。如果您只下載一個源存檔,您將沒有m4
.您確實需要
pkg-config
安裝(這可能會解釋Makefile.am
您遇到的錯誤)和libxcb-util0-dev
(否則您稍後會收到錯誤)。