Re: Build fails with `../../../dist/out/include/prtypes.h:593:38: error: size of array ‘arg’ is negative`

Stephan Bergmann sbergman at redhat.com
Wed Jun 13 06:44:38 UTC 2018


On 12/06/18 18:36, Paul Menzel wrote:
> On ppc64le with Ubuntu 18.04 and latest LibreOffice from master with the
> libatomic_ops build fix, the build fails with the error below.
> 
> ```
> $ uname -m
> ppc64le
> $ git describe --dirty
> libreoffice-6-1-branch-point-918-g647d6a2c4fba
> $ git log --oneline -1
> 647d6a2c4fba (HEAD -> master, origin/master, origin/HEAD) libatomic_ops: Evaluate newer files
> $ ./autogen.sh --with-system-libpng --with-boost-system
> […]
> $ make
> […]
> Makefile:636: warning: overriding recipe for target 'out/Linux_SINGLE_SHLIB'
> Makefile:623: warning: ignoring old recipe for target 'out/Linux_SINGLE_SHLIB'
> In file included from ../../../dist/out/include/prerror.h:9:0,
>                   from drbg.c:9:
> drbg.c: In function ‘RNG_RandomUpdate’:
> ../../../dist/out/include/prtypes.h:593:38: error: size of array ‘arg’ is negative
>       extern void pr_static_assert(int arg[(condition) ? 1 : -1])
>                                        ^
> drbg.c:541:5: note: in expansion of macro ‘PR_STATIC_ASSERT’
>       PR_STATIC_ASSERT(sizeof(size_t) <= 4);
>       ^~~~~~~~~~~~~~~~
> ../../coreconf/rules.mk:392: recipe for target 'out/Linux_SINGLE_SHLIB/drbg.o' failed
> make[5]: *** [out/Linux_SINGLE_SHLIB/drbg.o] Error 1
> […]
> ```

Apparently, one of the external/* modules gets misconfigured in some way 
so that it checks an assumption that would be appropriate for a 32-bit 
build (sizeof(size_t) <= 4) but not for a 64-bit build.  But from your 
snippet one can't even tell which external module that would be.


More information about the LibreOffice mailing list