Ошибка компоновщика, связанная с boost_lock - PullRequest
1 голос
/ 04 ноября 2011

Я работаю над игровым движком http://ducttape -dev.org , который использует boost как одну из зависимостей. Однажды, когда я писал тестовое приложение, связанное с моим игровым движком, Extruder of OgreProcedural выдал такую ​​ошибку. После устранения неполадок и поиска в течение нескольких часов, я сделал обновление системы (я использую archlinux) и восстановил все зависимости. Перезагрузился, все еще получил такую ​​же ошибку. Попытался восстановить двигатель, и получил ошибку компоновщика. Каждый раз, когда я пытаюсь связать двигатель, он выдает эту ошибку http://pastebin.com/PGH25Yuy.

это просто произошло в libMyGUI, но вместо этого я получил ссылку на файлы в движке, и все в формате "(ошибки), на которые ссылаются в разделе (больше ошибок) [не виртуальные ссылки на (какой-то файл) of (некоторый файл), определенный в отброшенном разделе (некоторый файл) ". Я могу собрать MyGUI из исходного кода и не получать ошибок, я могу создавать boost из исходного кода и не получать ошибок. Я не знаю, как решить эту проблему. Я даже не знаю, что это значит. Любая помощь (даже если бы вы могли просто сказать мне, что это за ошибка) была бы очень оценена.

archlinux x64, amd64 athlon x2, 5 Гб оперативной памяти, gcc 4.6.2, binutils 2.21.1, boost 1.47.0

1 Ответ

2 голосов
/ 04 ноября 2011

Ранее у меня была похожая ошибка после обновления до gcc 4.6.2. Странно было то, что понижение всех пакетов (gcc, libtool, boost) не решило проблему. Похоже, проблема в смешанной компиляции: я обновил все пакеты (самые новые версии репо), затем выбросил старые данные компиляции (очистил) и перестроил все. Тогда это сработало.

Вот похожая ошибка, которую я получил:

.text._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorISt12out_of_rangeEEED2Ev "ссылка в разделе .text._ZN5boost16exception_detail10clone_implINS0_19error_info_injectorISt12out_of_rangeEEED1Ev [повышение :: exception_detail :: clone_impl> :: ~ clone_impl ()] из ./source/gepetto/.libs/libgepetto.a(libslab_la-layout. o): определено в отброшенном разделе

...