[sisyphus] gcc/libc/libstdc++ mismatch
Mikhail Yakshin
greycat на altlinux.org
Вт Янв 12 19:23:32 UTC 2010
Приветствую,
Быстрый поиск по рассылкам / багзилле почти ничего не дал, на всякий
случай решил написать сюда - не сталкивался ли кто-либо с чем-то
подобным.
После выборочного обновления в системе встали следующие пакеты:
libgcc4.4-4.4.2-alt3 (до этого была libgcc4.1-4.1.2-alt2)
libstdc++4.4-4.4.2-alt3 (была libstdc++4.1-4.1.2-alt2)
glibc-core-2.10.1-alt5 (не обновлялась)
librpm-4.0.4-alt98.27
rpm-4.0.4-alt98.27
librpmbuild-4.0.4-alt98.27
apt-0.5.15lorg2-alt31.1
libapt-0.5.15lorg2-alt31.1
Множество программ, например apt-get или groff, перестали запускаться
со следующей диагностикой:
$ apt-get
apt-get: symbol lookup error: /usr/lib64/libstdc++.so.6: undefined
symbol: _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE,
version GLIBCXX_3.4
$ groff
groff: symbol lookup error: /usr/lib64/libstdc++.so.6: undefined
symbol: _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE,
version GLIBCXX_3.4
Т.е. похоже, что всё, что зависит от libstdc++.so.6:
$ rpm -q --whatrequires 'libstdc++.so.6(CXXABI_1.3)(64bit)'
При этом nm -D на эту библиотеку показывает
$ nm -D /usr/lib64/libstdc++.so.6 | grep
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
00000000002ef240 ?
_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE
Т.е. загадочное:
"?" The symbol type is unknown, or object file format specific.
Всего таких символов:
$ nm -D /usr/lib64/libstdc++.so.6 | grep '?' | wc -l
38
Что еще нужно обновить и каких еще зависимостей не хватает? Видимо,
новый glibc? Нашел https://bugzilla.redhat.com/show_bug.cgi?id=513721
- где, собственно, упоминается glibc-2.10.90-3 vs glibc-2.10.90-7.
Почему бы не установить эту зависимость на нужную версию glibc-core в
libstdc++?
--
WBR, Mikhail Yakshin
Подробная информация о списке рассылки Sisyphus