[sisyphus] ldl и сборка

Dmitry Chistikov dd1email на gmail.com
Пт Май 25 13:25:11 MSK 2012


Мал Скрылёв, May. 25, 2012, 12:33 +0400:
> make[2]: Entering directory `/home/malo/git/Altlinux/avarice/avarice/src'
> g++  -g -O2   -o avarice crc16.o devdescr.o ioreg.o jtag2bp.o
> jtag2io.o jtag2misc.o jtag2prog.o jtag2run.o jtag2rw.o jtag2usb.o
> jtagbp.o jtaggeneric.o jtagio.o jtagmisc.o jtagprog.o jtagrun.o
> jtagrw.o main.o remote.o utils.o gnu_getopt.o gnu_getopt1.o  -ldl
> -lusb -lbfd -liberty  -lz
> /usr/lib/libbfd.a(plugin.o): In function `try_load_plugin':
> /usr/src/RPM/BUILD/binutils-2.22.52.0.3/bfd/plugin.c:306: undefined
> reference to `dlopen'
> /usr/src/RPM/BUILD/binutils-2.22.52.0.3/bfd/plugin.c:313: undefined
> reference to `dlsym'
> /usr/src/RPM/BUILD/binutils-2.22.52.0.3/bfd/plugin.c:309: undefined
> reference to `dlerror'
> collect2: выполнение ld завершилось с кодом возврата 1

Если я правильно читаю, *что* у Вас написано, то к dlopen(3) обращается
какая-то функция из уже не видного plugin.o, на который Вы ссылаетесь
указанием -lbfd. Следовательно, -ldl нужно поставить *после* -lbfd.

-- 
Дмитрий Чистиков


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