Why duplicate symbols in 1.0.1 and not 1.0 ???

Kevin Dalley kevind@rahul.net
Fri Jan 16 14:58:00 GMT 1998


Brad Garcia (bgarcia@fore.com) reports:
> Using "-frepo" didn't work in my case - I somehow ended up with some
> _undefined_ symbols (ugly ones, too - they don't actually appear in
> my code.  I'm guessing they're somehow generated by -frepo):


> My second question is, why doesn't -frepo work in my case?


While the case I reported is resolved when -frepo is added, my
complete program does not link with -frepo.  HPUX 9.0, I suspect, has
an ld with a maximum number of characters less than that needed by
g++.  Against my better judgment, I will give a short description of
this problem rather than including C++ code:

When I link, I get this complaint:

c++ -frepo  -o getstars  getstars.o antenna.o Angle.o interpolate.o star.o target.o metrica.o scint.o schedule.o greenbank.o parseconfig.o interval.o getdate.o misc.o parsesched.o -L/usr/tqlclients/lib/HP700 -lprogif_c -L/seti/kevin/cvsstuff/SCS-tree/lib -lSCS -L../lib -L/seti/scs/src/lib -L/usr/local/lib -ltcl -ldld -L/lib/pa1.1 -L/usr/lib/pa1.1 -lm 
/bin/ld: Unsatisfied symbols:
   __unguarded_linear_insert__H3ZPt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZ11target_so
   __unguarded_insertion_sort_aux__H3ZPt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZ11targ
   __introsort_loop__H4ZPt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZiZ11target_sort_X01T
   insert_aux__t6vector2Zt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZt24__default_alloc_template2b0i0Pt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP1
collect2: ld returned 1 exit status


Yet, this missing symbol is really:

         U __unguarded_linear_insert__H3ZPt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZt18__rb_tree_iterator3Zt4pair2ZClZP11Target_StarZRt4pair2ZClZP11Target_StarZPt4pair2ZClZP11Target_StarZ11target_sort_X01X11X21_v
schedule.o


Note that the real missing symbol has a few more characters than the
symbol which ld complains about.

-- 
Kevin Dalley
kevin@seti.org




More information about the Gcc-bugs mailing list