gnugo-devel
[Top][All Lists]
Advanced

[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 ...

  
http://software.intel.com/en-us/articles/intelr-fortran-compiler-for-mac-os-non_lazy_ptr-unresolved-references-from-linking
  (http://tinyurl.com/8tzjyl)

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

  http://trac.macports.org/ticket/12994

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

  
http://stackoverflow.com/questions/79054/osx-105-leopard-symbol-mangling-with-nonlazyptr
  (http://tinyurl.com/a8bsep)

HTH,

Bertram




reply via email to

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