Ошибка компиляции при компиляции NetSys / bess с использованием `build.py` - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь скомпилировать bess в моем Ubuntu с Linux localhost 4.13.0-16-generic #19-Ubuntu SMP Wed Oct 11 18:35:14 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux.

Исходный код всего проекта находится по адресу: NetSys / bess в Github

Тем не менее, я запустил .\build.py и получил разочарованную ошибку компиляции следующим образом:

In file included from utils/copy_bench.cc:34:0:
utils/copy_bench.cc:176:1: error: expected initializer at end of input
 BENCHMARK_MAIN()
 ^
[MODULE_CXX] modules/port_out.o
Error: copy_bench.o
g++ -o copy_bench.o -c utils/copy_bench.cc -std=c++17 -g3 -ggdb3 -march=native -isystem /home/xiarui/bess/deps/dpdk-17.11/build/include -isystem /home/xiarui/bess/core -isystem utils/.. -isystem /home/xiarui/bess/core/modules -D_GNU_SOURCE -Werror -Wall -Wextra -Wcast-align -Wno-error=deprecated-declarations -fno-gnu-unique -O3 -DNDEBUG -MT copy_bench.o -MMD -MP -MF .deps/copy_bench.d
Makefile:475: recipe for target 'copy_bench.o' failed
make: *** [copy_bench.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from /home/xiarui/bess/deps/dpdk-17.11/build/include/rte_spinlock.h:44:0,
                 from /home/xiarui/bess/deps/dpdk-17.11/build/include/rte_mempool.h:72,
                 from /home/xiarui/bess/deps/dpdk-17.11/build/include/rte_mbuf.h:65,
                 from /home/xiarui/bess/deps/dpdk-17.11/build/include/rte_ether.h:52,
                 from /home/xiarui/bess/deps/dpdk-17.11/build/include/rte_ethdev.h:185,
                 from drivers/pmd.h:38,
                 from drivers/pmd.cc:31:
drivers/../packet.h: In static member function ‘static void bess::Packet::Free(bess::Packet**, size_t)’:
drivers/../packet.h:346:23: error: ‘const class bess::Packet’ has no member named ‘refcnt’; did you mean ‘reset’?
                  pkt->refcnt() != 1)) {
                       ^
In file included from drivers/../utils/copy.h:38:0,
                 from drivers/../pktbatch.h:34,
                 from drivers/../gate.h:42,
                 from drivers/../module.h:44,
                 from drivers/../port.h:44,
                 from drivers/unix_socket.h:42,
                 from drivers/unix_socket.cc:38:
drivers/../packet.h: In static member function ‘static void bess::Packet::Free(bess::Packet**, size_t)’:
drivers/../packet.h:346:23: error: ‘const class bess::Packet’ has no member named ‘refcnt’; did you mean ‘reset’?
                  pkt->refcnt() != 1)) {

Ошибка говорит error: ‘const class bess::Packet’ has no member named ‘refcnt’; did you mean ‘reset’?.Я прохожу через bess/core и нахожу packet.cc и packet.h.На самом деле, я не нахожу функцию refcnt(), и только uint16_t refcnt_; существует в личных полях class Packet.

Не могли бы вы поделиться мнением по моей проблеме?

С наилучшими пожеланиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...