dpkg-buildpackage未识别的选项: `--runstatedir=/run'

0 人关注

我想从源码建立debian的vim包,但我在运行命令 dpkg-buildpackage -rfakeroot 时得到了这个错误。

   dh_clean
 dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building vim using existing ./vim_8.2.5106.orig.tar.gz
dpkg-source: info: using patch list from debian/patches/series
dpkg-source: warning: newly created empty file 'src/auto/config.h' will not be represented in diff
dpkg-source: info: building vim in vim_8.2.5106-1.debian.tar.xz
dpkg-source: info: building vim in vim_8.2.5106-1.dsc
 debian/rules build
dh build
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
        ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking
configure: error: unrecognized option: `--runstatedir=/run'
Try `auto/configure --help' for more information
dh_auto_configure: ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking returned exit code 1
make: *** [debian/rules:18: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

如果我理解正确的话,问题出在一个 `--runstatedir=/run'的标志上,这个标志是不被认可的。我怎样才能解决这个问题呢?

3 个评论
你是否考虑过尝试 Try auto/configure --help'中提到的命令以获得更多信息"`?
@romainl 是的,我没有发现任何有用的东西。
那你发现了什么?替换代码0】有记录吗?如果是,那么你可能发现了一个错误,你应该报告它。
linux
vim
dpkg-buildpackage
F.Hand
F.Hand
发布于 2022-06-16
2 个回答
Arnaud F.
Arnaud F.
发布于 2022-12-21
0 人赞同

在继续之前,你是否正确安装了所有的构建依赖?

请看: https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#control 特别是在 Build-Depends 部分。

同时,你也可以启动命令 dpkg-depcheck -d ./configure 来寻找一些丢失的软件包。

Vim包是定期更新的,最后一次提交是在2w年前,所以我对它不能编译感到非常惊讶。

请看一下。 https://salsa.debian.org/vim-team/vim

YumeYao
YumeYao
发布于 2022-12-21
0 人赞同

我想你是在把vim从较新的发行版的debian源代码备份到较老的发行版。

Then it's caused by debhelper-> dh_auto_configure adding this parameter. dh_auto_configure runs <source_dir>/configure with this parameter. <source_dir>/configure is generated by autoconf , in such case, likely debhelper-> autoreconf , which calls autoreconf -> autoconf to generate <source_dir>/configure . In case the version of autoconf is not up-to-date enough, the generated <source_dir>/configure lacks --runstatedir=/run support, and hence you see this log:

   dh_autoreconf
   dh_auto_configure
        ./configure --build=i686-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-silent-rules --libdir=\${prefix}/lib/i386-linux-gnu --libexecdir=\${prefix}/lib/i386-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking
configure: error: unrecognized option: `--runstatedir=/run'