gpt4 book ai didi

debian - 我多久运行一次 autoconf?

转载 作者:行者123 更新时间:2023-12-01 11:09:57 24 4
gpt4 key购买 nike

在我的公司,我目前正在创建一个 Debian deb从第 3 方库中打包。该库是使用 Autotools 构建的。我以前从未与 Autotools 合作过,而且我遇到了一些困难。库源包含 configure.inMakefile.am文件和 m4/目录。我能够使用以下序列构建库:

aclocal -I m4 -I /usr/share/aclocal
autoheader
libtoolize --automake
automake -a
autoconf
./configure
make

debian/rules文件我想使用 CDBS。我是这样写的:
#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk

但它不起作用。它提示 configure文件丢失。这是正确的,因为 Autotools 类希望这个文件存在。但它不在那里,有人必须打电话 autoconf和 friend 第一!

为什么 Autotools CDBS 类(class)不让我打电话 autoconf和 friend ?我该如何规避它?

题外话:

当我使用一个程序时,我不是每次都编译它,我编译一次并重用二进制文件。

当人们安装软件时,他们不会自己编译它,维护者编译一次,人们重复使用二进制包。

当维护者编译包时,他/她不会创建 configure每次编译脚本,上游作者创建一次,维护者可以重用它。

最后一句话是真的吗?因为对我来说似乎 Autotools CDBS 类的作者假设了这样的事情 - 他们假设 configure存在,并在为不同的体系结构编译包时重用它。我对吗?

一方面,如果 configure可以生成,它不应该出现在任何地方——如果你需要它,你可以从其他文件生成。另一方面,Autotools CDBS 类的作者一定有某些原因以这种方式而不是另一种方式实现它。

概括:
  • 如何处理上述 Autotools CDBS 类问题?
  • 我多久再生一次 configure ? (一般情况下和构建 Debian 软件包时。)
  • 最佳答案

    第一,你太努力了。而不是运行 aclocal && autoheader && 等等,
    你可以只运行 autoreconf。这将确保以正确的顺序调用所有自动工具(并且在手指和大脑上更容易)。其次,一旦您生成了配置脚本,您应该创建一个构建目录并运行“make dist”以获取将用于生成 deb 的 tarball。 tarball 中将包含配置脚本。 (更好的是,只需使用上游生成的 tarball,根本不用担心运行 autotools。)

    关于debian - 我多久运行一次 autoconf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043647/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com