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.