version `GLIBCXX_3.4.9' not found

I compile project on ubuntu 9.10 with gcc4.4.1 libstdc++.so.6..10/13 and run target on redhat 5.4 wich libstdc++.so.6.8

GLIBCXX_3.4.9 needs at least libstdc++.so.6.10

 

"

libname=libSXXXX.so
dlopen error:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by libSXXXX.so)


"

I  was caught by this trouble last week. Then I packed listdc++.so.6->libstdc++.so.0.10 in package and the trouble gone.

 

But after nm other lib in my project, I found only libSXXXX.so linked on symol "_ZNSo9_M_insertIdEERSoT_GLIBCXX_3.4.9"


So I found this article by google "http://stackoverflow.com/questions/421282/answer/submit"


There is also another efficent way to handle this. "Drag libSXXXX.so to IDA pro" and you will found the secret.


It's because of an stringstream usage. 

sample code :


stringstream sstr;

double dvalue = 10.0

sstr<<dvalue; //This is the clause.

你可能感兴趣的:(redhat,Google,ubuntu,gcc)