[nhc-bugs] build failure

Andres Loeh andres at cs.uu.nl
Wed Apr 14 13:05:40 EDT 2004


Hi there,

I just tried to build nhc98-1.16, with the three patches that are
available applied, on my (Gentoo) Linux-x86 machine.

After a

./configure --buildwith=gcc
make

I get the following error:

[...]
make[1]: Leaving directory `/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/src/compiler98'
cd src/prelude/ix86-Linux/NHC; make clean all   # Patch machine-specific parts.
make[1]: Entering directory `/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/src/prelude/ix86-Linux/NHC'
rm -f *.hi
rm -f    DErrNo.hc
rm -f /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/targets/ix86-Linux/obj/prelude/DErrNo/*.o *.o
rm -f
rm -f
/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/script/nhc98 -cpp -c +CTS -lib  -redefine -CTS   +RTS -H32M -RTS -o /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/targets/ix86-Linux/obj/prelude/DErrNo/DErrNo.o DErrNo.hs
/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/script/nhc98: line 605: 10142 Segmentation fault      $COMP $RUNFLAGS $COMPFLAGS $HINCDIRS -I. $UNLIT -P${NHC98INCDIR} $HSFILE $POSTGRFILE $TMPHIFILE $TMPCPPASFILE
make[1]: *** [/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/targets/ix86-Linux/obj/prelude/DErrNo/DErrNo.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16/src/prelude/ix86-Linux/NHC'
make: *** [targets/ix86-Linux/compiler-gcc] Error 2

Note that I am building in /var/tmp/portage/nhc98-1.16-r1/work/nhc98-1.16.
This seems to be the first call to the nhc98 script that does actually
call the nhc98comp binary. Indeed, calling nhc98comp immediately
produces a Segmentation fault.

Here's an "strace ./nhc98comp":

execve("./nhc98comp", ["./nhc98comp"], [/* 60 vars */]) = 0
uname({sys="Linux", node="adorp.cs.uu.nl", ...}) = 0
brk(0)                                  = 0x8135000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=99363, ...}) = 0
mmap2(NULL, 99363, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40016000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\3404\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=153448, ...}) = 0
mmap2(NULL, 137184, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4002f000
mmap2(0x40050000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x20) = 0x40050000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 ]\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1304540, ...}) = 0
mmap2(NULL, 1238628, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40051000
mmap2(0x4017a000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x129) = 0x4017a000
mmap2(0x4017d000, 9828, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4017d000
close(3)                                = 0
munmap(0x40016000, 99363)               = 0
open("/dev/urandom", O_RDONLY)          = 3
read(3, "\fQ;g:2l\261\275\377\310\324#\240Z\210Gi\345\373\265\245"..., 32) = 32
close(3)                                = 0
brk(0)                                  = 0x8135000
brk(0x8156000)                          = 0x8156000
brk(0)                                  = 0x8156000
mmap2(NULL, 8081408, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40180000
times({tms_utime=0, tms_stime=0, tms_cutime=0, tms_cstime=0}) = 892864824
times({tms_utime=0, tms_stime=0, tms_cutime=0, tms_cstime=0}) = 892864824
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Here is which gcc and glibc I use:

gcc-3.3.2
glibc-2.3.2

Any ideas?

Best,
  Andres


More information about the Nhc-bugs mailing list