Проблемы с установкой libnet-0.10.11 на Ubuntu-9.10 - PullRequest
1 голос
/ 27 января 2011

Вот что я сделал ... #tar -xzvf libnet-0.10.11.tar.gz #cd libnet

Затем я скопировал файл linux.mak в файл port.mak в родительском каталоге. Затем, как говорится в документации, я использовал make в данном каталоге ...

naman@naman-laptop:~/Desktop/Software/libnet$ make
make -C lib/ lib
make[1]: Entering directory `/home/naman/Desktop/Software/libnet/lib'
gcc -O2 -Wall -Werror -Wno-unused -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g -I../include -Iinclude -DTARGET_LINUX   -c -o core/config.o core/config.c
cc1: warnings being treated as errors
core/config.c: In function ‘__libnet_internal__seek_section’:
core/config.c:87: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
core/config.c: In function ‘__libnet_internal__get_setting’:
core/config.c:111: error: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
make[1]: *** [core/config.o] Error 1
make[1]: Leaving directory `/home/naman/Desktop/Software/libnet/lib'
make: *** [lib] Error 2

Может кто-нибудь, пожалуйста, объясните мне ошибку подробно, и как ее исправить? Любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 26 ноября 2013

https://github.com/sam-github/libnet, это древняя версия libnet, современная использует autoconf, вам нужно использовать такую ​​старую?

Я бы предложил удалить как -Wall, так и -Werror из используемого вами make-файла.

0 голосов
/ 05 февраля 2011

Похоже, вы пытаетесь скомпилировать более старую библиотеку в более новой системе, и новые предупреждения были добавлены в gcc с момента ее написания.

Поскольку в файле Makefile предупреждения считаются ошибками (вы можете сказать, что он напечатал cc1: warnings being treated as errors), ошибки warn_unused_result предупреждения приводят к сбою компиляции.

Вы можете выбрать:

  1. Отредактируйте Makefile (ы) и удалите все параметры -Werror
  2. Исправить основную причину (неиспользуемые fgets () возвращают значения в коде)
  3. Найдите другую библиотеку для использования - почему вы хотите использовать эту (предположительно не поддерживаемую) библиотеку в вашей системе?
...