В Чтв, 12/01/2006 в 20:22 +0300, Dmitry V. Levin пишет: > > Если линкуетесь с библиотеками вне стандартных путей, извольте > > устанавливать правильный RPATH. > > Готово. Первым пострадавшим, как это ни забавно, оказалась mozilla. > При попытке собрать mozilla-1.7.12-alt3.4.src.rpm случилось вот что: > > + /usr/lib/rpm/find-requires > Library libmsgbaseutil.so referenced from /usr/lib/mozilla/components/libaddrbook.so not found. > error: /bin/sh failed > error: Failed to find Requires > > А всё из-за того, что > $ find mozilla-buildroot -name libmsgbaseutil.so > mozilla-buildroot/usr/lib/mozilla/libmsgbaseutil.so > $ readelf -d mozilla-buildroot/usr/lib/mozilla/components/libaddrbook.so |grep -w libmsgbaseutil.so > 0x00000001 (NEEDED) Shared library: [libmsgbaseutil.so] > $ readelf -d mozilla-buildroot/usr/lib/mozilla/components/libaddrbook.so |grep -w RPATH |wc -l > 0 > > Эта сборка вообще не устанавливает RPATH: > $ for f in `find mozilla-buildroot -type f |xargs -r file |grep -w ELF |cut -d: -f1`; do readelf -d "$f" |grep -wqs RPATH && echo "$f"; done |wc -l > 0 > > В стандартных местах нет, RPATH не указан. И где, спрашивается, искать? Будет вам RPATH. Патч на это есть, но включать его до этого было без нужды.