Не удалось скомпилировать netperf 2.7.0 с помощью Cygwin - PullRequest
0 голосов
/ 22 апреля 2020

Не уверен, что это правильное место, чтобы спросить об этом, но у меня возникла проблема с получением netperf 2.7.0 с использованием Cygwin. Исходя из того, что я прочитал, многие люди добились успеха в получении netperf для компиляции с использованием Cygwin, поэтому я надеюсь, что мне не хватает некоторых библиотек, которые я забыл установить, и надеюсь, что кто-то может пролить свет на это.

Вот последовательность шагов, которые я предпринял для компиляции.

wget https://github.com/HewlettPackard/netperf/archive/netperf-2.7.0.tar.gz
tar -zxvf netperf-2.7.0.tar.gz
cd netperf-netperf-2.7.0
./configure
./make all

Ниже приведен фрагмент сообщения об ошибке

mv -f .deps/netcpu_none.Tpo .deps/netcpu_none.Po
gcc     -o netperf.exe netperf.o netlib.o netsh.o nettest_bsd.o nettest_dlpi.o nettest_unix.o nettest_xti.o nettest_sctp.o nettest_sdp.o nettest_omni.o net_uuid.o dscp.o netcpu_none.o  -lm
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: netlib.o:netlib.c:(.text+0x1b46): undefined reference to `__CPU_ZERO'
netlib.o:netlib.c:(.text+0x1b46): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__CPU_ZERO'
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: netlib.o:netlib.c:(.text+0x1b57): undefined reference to `__CPU_SET'
netlib.o:netlib.c:(.text+0x1b57): relocation truncated to fit: R_X86_64_PC32 against undefined symbol `__CPU_SET'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:305: netperf.exe] Error 1
make[3]: Leaving directory '/home/David Chu/workspace/netperf-netperf-2.7.0/src'
make[2]: *** [Makefile:352: all-recursive] Error 1
make[2]: Leaving directory '/home/David Chu/workspace/netperf-netperf-2.7.0/src'
make[1]: *** [Makefile:277: all-recursive] Error 1
make[1]: Leaving directory '/home/David Chu/workspace/netperf-netperf-2.7.0'
make: *** [Makefile:215: all] Error 2

Прилагается полный журнал компиляции

compilation.log

Заранее спасибо!

Примечание: тот же вопрос был также опубликован в проекте netperf github, но активность в этом проекте низкая, поэтому я решил опубликовать здесь как хорошо. https://github.com/HewlettPackard/netperf/issues/41

1 Ответ

1 голос
/ 22 апреля 2020

Вы можете попытаться внести изменения в /usr/include/sys/cpuset.h с помощью #if 1 // __ GNU_VISIBLE,

и удалить __ из __CPU_ZERO в src / netlib. c

...