Такая history. В системе gcc 4.4.5, соответственно и либы от него же. Собрал недавно gcc 4.6.1 и установил его в home. Указал codeblocks-у путь к свежей версии. Скомпилил такое.
int main (int argc, char* argv[])
{
std::cout<<"gcc version = "<<__GNUC__<<"."<<__GNUC_MINOR__<<"<<__GNUC_PATCHLEVEL__<<std::endl;
}
Запускаю, вижу - «gcc version = 4.6.1».
запускаю ldd и вижу:
linux-gate.so.1 => (0xb778d000)
libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libstdc++.so.6 (0xb7676000)
libm.so.6 => /lib/libm.so.6 (0xb7652000)
libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.4.5/libgcc_s.so.1 (0xb7636000)
libc.so.6 => /lib/libc.so.6 (0xb74e8000)
/lib/ld-linux.so.2 (0xb778e000)
И не понимаю как 4.6 может использовать рантайм от 4.4.5, да и ещё без падений. Вроде же бинарной совместимости нету. Проясните плиз.