Problems building gnuchess

Brian Dessent brian@dessent.net
Fri Jun 30 10:28:00 GMT 2006


fabien.hinault@free.fr wrote:

> ./configure gave me the following warning.
> ----------------
> /cygdrive/c/Documents: line 1: fg: no job control
> /cygdrive/c/Documents: line 2: fg: no job control
> /cygdrive/c/Documents: line 3: 5: command not found
> /cygdrive/c/Documents: line 48: syntax error near unexpected token `newline'
> /cygdrive/c/Documents: line 48: `<</Length 6 0 R/Filter /FlateDecode>>'
> configure: WARNING: `missing' script is too old or missing

You will encounter many such problems in common unix tools when using a
directory with a space in it.  Unless you really enjoy debugging strange
shell script failures, don't do that. 
<http://cygwin.com/faq/faq.setup.html#faq.setup.name-with-space>. 
Remember that you can use "mount" to translate paths, so there is no
reason why you can't use the same directory as just
/home/fhinault/gnuchess-5.07.

> Then, with make, I had a first error:
> redefinition of function "getline" .
> I renamed the local "getline" into "get_line" in all files, and it was enough.

This has been discussed at length in the mailing list archives.

> gcc  -g -O2    -o gnuchess.exe  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
> init.o: In function `InitVars':
> /cygdrive/c/Documents and Settings/fhinault/gnuchess-5.07/src/init.c:649:
> undefined reference to `_initial_comments'
> ...

This link command is incorrect.  It is missing some libraries, possibly
as a consequence of configure tests that failed.  First get a
'configure' run that does not show errors, and then if you still have
problems, figure out which library each undefined symbol is defined in
and arrange to include this library in the link command.  The easiest
way to modify this if the configure script gets it wrong is just by
overriding LDFLAGS when configuring, e.g. path/to/configure (configure
options) LDFLAGS="-lfoo -lbar".

Note that the order things are specified on the link command line
matters.  Often linux packages will get sloppy here and it won't matter
because undefined symbols are allowed at link time on ELF platforms, but
not on win32 PE/COFF.  This means it's imperative that the order you
specify things on the link command follows their dependancy chain.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list