我正在尝试建立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_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
答案1
2016 年的说明对我有用,无论是来自档案git clone
还是档案,不用担心LT_INIT
.如果您下载完整的发行档案,xcb-util-xrm-1.2.tar.gz,你不需要跑步autogen.sh
,你可以跑步./configure
代替。如果您仅下载源存档,则不会拥有m4
.
您确实需要pkg-config
安装(这可能可以解释Makefile.am
您收到的错误)并且libxcb-util0-dev
(否则稍后您会收到错误)。