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