[devel] Проблема при сборке newmon 27.0
Ivan Zakharyaschev
imz на altlinux.org
Пт Дек 2 15:20:21 MSK 2016
On Sun, 27 Nov 2016, Hihin Ruslan wrote:
> Здравствуйте Ivan Zakharyaschev
>> > Из того, что я узнал и понял из этого обсуждения, RUNPATH
>> > должен был бы работать не хуже, чем RPATH, который был в
>> > прошлых версиях.
>> Вот действительно, проблема в том, что verify-elf не учитывает
>> RUNPATH (как Вы и предположили). В отличие от lib.req,
>> например.
> Вот спасибо, а то я весь код palemoon уже перерыл ;-)
Чтобы всё было хорошо и красиво, при моём поверхнстном взгляде на
последнюю сборку 27.0.2-alt1 мне кажется, что не хватает аналогичного (как
у всех других библиотек, которые он носит с собой) RUNPATH у
libsoftokn3.so:
verify-elf: WARNING:
./usr/lib64/newmoon/libxul.so: RPATH entry found: /usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: not found:
libmozsqlite3.so
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_temp_directory
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_busy_timeout
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_column_blob
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_reset
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_exec
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_open
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_bind_int
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_column_int
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_step
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_close
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_column_bytes
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_bind_text
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_bind_blob
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_finalize
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_prepare_v2
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_file_control
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_free
verify-elf: WARNING: ./usr/lib64/newmoon/libsoftokn3.so: undefined symbol:
sqlite3_mprintf
verify-elf: WARNING: ./usr/lib64/newmoon/libplds4.so: RPATH entry found:
/usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libplc4.so: RPATH entry found:
/usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libnspr4.so: RPATH entry found:
/usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libmozsqlite3.so: RPATH entry
found: /usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libmozjs.so: RPATH entry found:
/usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libmozalloc.so: RPATH entry
found: /usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libicuuc.so.52: RPATH entry
found: /usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libicui18n.so.52: RPATH entry
found: /usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/libicudata.so.52: RPATH entry
found: /usr/lib64/newmoon
verify-elf: WARNING: ./usr/lib64/newmoon/components/libmozgnome.so: RPATH
entry found: /usr/lib64/newmoon
verify-elf: WARNING:
./usr/lib64/newmoon/browser/components/libbrowsercomps.so: RPATH entry
found: /usr/lib64/newmoon
В Вашем случае ничто не мешает такую же строгую проверку ввести для
содержимого /usr/lib64/newmoon/ , как и для стандартных путей с
библиотеками, чтобы такие вещи отлавливать. (Раз у Вас всё хорошо
благодаря RPATH/RUNPATH в отличие от случаев всяких плагинов.)
Кажется, такая опция в макросах для управления verify-elf есть. Но надо
посмотреть, чтобы точно сказать.
--
Best regards,
Ivan
Подробная информация о списке рассылки Devel