[sisyphus] thunderbird и seamonkey: дружба по soname'ам
Alexey Gladkov
=?iso-8859-1?q?legion_=CE=C1_altlinux=2Eru?=
Вт Дек 13 04:38:02 MSK 2005
Artem пишет:
> # Add fake RPATH
> rpath="/$(printf %%s '%mozilla_home' |tr '[:print:]' '_')"
> export LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath"
>
> это в .spec от seamonkey содержится. или я опять неправильно понял? :-(
>
Если есть верхняя часть этого костыля, то нужно смотреть его ответную
часть в секции %install. Она там должна быть... что-то с chrpath.
Я не смог выкачать исходники этой морской макаки, но посмотрел на
бинарник и увидел ай-яй-яй:
[legion на legion seamonkey-1.0a]$ find -type f | while read f; do if
file "$f" |grep -qs "ELF"; then chrpath -l "$f"; fi done | grep -v
/usr/lib/seamonkey| wc -l
82
[legion на legion seamonkey-1.0a]$ find -type f | while read f; do if
file "$f" |grep -qs "ELF"; then chrpath -l "$f"; fi done | grep
/_______________________ |wc -l
72
2mike: У вас в продакшен системе есть такой каталог ? :)
Для сравнения:
[legion на legion firefox-1.5]$ find -type f | while read f; do if file
"$f" |grep -qs "ELF"; then chrpath -l "$f"; fi done | grep -v
/usr/lib/firefox-1.5| wc -l
0
А дело в том, что в этой сбокре seamonkey ответная часть костыля
старая ... нужно вот так:
# Add real RPATH
rpath="/$(printf %%s '%firefox_prefix' |tr '[:print:]' '_')"
find "%buildroot/%firefox_prefix" -type f |
while read f; do
%__file "$f" | grep -qs ELF || continue
if chrpath -l "$f" | fgrep -qs "RPATH=$rpath"; then
chrpath -r "%firefox_prefix" "$f"
fi
done
Вот этот ай-яй-яй и пересекается с библиотеками thunderbird и
получается ой-ёй-ёй.
Кстати, спасибо вам за поднятую тему ... я нашёл багу в thunderbird.
--
Rgrds, legion
Подробная информация о списке рассылки Sisyphus