[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gnugo-devel] Doc revision

From: Bertram Felgenhauer
Subject: Re: [gnugo-devel] Doc revision
Date: Mon, 22 Dec 2008 22:08:54 +0100
User-agent: Mutt/1.5.16 (2007-06-09)

Gunnar Farnebäck wrote:
> Dan wrote:
> > With i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5465)
> > I get the same error message as with gnugo-3.7.12:
> >
> > gcc  -g -O2   -o mkmcpat  mkmcpat.o ../engine/libengine.a ../sgf/libsgf.a
> > ../utils/libutils.a ../engine/libengine.a -lncurses
> > Undefined symbols:
> >   "_potential_moves", referenced from:
> >       _potential_moves$non_lazy_ptr in libengine.a(montecarlo.o)
> > ld: symbol(s) not found
> Weird. We only have "potential_moves" in the source. The leading
> underscore and the "$non_lazy_ptr" suffix is something the compiler
> has invented itself. What does it try to achieve and why does that
> mess up a build that at least works with gcc? Does anybody know what's
> going on here and are we doing something wrong that gcc happens to be
> forgiving about?

Googled a bit ...

suggests passing -c to libtool or ranlib.
(so this might work: RANLIB='ranlib -c' ./configure; make)

suggests unsetting LD_PREBIND and LD_PREBIND_OVERLAP.

Prebinding seems to be an optimization meant for speeding up dynamic
linking. Other projects had trouble with that on MacOS X 10.5 as well.
The closest I've found to a technical description so far is



reply via email to

[Prev in Thread] Current Thread [Next in Thread]