从 git clone 构建和下载 zip 之间的差异

从 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 年:

1)在configure.ac中添加LT_INIT

2)使autogen.sh执行“rm -rf m4; git submodule update --init”

我的问题是,如果我只下载并提取 zip 文件,如何在 ubuntu 16.04.1 下构建这个库git 中心

到目前为止我所做的,我添加到LT_INITconfigure.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

答案1

2016 年的说明对我有用,无论是来自档案git clone还是档案,不用担心LT_INIT.如果您下载完整的发行档案,xcb-util-xrm-1.2.tar.gz,你不需要跑步autogen.sh,你可以跑步./configure代替。如果您仅下载源存档,则不会拥有m4.

您确实需要pkg-config安装(这可能可以解释Makefile.am您收到的错误)并且libxcb-util0-dev(否则稍后您会收到错误)。

相关内容