Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Сборка библиотек из книги


Автор: Oleg77 16.6.2016, 18:50
Доброго времени суток!
При сборке библиотек из книги "UNIX. Разработка сетевых приложений"  в Debian возникает следующая проблема:
Код

oleg@localhost:~/Downloads/unpv12e/lib$ make
gcc -g -O2 -D_REENTRANT -Wall   -c -o connect_nonb.o connect_nonb.c
In file included from connect_nonb.c:1:0:
unp.h:114:8: error: redefinition of ‘struct in_pktinfo’
 struct in_pktinfo {
        ^
In file included from /usr/include/netinet/in.h:37:0,
                 from unp.h:17,
                 from connect_nonb.c:1:
/usr/include/i386-linux-gnu/bits/in.h:127:8: note: originally defined here
 struct in_pktinfo
        ^
<builtin>: recipe for target 'connect_nonb.o' failed
make: *** [connect_nonb.o] Error 1

делал всё согласно редми:

Код

    cd <some-directory-of-your-choosing>
    gunzip -c unpv12e.tar.gz | tar xvf -

    cd unpv12e
    ./configure    # try to figure out all implementation   differences

    cd lib         # build the basic library that all programs need
    make           # use "gmake" everywhere on BSD/OS systems


Помогите пожалуйста разобраться.

Автор: tierswar 17.6.2016, 08:43
Пишет что в файле unp.h в строке №114 определяется уже определённая ранее структура.
Эта структура называется in_pktinfo и она определена в файле /usr/include/i386-linux-gnu/bits/in.h в строке №128.

Возможно, в файле unp.h стоит написать нечто вроде extern struct in_pktinfo{ //и т.д.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Sborka-bibliotek-iz-knigi-id5762cae6ae201584688b4567#findElement_E7045_57638dfeae2015fb46865979_0

Автор: Oleg77 17.6.2016, 20:43
Всем спасибо, собрать не получилось, пойду читать что нибудь поновее.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)