Bug#921769: moarvm: FTBFS (error: 'MP_GEN_RANDOM_MAX' undeclared)

Santiago Vila sanvila at debian.org
Fri Feb 8 21:56:17 GMT 2019


Package: src:moarvm
Version: 2018.12+dfsg-2
Severity: serious
Tags: ftbfs

Dear maintainer:

I tried to build this package in buster but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-arch
dh build-arch
   dh_update_autotools_config -a
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<BUILDDIR>>/moarvm-2018.12+dfsg'
perl Configure.pl  \
	--prefix=/usr \
	--libdir=/usr/lib/moar \
	--debug \
	--has-libtommath \
	--has-libuv \
	--has-libatomic_ops \
	--has-libffi
Welcome to MoarVM!

[... snipped ...]

         two_complement_bitop(ia, ib, ic, mp_##opname); \
                                          ^~~
src/math/bigintops.c:512:1: note: in expansion of macro 'MVM_BIGINT_BINARY_OP_2'
 MVM_BIGINT_BINARY_OP_2(or , { sc = sa | sb; })
 ^~~~~~~~~~~~~~~~~~~~~~
src/math/bigintops.c:264:40: note: expected 'int (*)(mp_int *, mp_int *, mp_int *)' {aka 'int (*)(struct <anonymous> *, struct <anonymous> *, struct <anonymous> *)'} but argument is of type 'int (*)(const mp_int *, const mp_int *, mp_int *)' {aka 'int (*)(const struct <anonymous> *, const struct <anonymous> *, struct <anonymous> *)'}
                                  int (*mp_bitop)(mp_int *, mp_int *, mp_int *)) {
                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/math/bigintops.c: In function 'MVM_bigint_xor':
src/math/bigintops.c:447:42: warning: passing argument 4 of 'two_complement_bitop' from incompatible pointer type [-Wincompatible-pointer-types]
         two_complement_bitop(ia, ib, ic, mp_##opname); \
                                          ^~~
src/math/bigintops.c:513:1: note: in expansion of macro 'MVM_BIGINT_BINARY_OP_2'
 MVM_BIGINT_BINARY_OP_2(xor, { sc = sa ^ sb; })
 ^~~~~~~~~~~~~~~~~~~~~~
src/math/bigintops.c:264:40: note: expected 'int (*)(mp_int *, mp_int *, mp_int *)' {aka 'int (*)(struct <anonymous> *, struct <anonymous> *, struct <anonymous> *)'} but argument is of type 'int (*)(const mp_int *, const mp_int *, mp_int *)' {aka 'int (*)(const struct <anonymous> *, const struct <anonymous> *, struct <anonymous> *)'}
                                  int (*mp_bitop)(mp_int *, mp_int *, mp_int *)) {
                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/math/bigintops.c: In function 'MVM_bigint_and':
src/math/bigintops.c:447:42: warning: passing argument 4 of 'two_complement_bitop' from incompatible pointer type [-Wincompatible-pointer-types]
         two_complement_bitop(ia, ib, ic, mp_##opname); \
                                          ^~~
src/math/bigintops.c:514:1: note: in expansion of macro 'MVM_BIGINT_BINARY_OP_2'
 MVM_BIGINT_BINARY_OP_2(and, { sc = sa & sb; })
 ^~~~~~~~~~~~~~~~~~~~~~
src/math/bigintops.c:264:40: note: expected 'int (*)(mp_int *, mp_int *, mp_int *)' {aka 'int (*)(struct <anonymous> *, struct <anonymous> *, struct <anonymous> *)'} but argument is of type 'int (*)(const mp_int *, const mp_int *, mp_int *)' {aka 'int (*)(const struct <anonymous> *, const struct <anonymous> *, struct <anonymous> *)'}
                                  int (*mp_bitop)(mp_int *, mp_int *, mp_int *)) {
                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/math/bigintops.c: In function 'MVM_bigint_rand':
src/math/bigintops.c:1166:13: error: 'MP_GEN_RANDOM_MAX' undeclared (first use in this function); did you mean 'UV_ERRNO_MAX'?
         if (MP_GEN_RANDOM_MAX >= abs(smallint_max)) {
             ^~~~~~~~~~~~~~~~~
             UV_ERRNO_MAX
src/math/bigintops.c:1166:13: note: each undeclared identifier is reported only once for each function it appears in
src/math/bigintops.c:1167:35: warning: implicit declaration of function 'MP_GEN_RANDOM'; did you mean 'UV_FS_O_RANDOM'? [-Wimplicit-function-declaration]
             mp_digit result_int = MP_GEN_RANDOM();
                                   ^~~~~~~~~~~~~
                                   UV_FS_O_RANDOM
make[2]: *** [Makefile:621: src/math/bigintops.o] Error 1
make[2]: Leaving directory '/<<BUILDDIR>>/moarvm-2018.12+dfsg'
dh_auto_build: make -j1 NOISY=1 returned exit code 2
make[1]: *** [debian/rules:51: override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<BUILDDIR>>/moarvm-2018.12+dfsg'
make: *** [debian/rules:37: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2
--------------------------------------------------------------------------------

(The above is just how the build ends and not necessarily the most relevant part)

The build was made in my autobuilder with "dpkg-buildpackage -B"
and it also fails here:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/moarvm.html

where you can get a full build log if you need it.

If this is really a bug in one of the build-depends, please use reassign and affects,
so that this is still visible in the BTS web page for this package.

Thanks.



More information about the Pkg-rakudo-devel mailing list