Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

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

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.