Re: hidden symbol `__canonicalize_funcptr_for_compare' in
On Mon, Aug 23, 2010 at 10:11:54PM -0400, John David Anglin wrote:
> > On Tue, Aug 17, 2010 at 04:55:43PM -0400, John David Anglin wrote:
> > > > make: Entering directory `/build/buildd-atlas_3.8.3-21-hppa-fWTDBW/atlas-3.8.3/build/atlas-base/lib'
> > > > ld -shared -soname libblas.so.3gf -o atlas/libblas.so.3gf.0 \
> > > > --whole-archive atlas/libblas.a \
> > > > --no-whole-archive -L/usr/lib/gcc/hppa-linux-gnu/4.4.3/ -lgfortran -lgcc_s -lpthread -lm -lc
> > >
> > > I believe that the above command is the problem. It needs -lgcc after
> > > -lgcc_s on hppa. This will resolve __canonicalize_funcptr_for_compare,
> > > various millicode routines and __sync builtins.
> > >
> > > This would happen automatically if gcc/g++ was used to link the library
> > > instead of ld.
> > fyi, s/-lgcc_s/-lgcc_s -lgcc/ produced the same results.
> > Here's the atlas build log:
> > http://people.debian.org/~dannf/bugs/592885/atlas.buildlog
> I should have have said that -lgcc_s -lgcc also has to appear after the
> However, I see other link problems in build. For example,
> ld -shared -soname libatlas.so.3gf -o libatlas.so.3gf.0 \
> --whole-archive libatlas.a --no-whole-archive -lc -lm
> libatlas.a(ATL_lcm.o): In function `ATL_lcm':
> (.text+0xa8): warning: undefined reference to `$$divI'
> This arises from using ld directly instead of gcc/g++/gfortran.
Yeah, I was just trying to verify the theory to wave a dead chicken
for the atlas maintainers, but it is clear from you and Carlos' mails
that they shouldn't be using ld directly. I've reassigned the bug.