I've got a problem here : I have a C++ Library ("DataTsBroad") and a C++ Test app ("DataTsBroadTest"), to test it.
Actually, the Lib and the Test app are both compiled an a Debian Lenny.

Now, i want to continue to compile my Test app on a Debian Lenny (customer constraint), but I would compile my lib on a Squeeze or a Wheezy to work on the last Debian releases.

So, I successfully compiled my Lib on a Squeeze, But, after, when I try to compile my Test app with this Lib on the Lenny, it fails! There is a Link Error:

Linking CXX executable DataTsBroadTest /home/nis/pezierg/test/ProductMak/Export/DataTsBroad/L64/Release/libDataTsBroad64.so: undefined reference to `std::ctype::_M_widen_init() const@GLIBCXX_3.4.11'
collect2: ld returned 1 exit status
make[2]: *** [DataTsBroadTest] Error 1
make[1]: *** [CMakeFiles/DataTsBroadTest.dir/all] Error 2
make: * [all] Error 2

The problem is certainly due to ostream C++ Lib, I tried to comment all it's uses in my Lib and it works.

But how can I really fix the problem?

1 Answer 1


The problem seems to come from use a different version of Glibc: you compiled the library on Squeeze and the application on Lenny (with the lib from Squeeze).

Take a look to the output of:

ldd /home/nis/pezierg/test/ProductMak/Export/DataTsBroad/L64/Release/libDataTsBroad64.so

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .