[devel] продолжение сборки quagga. сборка в hasher, а , так же , %set_verify_elf_method unresolved
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Чт Мар 9 18:52:17 MSK 2006
On Thu, Mar 09, 2006 at 07:22:30PM +0400, Sergey Y. Afonin wrote:
> При сборке всё еще имеют место две проблемы.
>
> Первая:
>
> при --enable-snmp вылезает вот такой набор ошибок:
>
> gcc -pipe -Wall -O2 -march=i686 -rdynamic -o .libs/zebra zserv.o main.o interface.o connected.o zebra_rib.o redistribute.o debug.o rtadv.o zebra_snmp.o zebra_vty.o irdp_main.o irdp_interface.o irdp_packet.o router-id.o ioctl.o ipforward_proc.o if_netlink.o rt_netlink.o rtread_netlink.o ../lib/.libs/libzebra.so -lm -lcrypt -lnetsnmp -lcrypto
> /usr/bin/../lib/libnetsnmp.so.9: undefined reference to `EVP_DigestInit'
> /usr/bin/../lib/libnetsnmp.so.9: undefined reference to `EVP_DigestFinal'
> /usr/bin/../lib/libnetsnmp.so.9: undefined reference to `EVP_DigestFinal_ex'
> /usr/bin/../lib/libnetsnmp.so.9: undefined reference to `AES_set_encrypt_key'
> /usr/bin/../lib/libnetsnmp.so.9: undefined reference to `EVP_md5'
> /usr/bin/../lib/libnetsnmp.so.9: undefined reference to `HMAC'
>
> или -lm должно быть еще и после -l* ? Но при сборке без hasher на
> текущем Сизифе не воспроизводится...
ldd -r /usr/lib/libnetsnmp.so.9 показывает, что эта библиотека собрана
криво (при сборке пропущено -lcrypto). Нужно лечить пакет net-snmp (ну
или пока собирать без --enable-snmp).
> Вторая:
>
> Adjusting library links in /usr/src/tmp/quagga-buildroot
> ./var/lib:
> ./usr/lib:
> libospfapiclient.so.0 -> libospfapiclient.so.0.0.0
> libospf.so.0 -> libospf.so.0.0.0
> libzebra.so.0 -> libzebra.so.0.0.0
> Verifying ELF objects in /usr/src/tmp/quagga-buildroot (arch=normal,fhs=relaxed,rpath=normal,textrel=normal,unresolved=relaxed)
> verify-elf: WARNING: ./usr/lib/libzebra.so.0.0.0: undefined symbol: master
> verify-elf: WARNING: ./usr/lib/libospf.so.0.0.0: undefined symbol: no_interface_desc_cmd
> verify-elf: WARNING: ./usr/lib/libospf.so.0.0.0: undefined symbol: no_interface_cmd
> verify-elf: WARNING: ./usr/lib/libospf.so.0.0.0: undefined symbol: recent_time
> <и т.д.>
>
> %set_verify_elf_method unresolved=relaxed
> ситуацию спасает, оно, потом, работает. Ввиду малого современного
> программистского опыта готов выслушать, куда попытаться посмотреть.
Нужно посмотреть, где на самом деле определены недостающие символы (nm -D,
findsym). Если в других библиотеках - необходимо указать их при сборке.
Впрочем, ELF допускает и вариант, когда библиотека использует символы,
предоставляющиеся исполняемым файлом - в таком случае остаётся либо
проигнорировать проблему, либо разбираться, зачем это было нужно, и искать
другой способ реализации, не требующий подобных ссылок.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060309/49a12aaa/attachment-0001.bin>
Подробная информация о списке рассылки Devel