[devel] Как пролезли undefined symbol?
Boris Savelev
boris на altlinux.org
Сб Май 16 12:32:14 MSD 2009
16 мая 2009 г. 12:23 пользователь Alexey Tourbin <at на altlinux.ru> написал:
> On Sat, May 16, 2009 at 11:56:21AM +0400, Max Ivanov wrote:
>> Добрый день! Как такое могло получиться: /usr/lib/mlt/libmltcore.so:
>> undefined symbol: pow
>> столько закручивали гайки, а оно всё равно вот такое пропускает.
>>
>> Пофиксил, отправил, вина моя и посыпаю голову пеплом. Но всё же, может
>> есть какой макрос, что б проверяло на эти самые undefined и не
>> пропускало?
>
> В "плагинах" в общем случае нельзя требовать чтобы все символы были
> непосредственно разрешены.
>
> $ ldd -r /usr/lib64/zsh/zpty.so |& head
> undefined symbol: mypid (/usr/lib64/zsh/zpty.so)
> undefined symbol: lines (/usr/lib64/zsh/zpty.so)
> undefined symbol: errflag (/usr/lib64/zsh/zpty.so)
> undefined symbol: scriptname (/usr/lib64/zsh/zpty.so)
> undefined symbol: coprocin (/usr/lib64/zsh/zpty.so)
> undefined symbol: columns (/usr/lib64/zsh/zpty.so)
> undefined symbol: contflag (/usr/lib64/zsh/zpty.so)
> undefined symbol: retflag (/usr/lib64/zsh/zpty.so)
> undefined symbol: breaks (/usr/lib64/zsh/zpty.so)
> undefined symbol: lastval (/usr/lib64/zsh/zpty.so)
> $
>
> Эти символы определны в /bin/zsh. Для этого /bin/zsh линкуется
> с флагом -rdynamic. Это такая легальная схема, почему в elf shared
> object могут допускаться undefined symbols.
>
> Макрос называется
> %set_verify_elf_method strict
>
а что означает "bad_elf_symbols"?
http://git.altlinux.org/tasks/6284/task/log
--
С уважением, Борис Савельев
Подробная информация о списке рассылки Devel