dpkg-buildpackage未识别的选项:`-runstedir =/run'
我想从Source构建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
错误=/运行'未被认可。我该如何解决这个问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在继续之前,您是否正确安装了所有构建依赖性?
看看:
在并行中,您还可以启动命令
dpkg -depcheck -d ./configure
找到一些丢失的软件包。VIM软件包定期更新,最后一个提交是2W前的,因此我非常惊讶它不会编译。
请看一下: https://salsa.debian.org/vim/vim-team/vim-team/vim-team/vim
Before continuing have you installed properly all build dependencies ?
Have a look at : https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#control and more especially at the
Build-Depends
section.In parallel you can also launch the command
dpkg-depcheck -d ./configure
to find some missing packages.Vim package is regularly updated and last commit was 2w ago so I would be very astonished that it won’t compile.
Have a look at: https://salsa.debian.org/vim-team/vim
我想您是从Debian来源的vim来源的较新的分发到较旧的发行版。
然后是由debhelper->
dh_auto_configure
添加此参数引起的。dh_auto_configure
运行< source_dir>/configure
带有此参数。< source_dir>/configure
是由autoconf
生成的,在这种情况下,可能DebHelper->autoreconf
autoreconf ,它调用autoreconf /code> - >
autoconf
生成< source_dir>/configure
。如果autoconf
的版本还不够最新,则生成的< source_dir>/configure
lack-runstatedir =/run run
支持,因此您会看到此日志:要解决它,您可以升级
autoconf
软件包版本,但是显然,这不是您一直想做的(您可能必须返回很多依赖项) 。因此,只是不要让dh_auto_configure
传递此参数:您可以在
/usr/share/perl5/debian/debhelper/buildsystem/autoconf.pm
中看到此PERL代码:因此,将其值降低到
10
,然后再次构建,现在dh_auto_configure
绝不应该尝试通过-runstatedir =/run
在调用&lt时;
I suppose you're backporting vim from debian source of a newer distribution to an older distribution.
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 byautoconf
, in such case, likely debhelper->autoreconf
, which callsautoreconf
->autoconf
to generate<source_dir>/configure
. In case the version ofautoconf
is not up-to-date enough, the generated<source_dir>/configure
lacks--runstatedir=/run
support, and hence you see this log:To solve it, you can upgrade your
autoconf
package version, but obviously that's not what you always want to do (you may have to backport a lot of dependencies). So instead, just don't letdh_auto_configure
pass this argument:You can see this perl code in
/usr/share/perl5/Debian/Debhelper/Buildsystem/autoconf.pm
:So just modify
debian/compat
in extracted debian source of vim, lower its value to10
, and build again, nowdh_auto_configure
should never try passing--runstatedir=/run
when calling<source_dir>/configure
any more.