[devel] Предотвращение недолинковки

Mikhail Novosyolov mikhailnov на altlinux.org
Сб Май 30 18:30:41 MSK 2020


Здравствуйте.

Пытаюсь понять, как сделать так, чтобы verify_elf выдал ошибку при обнаружении unresolved symbols, но не ругался на non-LFS functions.

Поставил "%global _verify_elf_method sctrict", получил:
verify-elf: ERROR: ./usr/bin/audacity: uses non-LFS functions: __open_2 __xstat fcntl fopen getrlimit open readdir

Эта проверка выглядит бесполезной в данном случае.

Поставил "%global _verify_elf_method normal" - получил такую же ошибку.

Задача - на этапе сборки убеждаться, что в рантайме не будет ошибки unresolved symbols. Зачем при этом проверять на соответствие LFS, не ясно. Поставить -Wl,--no-undefined не всегда вариант, т.к. многие апстримы допускают недолинковку плагинов. Мне кажется правильным в общем случае проверять, что /usr/bin/*, /usr/lib/*.so* не имеют недолинковки, а то, что лежит в нестандартных директориях вида /usr/lib64/xxx/*.so, не проверять, но при этом иметь возможность принудительно включить их проверку.



Подробная информация о списке рассылки Devel