我最初几天前在askubuntu @ https://askubuntu.com/questions/1044708/debian-rules161-recipe-for-target-config-status-failed
不幸的是,我没有得到任何回应。因此寻找一些 帮助堆栈溢出。
我正在尝试为collect-pw
构建一个deb
包。上游焦油球为: http://perfwatcher.free.fr/download/collectd/collectd-5.4.0.20150311.tar.gz
为了构建这个包,我从 ubuntu repo 中提取了collectd
的源码包,并在debian/control
和debian/changelog
下修改了包名称。
现在,当我运行pdebuild
(或为此debuild
(时,它失败并显示以下错误:
configure: exit 1
debian/rules:161: recipe for target 'config.status' failed
make: *** [config.status] Error 1
dpkg-buildpackage: error: debian/rules build gave error exit status 2
我无法弄清楚这里出了什么问题。该错误是一般错误。 如果我运行./configure
,make
,那么构建就可以了。
以下是debian/rules
的相关台词
160 config.status: configure
161 dh_testdir
162
163 PKG_CONFIG_PATH="$(CURDIR)/debian/pkgconfig:$$PKG_CONFIG_PATH"
164 ./configure $(confflags) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
165 JAVAC="$(JAVAC)" JAR="$(JAR)" JAVA_CPPFLAGS="$(JAVA_CPPFLAGS)"
166 JAVA_LDFLAGS="$(JAVA_LDFLAGS)"
167 || ( status=$$?; cat config.log; exit $$status )
你能帮忙说明这里可能出现什么问题吗?或者 任何使其提供详细错误的建议都会有所帮助,因为configure: exit 1
没有提供太多可以采取行动的见解。
顺便说一句,我已经export DH_VERBOSE=1
debian/rules
启用.
更新:
正如@GiacomoCatenazzi所建议的:
- 是的,我可以成功运行
dh_testdir
。 - 我运行
make
,debian/rules
作为makefile,并在make -d -f debian/rules
启用详细内容。这一次,它再次在相同的config.status
步骤上失败,又添加了 2 个我无法理解的调试行。
以下是上述命令的最后几行输出make
:
...
...
...
#define HAVE_PLUGIN_VSERVER 1
#define HAVE_PLUGIN_WIRELESS 1
#define HAVE_PLUGIN_WRITE_GRAPHITE 1
configure: exit 1
Reaping losing child 0x1a103d0 PID 27476
debian/rules:161: recipe for target 'config.status' failed
make: *** [config.status] Error 1
Removing child 0x1a103d0 PID 27476 from chain.
- 运行后,它创建了大约 30k 行的
config.log
。
日志的最后几行如下所示:
29303 #define HAVE_PLUGIN_WIRELESS 1
29304 #define HAVE_PLUGIN_WRITE_GRAPHITE 1
29305
29306 configure: exit 1
这里也没有有用的信息:(
更新:
正如@Stephen Kitt所建议的那样,整个config.log
都可以在这里找到:http://pasted.co/3767a043
由于以下原因,配置失败:
configure:59894: error: "Some plugins are missing dependencies - see the summary above for details"
摘要不包含在日志中,但应已输出到终端。
你需要安装一些软件包来满足collect-pw
的构建依赖关系。
您发布的日志文件,我认为来自您使用debian/rules
的直接尝试,表明缺少许多依赖项,其中至少一些在debian/control
中列出,将由pdebuild
安装(pkg-config
,libyajl-dev
等(。由于构建也因pdebuild
而失败,我猜collect-pw
有一些特定于collectd
debian/control
中未列出的依赖项;您应该调查缺少的构建依赖项并将它们添加到debian/control
(如果要在本地构建,请在本地安装它们(。