[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