После обновления стандартной библиотеки C ++ с GCC 3.3 до GCC 3.4 вы должны перекомпилировать все библиотеки, ссылающиеся на нее, если ваша программа использует их, и в то же время также ссылки на стандартную библиотеку C ++. В вашем случае, учитывая ваши последующие действия, виновата libdb_cxx-4.2, поэтому пересоберите Berkeley DB 4.2. По сути, mysqlTest ссылается как на новую стандартную библиотеку C ++, так и на Berkeley DB, но Berkeley DB ссылается на старую. Компоновщик извлечет символы из обеих библиотек, но класс встроенного хранилища для некоторых из них, вероятно, изменился, и DB Беркли запутается.
Чтобы проверить, какие библиотеки вы используете, запустите ldd
для ваших двоичных файлов, а затем ldd
для каждой библиотеки C ++ в списке.