Hi all. We've been having problems with our ghc2.01 setup on our HP;
when given a very large .hc file:
wilde.ucc.ie:~/freq: ls -l Galileo6.hc
-rw-r--r-- 1 abf ghc-admin5604916 Jan 24 02:00 Galileo6.hc
then gcc, as invoked by ghc, falls over as follows:
wilde.ucc.ie:~/freq: ghc-2.01 -c -v Galileo6.hc
The Glorious Glasgow Haskell Compilation System, version 2.01 patchlevel 0
C compiler:
gcc -v -D_HPUX_SOURCE -static -S -O -D__STG_REV_TBLS__ -ansi
-D__STG_GCC_REGS__ -D__STG_TAILJUMPS__ -D__HASKELL1__=3 -I.
-I/staff/abf/ghc/ghc-2.01/./ghc/driver/../../ghc/includes ghc1420.c >
/tmp/ghc1420.ccout 2>&1 && ( if [ ghc1420.s != /tmp/ghc1420_o.s ] ; then mv
ghc1420.s /tmp/ghc1420_o.s ; else exit 0 ; fi )
Reading specs from /usr/local/lib/gcc-lib/hppa1.1-hp-hpux10.10/2.7.2/specs
gcc version 2.7.2
/usr/local/lib/gcc-lib/hppa1.1-hp-hpux10.10/2.7.2/cpp -lang-c89 -v -I.
-I/staff/abf/ghc/ghc-2.01/./ghc/driver/../../ghc/includes -undef -D__GNUC__=2
-D__GNUC_MINOR__=7 -trigraphs -$ -D__STRICT_ANSI__ -D__hppa__ -D__hp9000s800__
-D__hp9000s800 -D__hp9k8__ -D__PWB__ -D__hpux__ -D__unix__ -D_HPUX_SOURCE
-D__hppa -D__hp9000s800 -D__hp9k8 -D__PWB -D__hpux -D__unix -Asystem(unix)
-Asystem(hpux) -Acpu(hppa) -Amachine(hppa) -D__OPTIMIZE__ -D__hp9000s700
-D_PA_RISC1_1 -D_HPUX_SOURCE -D__STG_REV_TBLS__ -D__STG_GCC_REGS__
-D__STG_TAILJUMPS__ -D__HASKELL1__=3 ghc1420.c /tmp/cca01423.i
GNU CPP version 2.7.2 (hppa)
#include "..." search starts here:
#include <...> search starts here:
.
/staff/abf/ghc/ghc-2.01/./ghc/driver/../../ghc/includes
/usr/local/include
/usr/local/hppa1.1-hp-hpux10.10/include
/usr/local/lib/gcc-lib/hppa1.1-hp-hpux10.10/2.7.2/include
/usr/include
End of search list.
/usr/local/lib/gcc-lib/hppa1.1-hp-hpux10.10/2.7.2/cc1 /tmp/cca01423.i -quiet
-dumpbase ghc1420.c -O -ansi -version -o ghc1420.s
GNU C version 2.7.2 (hppa) compiled by CC.
Galileo6.hc:434439: virtual memory exhausted
real 11:14.8
user 10:24.6
sys 9.9
deleting... ghc1420.c ghc1420.s /tmp/ghc1420_o.s
rm -f /tmp/ghc1420*
It's not clear to me exactly what sort of limit the HP is running into:
there ought to be plenty of physical swap on the machine, and as far as
I'm aware, there's no set limit in software.
Anyone else had this problem? Anyone know of, or could suggest a fix or
work around, of any sort? I may try splitting the .hc file by hand,
but I've no idea if g[hc]cc will like this. Splitting the .hs file
would be preferable, but may be awkward as it's happy-generated.
Thanks for any and all,
Alex.