Hi, On Wed, Dec 05, 2007 at 09:18:58AM +0000, Alexander Baker wrote:
There is something fishy about those files. $ cat input_lexer.cc main() { return 0; } Funny, isn't it? $ cat ginsh_lexer.cc main() { return 0; } Same here. Now we get duplicate definition of main -- one in ginsh_parser.cc (correct) and this bogus one, hence the error:
g++ -g -O2 -o .libs/ginsh ginsh_parser.o ginsh_lexer.o ../ginac/.libs/libginac.so -lreadline -lncurses -L/usr/local/lib /usr/local/lib/libcln.so -Wl,--rpath -Wl,/usr/local/lib ginsh_lexer.o: In function `main': /home/bakera/inglethorpe/ginac/GiNaC/ginsh/ginsh_lexer.cc:1: multiple definition of `main' ginsh_parser.o:/home/bakera/inglethorpe/ginac/GiNaC/ginsh/ginsh_parser.yy:896: first defined here /usr/bin/ld: Warning: size of symbol `main' changed from 1474 in ginsh_parser.o to 3 in ginsh_lexer.o
So, I wonder where these files come from. There are definitely no such files in CVS (they are supposed automatically generated by flex). Did you create these files yourself? And more. In the config.log (line 1159) there are: ACLOCAL='aclocal-1.4' AR='ar' ARCHIVE_AGE='2' ARCHIVE_VERSION='2' AUTOCONF='autoconf' AUTOHEADER='autoheader' AUTOMAKE='automake-1.4' This means the `configure' script was created with wrong version of automake (1.4). Please use 1.7 or newer. Best regards, Alexei -- All science is either physics or stamp collecting.