[developers] PET on 64-bit Architectures
Ben Waldron
benjamin.waldron at cl.cam.ac.uk
Wed Feb 8 17:59:06 CET 2006
I'm experiencing similar problems to Eric. Can anyone help?
My attempts to compile ecl-0.9e fail at:
...
gcc -fPIC -DHAVE_CONFIG_H -I.
-I/homes/bmw20/tmp/x32/ecl-0.9e/src/gmp/mpz -I.. -D__GMP_WITHIN_GMP -I/
/x32/ecl-0.9e/src/gmp
-I/usr/groups/nltools/lingo/pet/32-bit/include/boost-1_33_1
-I/usr/groups/nltoo -bit/include/ -g -O2 -fomit-frame-pointer
-mcpu=athlon -march=athlon -c /homes/bmw20/tmp/x32/ecl-0.9e rsmul.c -o
aorsmul.o
/homes/bmw20/tmp/x32/ecl-0.9e/src/gmp/mpz/aorsmul.c:44: error:
conflicting types for '__gmpz_aorsmul'
/homes/bmw20/tmp/x32/ecl-0.9e/src/gmp/mpz/aorsmul.c:39: error: previous
declaration of '__gmpz_aorsmu
/homes/bmw20/tmp/x32/ecl-0.9e/src/gmp/mpz/aorsmul.c:44: error:
conflicting types for '__gmpz_aorsmul'
/homes/bmw20/tmp/x32/ecl-0.9e/src/gmp/mpz/aorsmul.c:39: error: previous
declaration of '__gmpz_aorsmu
I am able to compile ecl-0.9h, but cheap then refuses to make:
if gcc -DHAVE_CONFIG_H -DDYNAMIC_SYMBOLS -DDAG_TOMABECHI -DQC_PATH_COMP
-I. -I. -I.. -I../common
-I/usr/groups/nltools/lingo/pet/32-bit//lib/ecl/h
-I/home/bmw20/tmp/32/lkb//include
-I/usr/groups/nltools/lingo/pet/32-bit/include
-I/usr/groups/nltools/lingo/pet/32-bit/lib/include
-I/usr/groups/nltools/lingo/pet/32-bit/include/boost-1_33_1
-I/usr/groups/nltools/lingo/pet/32-bit/include/ -g -O2 -Wall -MT
petecl.o -MD -MP -MF ".deps/petecl.Tpo" -c -o petecl.o petecl.c; \
then mv -f ".deps/petecl.Tpo" ".deps/petecl.Po"; else rm -f
".deps/petecl.Tpo"; exit 1; fi
In file included from
/usr/groups/nltools/lingo/pet/32-bit//lib/ecl/h/ecl.h:62,
from petecl.c:22:
/usr/groups/nltools/lingo/pet/32-bit//lib/ecl/h/object.h:40: error:
syntax error before "cl_narg"
/usr/groups/nltools/lingo/pet/32-bit//lib/ecl/h/object.h:40: warning:
type defaults to `int' in declaration of `cl_narg'
/usr/groups/nltools/lingo/pet/32-bit//lib/ecl/h/object.h:40: warning:
data definition has no type or storage class
/usr/groups/nltools/lingo/pet/32-bit//lib/ecl/h/object.h:41: error:
syntax error before "narg"
Has anyone succeeded in running PET on 64-bit machines?
Thanks,
- Ben
Eric Nichols wrote:
> Greetings,
>
> I have been trying to get PET working on 64 bit machines and am
> experiencing a few problems
> getting it to compile with RMRS support. On 32 bit architectures, I
> have been able to compile
> successfully using ECL versions 0.9d and 0.9e, however, ECL versions
> older than 0.9g will not
> compile due to an obscure G++ bug. Thus, before attempting to build
> PET on a 64 bit platform,
> I am focusing my efforts on getting PET building on a 32 bit machine
> using the latest version of
> ECL (0.9h). This version claims to support G++ 4.0 and 64 bit
> platforms, but it also contains
> several changes to the C-Lisp interface which I fear may have broken
> the RMRS code. I have
> attached a log of the error messages I get when I compile. My system
> is as follows:
>
> CPU: Intel Pentium 4 3.2 Ghz with HyperThreading
> Operating System: Ubuntu Linux "Breezy"
> Kernel: 2.6.12
> Compiler: G++ 4.0.2
> ECL: version 0.9h
> RMRS source: LKB 20051116 release
> PET source: 0.99.7 main branch + patch
>
> I am applying a patch that I wrote to make the mrs.h file by calling
> ECL which builds its from the
> RMRS source since rmrs.h is no longer distributed with LKB.
>
> It appears that ECL is able to generate all of the C code correctly.
> The errors start with:
>
> In file included from /usr/lib/ecl/h/ecl.h:62,
> from petecl.c:22:
> /usr/lib/ecl/h/object.h:40: error: syntax error before ‘cl_narg’
>
> Line 22 of petecl.c is #include <ecl.h>. Simply including it is enough
> to generate errors.
>
> I would greatly appreciate it if someone more knowledgeable about LISP
> could look into this.
>
More information about the developers
mailing list