15.10.2012 15:25, Борис Самородов пишет: > 15.10.2012 12:07, Eugene Grosbein пишет: >> 15.10.2012 14:55, Борис Самородов пишет: >>> 15.10.2012 10:15, Eugene Grosbein пишет: >>> >>>> К сожалению, pkg_libchk не знает о /usr/local/lib/compat/pkg, >>>> куда portupgrade складывает прежние версии обновляемых библиотек >>>> и поэтому выдаёт много ложных результатов. >>> >>> Хм... Из PKG_LIBCHK(1): >>> ----- >>> [...] >>> DESCRIPTION >>> The pkg_libchk script uses pkg_info(1), ldd(1) and readelf(1) to check >>> whether a package is linked against missing libraries or libraries >>> resid- >>> ing in /usr/local/lib/compat and its subfolders. >>> [...] >>> -n --no-compat >>> This deactivates detecting compat libraries in >>> /usr/local/lib/compat as missing libraries. >>> ----- >> >> Пробовал - этот ключ сильно уменьшает количество ложных >> срабатываний, но почему-то не до конца: > > Давай для начала определимся с терминологией. "Ложные срабатывания" -- > это "приложение полностью работоспособно", поэтому pkg_libchk не прав?
Ложное срабатывание это тупо ложь про "misses", когда файл в наличии и линкер его корректно линкует (и поэтому всё работает). >> $ pkg_libchk -n >> boost-libs-1.39.0: /usr/local/lib/libboost_regex.so.4 misses libicudata.so.38 >> boost-libs-1.39.0: /usr/local/lib/libboost_regex.so.4 misses libicui18n.so.38 >> boost-libs-1.39.0: /usr/local/lib/libboost_regex.so.4 misses libicuuc.so.38 >> >> $ locate libicudata.so.38 libicui18n.so.38 libicuuc.so.38 > > Надеюсь, база locate у тебя соответствует действительности. ;-) Соответствует. >> /usr/local/lib/compat/pkg/libicudata.so.38 >> /usr/local/lib/libicudata.so.38.1 > > Откуда взялся вот этот файл? Мне кажется, ему там не место. Если уж > libicudata.so.38 лежит в compat. То же самое и два других. Ну, я его туда не клал :-) Какой-то порт инсталлировал, правда, сейчас pkg_info -W ничего про него не говорит, но это не важно - речь не про него. Речь про libicudata.so.38, который есть и линкуется. >> /usr/local/share/google-earth/libicudata.so.38 >> /usr/local/lib/compat/pkg/libicui18n.so.38 >> /usr/local/lib/libicui18n.so.38.1 >> /usr/local/lib/compat/pkg/libicuuc.so.38 >> /usr/local/lib/libicuuc.so.38.1 >> /usr/local/share/google-earth/libicuuc.so.38 > > А этот может конфликтовать в тем, который лежит в compat... Файл от google-earth ни с чем конфликтовать не будет - тот каталог не прописан в хинтах у линкера.
