Re: Build fails with `../../../dist/out/include/prtypes.h:593:38: error: size of array ‘arg’ is negative`
Paul Menzel
pmenzel+libreoffice at molgen.mpg.de
Wed Jun 13 07:07:27 UTC 2018
Dear Stephan,
Am 13.06.2018 um 08:44 schrieb Stephan Bergmann:
> 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.
Where could I get the corresponding information? In this failure setting
I tried building with only one thread and got the output below.
```
$ make PARALLELISM=1
[…]
cd lib; make libs
cd util; make libs
cd freebl; make libs
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
Makefile:626: recipe for target 'libs' failed
make[4]: *** [libs] Error 2
../coreconf/rules.mk:101: recipe for target 'libs' failed
make[3]: *** [libs] Error 2
coreconf/rules.mk:101: recipe for target 'libs' failed
make[2]: *** [libs] Error 2
/dev/shm/libreoffice-core/external/nss/ExternalProject_nss.mk:34: recipe
for target '/dev/shm/libreoffice-core/workdir/ExternalProject/nss/build'
failed
make[1]: ***
[/dev/shm/libreoffice-core/workdir/ExternalProject/nss/build] Error 1
Makefile:286: recipe for target 'build' failed
make: *** [build] Error 2
```
Kind regards,
Paul
More information about the LibreOffice
mailing list