我几天前在askubuntu @上发布了这个帖子 https://askubuntu.com/questions/1044708/debian-rules161-recipe-for-target-config-status-failed
不幸的是,我没有得到任何回复。因此寻找一些 帮助StackOverflow。
我正在尝试为deb
构建collect-pw
个包。上游焦油球是:
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
作为makefile运行debian/rules
,并使用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.
config.log
,其中有大约30,000行。日志的最后几行如下:
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
答案 0 :(得分:1)
配置因以下原因而失败:
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
的{{1}}中;您应该调查缺少的构建依赖项并将它们添加到debian/control
(如果您想在本地构建,则在本地安装它们)。