Hi, After igave `-mlp64' flag iam getting an error like this
make[2]: Entering directory `/gcc/gpcbuild/gcc/p/rts' /gcc/gpcbuild/gcc/xgcc -B/gcc/gpcbuild/gcc/ -B/usr/local/ia64-hp-hpux11.23/bin/ -B/usr/local/ia64-hp-hpux11.23/lib/ -isystem /usr/local/ia64-hp-hpux11.23/includ e -isystem /usr/local/ia64-hp-hpux11.23/sys-include -c -I. -W -Wall -Wmissing-p rototypes -Wmissing-declarations -mlp64 -Wpointer-arith -Wwrite-strings "/gcc/ gcc-3.4.3/gcc/p/rts/rts.c" /gcc/gcc-3.4.3/gcc/p/rts/rts.c: In function `_p_CStringStrSignal': /gcc/gcc-3.4.3/gcc/p/rts/rts.c:2446: warning: empty body in an if-statement ../.././xgpc -B../.././ -c -g -I. -W -Wall -Wmissing-prototypes -Wmissing-decla rations -mlp64 --unit-path=/gcc/gcc-3.4.3/gcc/p/rts --automake `cat needed-opt ions` -DRTS_RELEASE_STRING="'`cat /gcc/gcc-3.4.3/gcc/p/rts/rts-version`'" -DGCC_ VERSION="'3.4.3'" "/gcc/gcc-3.4.3/gcc/p/rts/rtsc.pas" ../.././xgpc -B../.././ -c -I. -W -Wall -Wmissing-prototypes -Wmissing-declarat ions -mlp64 --unit-path=/gcc/gcc-3.4.3/gcc/p/rts --automake `cat needed-option s` -DRTS_RELEASE_STRING="'`cat /gcc/gcc-3.4.3/gcc/p/rts/rts-version`'" -DGCC_VER SION="'3.4.3'" "/gcc/gcc-3.4.3/gcc/p/rts/string1.pas" ../.././xgpc -B../.././ -c -I. -W -Wall -Wmissing-prototypes -Wmissing-declarat ions -mlp64 --unit-path=/gcc/gcc-3.4.3/gcc/p/rts --automake `cat needed-option s` -DRTS_RELEASE_STRING="'`cat /gcc/gcc-3.4.3/gcc/p/rts/rts-version`'" -DGCC_VER SION="'3.4.3'" --interface-only "/gcc/gcc-3.4.3/gcc/p/rts/error.pas" /gcc/gcc-3.4.3/gcc/p/rts/error.pas:267: error: module/unit interface `Heap' coul d not be imported make[2]: *** [stamp-error-gpi] Error 1 make[2]: Leaving directory `/gcc/gpcbuild/gcc/p/rts' make[1]: *** [pascal.rts] Error 2 make[1]: Leaving directory `/gcc/gpcbuild/gcc' make: *** [all-gcc] Error 2 #
can any one help on this.
Regards Prasad
----- Original Message ----- From: "Waldek Hebisch" hebisch@math.uni.wroc.pl To: gpc@gnu.de Subject: Re: Getting an error while compiling GPC-20051116 on HP-UX11i v2 Date: Wed, 8 Feb 2006 01:57:55 +0100 (CET)
Russell Whitaker wrote:
On Tue, 7 Feb 2006, Waldek Hebisch wrote:
prasad svr wrote:
<snip> > >> /gcc/gpcbuild/gcc/xgcc -B/gcc/gpcbuild/gcc/ > -B/usr/local/ia64-hp-hpux11.23/bin/ > >> -B/usr/local/ia64-hp-hpux11.23/lib/ -isystem > /usr/local/ia64-hp-hpux11.23/includ > >> e -isystem /usr/local/ia64-hp-hpux11.23/sys-include -c -I. -W > -Wall -Wmissing-p > >> rototypes -Wmissing-declarations -g -O2 -Wpointer-arith > -Wwrite-strings "/gcc/ > >> gcc-3.4.3/gcc/p/rts/rts.c" > >> /gcc/gcc-3.4.3/gcc/p/rts/rts.c:663:1: warning: "open" redefined > >> In file included from /usr/include/fcntl.h:9, > >> from /gcc/gcc-3.4.3/gcc/p/rts/rts.c:89: > >> /usr/include/sys/fcntl.h:259:1: warning: this is the location > of the previous de > >> finition > >> /gcc/gcc-3.4.3/gcc/p/rts/rts.c: In function `_p_CStringStrSignal': > >> /gcc/gcc-3.4.3/gcc/p/rts/rts.c:2446: warning: empty body in an > if-statement > >> /gcc/gcc-3.4.3/gcc/p/rts/rts.c: In function `_p_SqRt': > >> /gcc/gcc-3.4.3/gcc/p/rts/rts.c:831: internal compiler error: > in emit_move_insn, > >> at expr.c:2812 > >> Please submit a full bug report, > >> with preprocessed source if appropriate. > >> See <URL:http://gcc.gnu.org/bugs.html> for instructions. > >> make[2]: *** [rts.o] Error 1 > >> make[2]: Leaving directory `/gcc/gpcbuild/gcc/p/rts' > >> make[1]: *** [pascal.rts] Error 2 > >> make[1]: Leaving directory `/gcc/gpcbuild/gcc' > >> make: *** [all-gcc] Error 2 > >> # > >> > >> > >> can any one help on this. > >> > > <snip> > > It looks that the problem is fixed in gcc-4.0, but ATM gpc do not work > > with this version of gcc. > > tried it with gcc-3.4.5 -c and got a .o result > > linux i686 >
The problem affects ia64 (Itanium) running HPUX. In fact, it seems that only 32-bit mode is affected. Unfortunatly, 32-bit mode is a default on HPUX.
To Prasad: it seems that you have succesfully built the compiler proper. The problem is with building the 32-bit runtime. You may try building 64-bit runtime.
Some hints how to do this are in a message by Peter Keenan:
http://www.gnu-pascal.de/crystal/gpc/en/mail11264.html
(however, to get 64-bit mode use `-mlp64' flag).
-- Waldek Hebisch hebisch@math.uni.wroc.pl
prasad svr wrote:
Hi, After igave `-mlp64' flag iam getting an error like this
<snip>
../.././xgpc -B../.././ -c -I. -W -Wall -Wmissing-prototypes -Wmissing-declarat ions -mlp64 --unit-path=/gcc/gcc-3.4.3/gcc/p/rts --automake `cat needed-option s` -DRTS_RELEASE_STRING="'`cat /gcc/gcc-3.4.3/gcc/p/rts/rts-version`'" -DGCC_VER SION="'3.4.3'" --interface-only "/gcc/gcc-3.4.3/gcc/p/rts/error.pas" /gcc/gcc-3.4.3/gcc/p/rts/error.pas:267: error: module/unit interface `Heap' coul d not be imported make[2]: *** [stamp-error-gpi] Error 1 make[2]: Leaving directory `/gcc/gpcbuild/gcc/p/rts' make[1]: *** [pascal.rts] Error 2 make[1]: Leaving directory `/gcc/gpcbuild/gcc' make: *** [all-gcc] Error 2 #
can any one help on this.
`--interface-only' option on the command line means that gpc should compile only interface part of `error.pas' (skipping its main body). So, it again looks like problem with command line handling. AFAICS there is no easy workaround -- somebody has to do debugging at C level. ATM I can not say why the command line does not work: it may be some silly build problem (like strange locale setting), it may be unportable code in gpc, it may a bug in gcc (miscompiling gpc).