无论我在open-mpi源的根目录中运行dpkg-buildpackage
还是gbp buildpackage
,都会发生以下错误:
Making all in mca/crs
make[3]: Entering directory '/tmp/erothe/debugX/openmpi-3.1.3/opal/mca/crs'
CC base/crs_base_open.lo
CC base/crs_base_close.lo
CC base/crs_base_select.lo
CC base/crs_base_fns.lo
CCLD libmca_crs.la
ar: `u' modifier ignored since `D' is the default (see `U')
GENERATE opal_crs.7
Option package-version requires an argument
窥视Makefile
目录中的/tmp/erothe/debugX/openmpi-3.1.3/opal/mca/crs
时,我看到package-version
参数为空:
$(OMPI_V_GEN) $(top_srcdir)/ompi/mpi/man/make_manpage.pl \
--package-name='Open MPI' \
--package-version='' \
--ompi-date='Oct 29, 2018' \
--opal-date='Oct 29, 2018' \
--orte-date='Oct 29, 2018' \
--input=$< \
--output=$@
出于某些奇怪的原因 configure
被两次呼叫。
第一次调用该makefile会正确生成(这意味着参数package-version不为空)。但是由于某种原因,第二次调用了configure
,而这次的package-version
参数为空,导致出现上述错误。
如我所见,我可以解决两种不同的方法:
尝试找出configure
运行两次的原因并解决(不知道从哪里开始)。
在我的规则文件中添加一些替代,以防止第二个configure
。
问题是我相信第二个configure
由dh_auto_build
调用,如果我想最后拥有一个deb软件包,我不能阻止它运行。
我还看到dh_auto_build开始后,我有很多sh: 1: config/opal_get_version.sh: not found
,这可能表明第二次调用configure
的原因。
在open-mpi中报告了类似的问题: https://github.com/open-mpi/ompi/issues/6058
尽管相似,我倾向于说我没有相同之处 问题,因为我可以编译。我不能打包!
任何人都可以指出某个方向吗?