[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problem to compile gprolog with gcc-3.2 (Mandrake 9.0)
From: |
Rémy Haemmerlé |
Subject: |
Re: problem to compile gprolog with gcc-3.2 (Mandrake 9.0) |
Date: |
Mon, 03 Feb 2003 21:38:23 +0100 |
Ron Stodden wrote :
> Rémy Haemmerlé wrote:
> > Two persons have already reported problems for compiling gprolog with
> > mandrake 9.0 .
> > In fact the problem seems come from the version of gcc used for
> > compiling (version 3.2 by default in Mandrake 9.0). After some tests, I
> > think that the flag -fomit-frame-pointer has no effect in this version
> > of gcc.
>
> But you don't describe the problem/s!
>
> I have had NO problems at all using Mandrake 9.0 and Mandrake's
> binary gprolog RPM for 9.0.
>
Hi,
In my previous mail, I have quoted the two mails that describe the
problem. To be more specific I put, at the end of this mail, an extract
of my own experience for making gprolog from source distribution of
gprolog-1.2.16 under Linux Mandrake 9.0.
During the making process the first time that gplc tried to compile a
.pl (fd2c.pl) file it emits a "compilation failed" message. In fact its
pl2wam program used by gplc to compile .pl file which provokes a
Segmentation fault.
About the Mandrake's binary gprolog RPM for 9.0, I have proceed some
investigations and I have concluded that this version don't use ebp
register like I suggested in my previous mail (You can see in
/usr/lib/gprolog-1.2.13/include/gprolog.h at line 37 "#define
NO_USE_EBP 1"); therefore if you want to use every optimization of
gprolog, I recommend you to use the binary RPM available on The GNU
Prolog web site.
Remy
--------------------------------------------------------------------------------------------------
address@hidden src]$ uname -a
Linux yakko 2.4.19-16mdk #1 Fri Sep 20 18:15:05 CEST 2002 i686 unknown
unknown
GNU/Linux
address@hidden src]$ . ./SETVARS
address@hidden src]$ ./configure
checking for gcc... gcc
checking for C compiler default output... a.out
[...]
config.status: creating EnginePl/gp_config.h
address@hidden src]$ make
(cd EnginePl; make config)
make[1]: Entre dans le répertoire
`/home/remy/tmp/gprolog-1.2.16/src/EnginePl'
gcc -O3 -o pl_config pl_config.c
./pl_config
-------------------------------
--- GNU PROLOG INSTALLATION ---
-------------------------------
GNU Prolog version: 1.2.16 (Sep 19 2002)
Operating system : linux-gnu
Processor : i686
Size of a word : 32 bits
C compiler : gcc
C flags : -O3
C flags machine : -mcpu=pentiumpro -fomit-frame-pointer
Loader flags :
Loader libraries : -lm
Use line editor : Yes
Use piped consult : Yes
Use sockets : Yes
Use FD solver : Yes
Use fast call : Yes
Use machine regs. : Yes
Used register(s) : ebx ebp
------------------------------
(cd ../TopComp; make gplc)
[...]
gplc -c wam_emit.wam
[ ! -f pl2wam ] || cp pl2wam pl2wam0
gplc -o pl2wam --no-fd-lib --min-bips pl2wam.o read_file.o bip_list.o
syn_sugar.o internal.o code_gen.o reg_alloc.o inst_codif.o first_arg.o
indexing.o wam_emit.o
make[1]: Quitte le répertoire
`/home/remy/work/dea/gprolog-1.2.16/src/Pl2Wam'
make[1]: Entre dans le répertoire
`/home/remy/work/dea/gprolog-1.2.16/src/Fd2C'
gplc -c --fast-math fd2c.pl
compilation failed
make[1]: *** [fd2c.o] Erreur 1
make[1]: Quitte le répertoire
`/home/remy/work/dea/gprolog-1.2.16/src/Fd2C'
make: *** [all] Erreur 1
address@hidden src]$pl2wam
Segmentation fault
address@hidden src]$