Re: hidden symbol `__canonicalize_funcptr_for_compare' in
On Tue, Aug 17, 2010 at 4:55 PM, John David Anglin
>> 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.
Linking with `ld` is the number one cause of these types of problems.
Users should not link with the linker directly, there is no need in
this day and age, you can pass -Wl,--whole-archive down the linker
from the compiler driver.