ubuntu - debian/规则 :161: recipe for target 'config.status' failed

标签 ubuntu debian configure dpkg

I had originally posted this few days ago on askubuntu @ https://askubuntu.com/questions/1044708/debian-rules161-recipe-for-target-config-status-failed

Unfortunately, I failed to get any responses. Hence looking for some help on StackOverflow.



我正在尝试构建 deb collect-pw 的包.上游的 tar 球是:
http://perfwatcher.free.fr/download/collectd/collectd-5.4.0.20150311.tar.gz

为了构建这个包,我提取了 collectd 的源包来自 ubuntu repo 并修改了 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=1debian/rules 中启用.

更新:

正如@GiacomoCatenazzi 所建议的:
  • 是的,我可以运行 dh_testdir成功地。
  • 我跑了makedebian/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.
    
  • 运行后,它创建了 config.log其中有大约 30k 行。

  • 日志的最后几行如下:
    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-configlibyajl-dev 等)。由于构建失败,pdebuild同样,我猜有特定于 collect-pw 的依赖项collectd 中未列出的的debian/control ;您应该调查缺少的构建依赖项并将它们添加到 debian/control (如果您想在本地构建,则在本地安装它们)。

    关于ubuntu - debian/规则 :161: recipe for target 'config.status' failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50810577/

    相关文章:

    ubuntu - 如何在 Makefile 中使用 -I 选项

    ruby-on-rails - Rails 4/Capistrano/Passenger/Nginx 服务器( digital ocean )上的 production.log 为空

    debian - 在/etc/apt/sources.list 中设置镜像,使用 Preseed

    配置 GnuTLS - 未找到 libnettle 3.4.1 - OS X Lion

    centos - 在Centos 6.4中,配置Emacs时

    node.js - 在 node.js 中找不到 common.gypi 错误

    ubuntu - 将 vm 转换为 native /双启动

    c - Beaglebone Black 启用 PRU 问题

    php - DB 返回字符串而不是 int(PHP-7.1/Laravel 的 mysqlnd)

    apache - ubuntu : can't cd to/var/www despite being in www-data group