Сборка исходников для книги Стивенсона (UNIX Network Programming, Volume 1, Third Edition)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Сборка исходников для книги Стивенсона

Сообщение Stauffenberg »

Всем привет.

Собирал кто-то исходники для книги Ситвенсона UNIX Network Programming в "современных" дистрибутивах? Получилось полностью собрать все библиотеки и программы? У меня возникает проблема при сборке libfree, make выдает следующее:

Код: Выделить всё

gcc -I../lib -g -O2 -D_REENTRANT -Wall   -c -o inet_ntop.o inet_ntop.c
inet_ntop.c: In function ‘inet_ntop’:
inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype
  size_t size;
         ^
In file included from inet_ntop.c:27:0:
/usr/include/arpa/inet.h:64:20: error: prototype declaration
 extern const char *inet_ntop (int __af, const void *__restrict __cp,
                    ^
make: *** [inet_ntop.o] Error 1


Вот тут советуют поменять в libfree/inet_ntop.c:60 size на socklen, но мне этот хак не помогает.

Напомню, что исходники лучше брать не со страницы русского издания, а со страницы оригинала, т.е. отсюда. Там они немного изменены и были перезалиты 3 года назад.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Сборка исходников для книги Стивенсона

Сообщение drBatty »

Stauffenberg писал(а):
29.01.2015 12:48
argument ‘size’ doesn’t match prototype

это, AFAIK значит, что тип аргумента не совпадает в прототипе и в вызове функции.

Лень смотреть, обычно можно просто поменять тип на uint64_t, или какой у вас там size_t?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Сборка исходников для книги Стивенсона

Сообщение Bizdelnick »

Stauffenberg писал(а):
29.01.2015 12:48
Вот тут советуют поменять в libfree/inet_ntop.c:60 size на socklen, но мне этот хак не помогает.

Не size на socklen, а size_t на socklen_t.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Сборка исходников для книги Стивенсона

Сообщение Stauffenberg »

Bizdelnick писал(а):
29.01.2015 13:42
Stauffenberg писал(а):
29.01.2015 12:48
Вот тут советуют поменять в libfree/inet_ntop.c:60 size на socklen, но мне этот хак не помогает.

Не size на socklen, а size_t на socklen_t.

Теперь все собралось, спасибо, но как Вы пришли на size_t и socklen_t?
I fixed a single place (libfree/inet_ntop.c:60 and changed size to socklen ) and it compiled on my current Ubuntu.


В любом случае, после опять же малкенького хака получилось собрать проект в ping/ (как раз занимаюсь сейчас ICMP), и теперь можно заняться изучением этой темы по книге.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Сборка исходников для книги Стивенсона

Сообщение Bizdelnick »

Stauffenberg писал(а):
29.01.2015 14:05
как Вы пришли на size_t и socklen_t?

Путём сопоставления определения функции и её прототипа, как же ещё.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Сборка исходников для книги Стивенсона

Сообщение drBatty »

man 3 inet_ntop

и никаких хаков.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Ответить