Guest-X
2015-Oct-05 18:04 UTC
Compiling v2.2.19 - internal compiler error: segmentation fault (test-timing.c -> int64_t issue?)
Hi,
I am trying to compile a 64-build of the latest dovecot v2.2.19 on my SuSE Linux
Enterprise Server 10 (x64) system.
I've run ./configure with two parameters, the --prefix one and the
--with-ssldir one.
During the make stage, I am getting the following 'internal compiler
error' message :
---------------------------------------------
[...]
gcc -DHAVE_CONFIG_H -I. -I../.. -I../../src/lib-test -std=gnu99 -g -O2 -Wall
-W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts
-Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -MT
test_lib-test-timing.o -MD -MP -MF .deps/test_lib-test-timing.Tpo -c -o
test_lib-test-timing.o `test -f 'test-timing.c' || echo
'./'`test-timing.c
test-timing.c: In function ?test_timing?:
test-timing.c:48: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugs.opensuse.org> for instructions.
make[4]: *** [test_lib-test-timing.o] Error 1
----------------------------------------------
The lines that seem to be causing the problem are the following ( from
src/lib/test-timing.c ) :
45: void test_timing(void)
46: {
47: static int64_t test_input1[] = {
48: 20, 19, 18, 1, 2, 3, 4, 5, 6, 7, 8,
49: 9, 10, 11, 12, 13, 14, 15, 16, 17, -1
50: };
This is the first time that any version of dovecot (the v2.2 branch)
couldn't compile on my system, and I've literally compiled every single
release up to now. My gcc version is a very old one (4.1.2) :
----------------------------------------------
Using built-in specs.
Target: x86_64-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr
--with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man
--libdir=/usr/lib64 --libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release
--with-gxx-include-dir=/usr/include/c++/4.1.2 --enable-ssp --disable-libssp
--disable-libgcj --with-slibdir=/lib64 --with-system-zlib --enable-shared
--enable-__cxa_atexit --enable-libstdcxx-allocator=new --program-suffix=
--enable-version-specific-runtime-libs --without-system-libunwind
--with-cpu=generic --host=x86_64-suse-linux
Thread model: posix
gcc version 4.1.2 20070115 (prerelease) (SUSE Linux)
-----------------------------------------------
Don't know whether this helps, but I've noticed that if I change the
int64_t to uint64_t in the following lines of the same file :
61: static int64_t *test_inputs[] = {
62: test_input1, test_input2, test_input3
63: };
..then compilation finishes without errors, but I'm not certain what the
practical consequences of this action might be.
Can somebody help me please ?
Thank you for your time.
