[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