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 ни с чем конфликтовать не будет - тот каталог
не прописан в хинтах у линкера.

Ответить