./map_insert.exe: relocation error: ./map_insert.exe: undefined symbol: _ZSt14_S_rb_tree_red

Benjamin Kosnik bkoz@redhat.com
Fri Feb 15 09:43:00 GMT 2002


> Are you sure?  

Yep. I'm sure. Phil did an excellent job.

You'll see this with the link map support on when building the .so:

 -Wl,--version-script=linker.map -Wl,-soname -Wl,libstdc++.so.4 -o 
.libs/libstdc++.so.4.0.0

Without it:
-Wl,-soname -Wl,libstdc++.so.4 -o .libs/libstdc++.so.4.0.0

Then, after you've created a shared executable, the undefined symbols are 
versioned, like so

nm a.out | grep GLIBCPP_3.1

[snip]
         U _ZNSt6locale5_ImplC1ERKS0_j@@GLIBCPP_3.1
         U _ZNSt6locale5facetC2Ej@@GLIBCPP_3.1
         U _ZNSt6locale5facetD2Ev@@GLIBCPP_3.1
         U _ZNSt6locale7classicEv@@GLIBCPP_3.1

ok?

-benjamin



More information about the Libstdc++ mailing list