i486-pc-linux-gnu-gcc -pthread -O2 -mtune=i686 -pipe -mmmx -fomit-frame-pointer -fno-strict-aliasing -fno-common -mpreferred-stack-boundary=2 -falign-functions=0 -falign-jumps=0 -falign-loops=0 -funit-at-a-time -o gnuchess atak.o book.o cmd.o debug.o epd.o eval.o genmove.o getopt.o getopt1.o hash.o hung.o init.o input.o iterate.o main.o move.o null.o output.o players.o pgn.o ponder.o quiesce.o random.o repeat.o search.o solve.o sort.o swap.o test.o ttable.o util.o lexpgn.o -lreadline -lncurses book.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here cmd.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here debug.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here epd.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here eval.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here genmove.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here hash.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here hung.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here init.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here input.o:(.bss+0x8): multiple definition of `getline' atak.o:(.bss+0x0): first defined here iterate.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here main.o:(.bss+0xc7088): multiple definition of `getline' atak.o:(.bss+0x0): first defined here move.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here null.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here output.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here players.o:(.bss+0x4): multiple definition of `getline' atak.o:(.bss+0x0): first defined here pgn.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here ponder.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here quiesce.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here random.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here repeat.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here search.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here solve.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here sort.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here swap.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here test.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here ttable.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here util.o:(.bss+0x0): multiple definition of `getline' atak.o:(.bss+0x0): first defined here lexpgn.o:(.bss+0x14): multiple definition of `getline' atak.o:(.bss+0x0): first defined here Reproducible: Always Steps to Reproduce: 1. emerge gnuchess The /etc/make.conf is the following: CFLAGS="-O2 -mtune=i686 -pipe -mmmx -fomit-frame-pointer -fno-strict-aliasing -fno-common -mpreferred-stack-boundary=2 -falign-functions=0 -falign-jumps=0 -falign-loops=0 -funit-at-a-time" CXXFLAGS="${CFLAGS}" # This should not be changed unless you know exactly what you are doing. You # should probably be using a different stage, instead. CHOST="i486-pc-linux-gnu" USE="fpit zlib -test python nptl unicode pam nls ipv6 cracklib acl perl berkdb ncurses readline ssl gpm arts x11 usb cups tablet wacom aac a52 alsa avi bzip2 cairo dbus dvd gif jack speex theora ruby sdl svg win32codecs X mikmod matroska jpeg jpeg2k mpeg mp3 mp4 postgres xv ladspa qt3 qt4 utempter dri -debug opengl" #python FEATURES="parallel-fetch ccache" INPUT_DEVICES="evdev fpit keyboard mouse wacom" A patch: In the file common.h /* * Input routine, initialized to one of the specific * input routines. The given argument is the prompt. */ ------ void (*getline) (char *); ++++++ extern void (*getline) (char *); Best Regards.
builds fine for me on stable x86. reopen with the output from emerge --info
The "problem" is the gnu gcc C extension -fno-common. In a purist C compiler, this option is always enabled. Best regards and thanks for the fastest linux.
"reopen"
fixed in CVS.