Comments (4)
I think you truncated the output just where it was interesting. We know that there is a linker error, but we don't know what kind of error. What came before in the output?
from behavioral-model.
When I enter "make", the whole output is as the following shows. It shows there is some undefined reference to some libraries, but I have no idea how to fix it.
make[1]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2'
Making all in thrift_src
make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src'
make all-am
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src'
make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src'
Making all in third_party
make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party'
Making all in gtest
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/gtest'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/gtest'
Making all in jsoncpp
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/jsoncpp'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/jsoncpp'
Making all in spdlog
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/spdlog'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/spdlog'
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party'
make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party'
Making all in src
make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src'
Making all in bf_lpm_trie
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bf_lpm_trie'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bf_lpm_trie'
Making all in BMI
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/BMI'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/BMI'
Making all in bm_sim
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_sim'
depbase=echo version.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'
;
/bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -DBMLOG_DEBUG_ON -DBMLOG_TRACE_ON -DBMELOG_ON -I../../include -isystem../../third_party/jsoncpp/include -isystem../../third_party/spdlog -I./../BMI -I./../bf_lpm_trie -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -MT version.lo -MD -MP -MF $depbase.Tpo -c -o version.lo version.cpp &&
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -DBMLOG_DEBUG_ON -DBMLOG_TRACE_ON -DBMELOG_ON -I../../include -isystem../../third_party/jsoncpp/include -isystem../../third_party/spdlog -I./../BMI -I./../bf_lpm_trie -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -MT version.lo -MD -MP -MF .deps/version.Tpo -c version.cpp -fPIC -DPIC -o .libs/version.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -DBMLOG_DEBUG_ON -DBMLOG_TRACE_ON -DBMELOG_ON -I../../include -isystem../../third_party/jsoncpp/include -isystem../../third_party/spdlog -I./../BMI -I./../bf_lpm_trie -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -MT version.lo -MD -MP -MF .deps/version.Tpo -c version.cpp -o version.o >/dev/null 2>&1
/bin/bash ../../libtool --tag=CXX --mode=link g++ -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -o libbmsim.la actions.lo ageing.lo bytecontainer.lo calculations.lo checksums.lo conditionals.lo context.lo counters.lo debugger.lo deparser.lo dev_mgr.lo dev_mgr_bmi.lo dev_mgr_packet_in.lo event_logger.lo expressions.lo extern.lo fields.lo headers.lo learning.lo lookup_structures.lo logger.lo match_units.lo match_tables.lo md5.lo meters.lo options_parse.lo P4Objects.lo packet.lo parser.lo pcap_file.lo pipeline.lo port_monitor.lo phv.lo phv_source.lo stateful.lo switch.lo simple_pre.lo simple_pre_lag.lo target_parser.lo transport.lo version.lo xxhash.lo -lboost_thread -lpcap -lnanomsg -lgmp -lJudy
libtool: link: rm -fr .libs/libbmsim.a .libs/libbmsim.la
libtool: link: ar cru .libs/libbmsim.a .libs/actions.o .libs/ageing.o .libs/bytecontainer.o .libs/calculations.o .libs/checksums.o .libs/conditionals.o .libs/context.o .libs/counters.o .libs/debugger.o .libs/deparser.o .libs/dev_mgr.o .libs/dev_mgr_bmi.o .libs/dev_mgr_packet_in.o .libs/event_logger.o .libs/expressions.o .libs/extern.o .libs/fields.o .libs/headers.o .libs/learning.o .libs/lookup_structures.o .libs/logger.o .libs/match_units.o .libs/match_tables.o .libs/md5.o .libs/meters.o .libs/options_parse.o .libs/P4Objects.o .libs/packet.o .libs/parser.o .libs/pcap_file.o .libs/pipeline.o .libs/port_monitor.o .libs/phv.o .libs/phv_source.o .libs/stateful.o .libs/switch.o .libs/simple_pre.o .libs/simple_pre_lag.o .libs/target_parser.o .libs/transport.o .libs/version.o .libs/xxhash.o
ar: u' modifier ignored since
D' is the default (see U') libtool: link: ranlib .libs/libbmsim.a libtool: link: ( cd ".libs" && rm -f "libbmsim.la" && ln -s "../libbmsim.la" "libbmsim.la" ) make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_sim' Making all in bm_runtime make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_runtime' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_runtime' Making all in bm_apps make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' Making all in . make[4]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' make[4]: Nothing to be done for 'all-am'. make[4]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' Making all in examples make[4]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps/examples' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps/examples' make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src' /bin/bash ../libtool --tag=CXX --mode=link g++ -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -o libbmall.la -rpath /usr/local/lib ../src/bm_sim/libbmsim.la ../src/bf_lpm_trie/libbflpmtrie.la ../src/BMI/libbmi.la ../third_party/jsoncpp/libjson.la ../src/bm_runtime/libbmruntime.la ../thrift_src/libruntimestubs.la -lboost_system -lthrift -lboost_program_options -lboost_thread -lpcap -lnanomsg -lgmp -lJudy libtool: link: rm -fr .libs/libbmall.a .libs/libbmall.la .libs/libbmall.lai .libs/libbmall.so .libs/libbmall.so.0 .libs/libbmall.so.0.0.0 libtool: link: g++ -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/5/crtbeginS.o -Wl,--whole-archive ../src/bm_sim/.libs/libbmsim.a ../src/bf_lpm_trie/.libs/libbflpmtrie.a ../src/BMI/.libs/libbmi.a ../third_party/jsoncpp/.libs/libjson.a ../src/bm_runtime/.libs/libbmruntime.a -Wl,--no-whole-archive -Wl,-rpath -Wl,/home/jy/sdn/p4/tutorials/bmv2/thrift_src/.libs ../thrift_src/.libs/libruntimestubs.so -lboost_system -lthrift -lboost_program_options -lboost_thread -lpcap -lnanomsg -lgmp -lJudy -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/5/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crtn.o -pthread -g -O2 -pthread -Wl,-soname -Wl,libbmall.so.0 -o .libs/libbmall.so.0.0.0 libtool: link: (cd ".libs" && rm -f "libbmall.so.0" && ln -s "libbmall.so.0.0.0" "libbmall.so.0") libtool: link: (cd ".libs" && rm -f "libbmall.so" && ln -s "libbmall.so.0.0.0" "libbmall.so") libtool: link: (cd .libs/libbmall.lax/libbmsim.a && ar x "/home/jy/sdn/p4/tutorials/bmv2/src/../src/bm_sim/.libs/libbmsim.a") libtool: link: (cd .libs/libbmall.lax/libbflpmtrie.a && ar x "/home/jy/sdn/p4/tutorials/bmv2/src/../src/bf_lpm_trie/.libs/libbflpmtrie.a") libtool: link: (cd .libs/libbmall.lax/libbmi.a && ar x "/home/jy/sdn/p4/tutorials/bmv2/src/../src/BMI/.libs/libbmi.a") libtool: link: (cd .libs/libbmall.lax/libjson.a && ar x "/home/jy/sdn/p4/tutorials/bmv2/src/../third_party/jsoncpp/.libs/libjson.a") libtool: link: (cd .libs/libbmall.lax/libbmruntime.a && ar x "/home/jy/sdn/p4/tutorials/bmv2/src/../src/bm_runtime/.libs/libbmruntime.a") libtool: link: ar cru .libs/libbmall.a .libs/libbmall.lax/libbmsim.a/P4Objects.o .libs/libbmall.lax/libbmsim.a/actions.o .libs/libbmall.lax/libbmsim.a/ageing.o .libs/libbmall.lax/libbmsim.a/bytecontainer.o .libs/libbmall.lax/libbmsim.a/calculations.o .libs/libbmall.lax/libbmsim.a/checksums.o .libs/libbmall.lax/libbmsim.a/conditionals.o .libs/libbmall.lax/libbmsim.a/context.o .libs/libbmall.lax/libbmsim.a/counters.o .libs/libbmall.lax/libbmsim.a/debugger.o .libs/libbmall.lax/libbmsim.a/deparser.o .libs/libbmall.lax/libbmsim.a/dev_mgr.o .libs/libbmall.lax/libbmsim.a/dev_mgr_bmi.o .libs/libbmall.lax/libbmsim.a/dev_mgr_packet_in.o .libs/libbmall.lax/libbmsim.a/event_logger.o .libs/libbmall.lax/libbmsim.a/expressions.o .libs/libbmall.lax/libbmsim.a/extern.o .libs/libbmall.lax/libbmsim.a/fields.o .libs/libbmall.lax/libbmsim.a/headers.o .libs/libbmall.lax/libbmsim.a/learning.o .libs/libbmall.lax/libbmsim.a/logger.o .libs/libbmall.lax/libbmsim.a/lookup_structures.o .libs/libbmall.lax/libbmsim.a/match_tables.o .libs/libbmall.lax/libbmsim.a/match_units.o .libs/libbmall.lax/libbmsim.a/md5.o .libs/libbmall.lax/libbmsim.a/meters.o .libs/libbmall.lax/libbmsim.a/options_parse.o .libs/libbmall.lax/libbmsim.a/packet.o .libs/libbmall.lax/libbmsim.a/parser.o .libs/libbmall.lax/libbmsim.a/pcap_file.o .libs/libbmall.lax/libbmsim.a/phv.o .libs/libbmall.lax/libbmsim.a/phv_source.o .libs/libbmall.lax/libbmsim.a/pipeline.o .libs/libbmall.lax/libbmsim.a/port_monitor.o .libs/libbmall.lax/libbmsim.a/simple_pre.o .libs/libbmall.lax/libbmsim.a/simple_pre_lag.o .libs/libbmall.lax/libbmsim.a/stateful.o .libs/libbmall.lax/libbmsim.a/switch.o .libs/libbmall.lax/libbmsim.a/target_parser.o .libs/libbmall.lax/libbmsim.a/transport.o .libs/libbmall.lax/libbmsim.a/version.o .libs/libbmall.lax/libbmsim.a/xxhash.o .libs/libbmall.lax/libbflpmtrie.a/bf_lpm_trie.o .libs/libbmall.lax/libbmi.a/bmi_interface.o .libs/libbmall.lax/libbmi.a/bmi_port.o .libs/libbmall.lax/libjson.a/jsoncpp.o .libs/libbmall.lax/libbmruntime.a/SimplePreLAG_server.o .libs/libbmall.lax/libbmruntime.a/SimplePre_server.o .libs/libbmall.lax/libbmruntime.a/Standard_server.o .libs/libbmall.lax/libbmruntime.a/server.o ar:
u' modifier ignored since D' is the default (see
U')
libtool: link: ranlib .libs/libbmall.a
libtool: link: rm -fr .libs/libbmall.lax
libtool: link: ( cd ".libs" && rm -f "libbmall.la" && ln -s "../libbmall.la" "libbmall.la" )
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src'
make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src'
Making all in include
make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/include'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/include'
Making all in tests
make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/tests'
Making all in .
make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/tests'
depbase=echo utils.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'
;
/bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -DBMLOG_DEBUG_ON -DBMLOG_TRACE_ON -DBMELOG_ON -I../include -isystem../third_party/jsoncpp/include -isystem../third_party/spdlog -isystem ../third_party/gtest/include -DTESTDATADIR="./testdata" -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -MT utils.lo -MD -MP -MF $depbase.Tpo -c -o utils.lo utils.cpp &&
mv -f $depbase.Tpo $depbase.Plo
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -DBMLOG_DEBUG_ON -DBMLOG_TRACE_ON -DBMELOG_ON -I../include -isystem../third_party/jsoncpp/include -isystem../third_party/spdlog -isystem ../third_party/gtest/include -DTESTDATADIR="./testdata" -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -MT utils.lo -MD -MP -MF .deps/utils.Tpo -c utils.cpp -fPIC -DPIC -o .libs/utils.o
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -DBMLOG_DEBUG_ON -DBMLOG_TRACE_ON -DBMELOG_ON -I../include -isystem../third_party/jsoncpp/include -isystem../third_party/spdlog -isystem ../third_party/gtest/include -DTESTDATADIR="./testdata" -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -MT utils.lo -MD -MP -MF .deps/utils.Tpo -c utils.cpp -o utils.o >/dev/null 2>&1
/bin/bash ../libtool --tag=CXX --mode=link g++ -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -o libtestutils.la utils.lo ../src/bm_sim/libbmsim.la -lboost_thread -lpcap -lnanomsg -lgmp -lJudy
libtool: link: rm -fr .libs/libtestutils.a .libs/libtestutils.la
libtool: link: (cd .libs/libtestutils.lax/libbmsim.a && ar x "/home/jy/sdn/p4/tutorials/bmv2/tests/../src/bm_sim/.libs/libbmsim.a")
libtool: link: ar cru .libs/libtestutils.a .libs/utils.o .libs/libtestutils.lax/libbmsim.a/P4Objects.o .libs/libtestutils.lax/libbmsim.a/actions.o .libs/libtestutils.lax/libbmsim.a/ageing.o .libs/libtestutils.lax/libbmsim.a/bytecontainer.o .libs/libtestutils.lax/libbmsim.a/calculations.o .libs/libtestutils.lax/libbmsim.a/checksums.o .libs/libtestutils.lax/libbmsim.a/conditionals.o .libs/libtestutils.lax/libbmsim.a/context.o .libs/libtestutils.lax/libbmsim.a/counters.o .libs/libtestutils.lax/libbmsim.a/debugger.o .libs/libtestutils.lax/libbmsim.a/deparser.o .libs/libtestutils.lax/libbmsim.a/dev_mgr.o .libs/libtestutils.lax/libbmsim.a/dev_mgr_bmi.o .libs/libtestutils.lax/libbmsim.a/dev_mgr_packet_in.o .libs/libtestutils.lax/libbmsim.a/event_logger.o .libs/libtestutils.lax/libbmsim.a/expressions.o .libs/libtestutils.lax/libbmsim.a/extern.o .libs/libtestutils.lax/libbmsim.a/fields.o .libs/libtestutils.lax/libbmsim.a/headers.o .libs/libtestutils.lax/libbmsim.a/learning.o .libs/libtestutils.lax/libbmsim.a/logger.o .libs/libtestutils.lax/libbmsim.a/lookup_structures.o .libs/libtestutils.lax/libbmsim.a/match_tables.o .libs/libtestutils.lax/libbmsim.a/match_units.o .libs/libtestutils.lax/libbmsim.a/md5.o .libs/libtestutils.lax/libbmsim.a/meters.o .libs/libtestutils.lax/libbmsim.a/options_parse.o .libs/libtestutils.lax/libbmsim.a/packet.o .libs/libtestutils.lax/libbmsim.a/parser.o .libs/libtestutils.lax/libbmsim.a/pcap_file.o .libs/libtestutils.lax/libbmsim.a/phv.o .libs/libtestutils.lax/libbmsim.a/phv_source.o .libs/libtestutils.lax/libbmsim.a/pipeline.o .libs/libtestutils.lax/libbmsim.a/port_monitor.o .libs/libtestutils.lax/libbmsim.a/simple_pre.o .libs/libtestutils.lax/libbmsim.a/simple_pre_lag.o .libs/libtestutils.lax/libbmsim.a/stateful.o .libs/libtestutils.lax/libbmsim.a/switch.o .libs/libtestutils.lax/libbmsim.a/target_parser.o .libs/libtestutils.lax/libbmsim.a/transport.o .libs/libtestutils.lax/libbmsim.a/version.o .libs/libtestutils.lax/libbmsim.a/xxhash.o
ar: u' modifier ignored since
D' is the default (see U') libtool: link: ranlib .libs/libtestutils.a libtool: link: rm -fr .libs/libtestutils.lax libtool: link: ( cd ".libs" && rm -f "libtestutils.la" && ln -s "../libtestutils.la" "libtestutils.la" ) make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/tests' make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/tests' Making all in targets make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/targets' Making all in simple_router make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/targets/simple_router' /bin/bash ../../libtool --tag=CXX --mode=link g++ -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -o simple_router simple_router.o primitives.o ../../src/bm_runtime/libbmruntime.la ../../src/bm_sim/libbmsim.la ../../src/bf_lpm_trie/libbflpmtrie.la ../../thrift_src/libruntimestubs.la ../../src/BMI/libbmi.la ../../third_party/jsoncpp/libjson.la -lboost_system -lthrift -lboost_program_options -lboost_thread -lpcap -lnanomsg -lgmp -lJudy libtool: link: g++ -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -o .libs/simple_router simple_router.o primitives.o ../../src/bm_runtime/.libs/libbmruntime.a ../../src/bm_sim/.libs/libbmsim.a ../../src/bf_lpm_trie/.libs/libbflpmtrie.a ../../thrift_src/.libs/libruntimestubs.so ../../src/BMI/.libs/libbmi.a ../../third_party/jsoncpp/.libs/libjson.a -lboost_system -lthrift -lboost_program_options -lboost_thread -lpcap -lnanomsg -lgmp -lJudy -pthread ../../thrift_src/.libs/libruntimestubs.so: undefined reference to
apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, apache::thrift::protocol::TMessageType&, int&)'
../../thrift_src/.libs/libruntimestubs.so: undefined reference to apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, apache::thrift::protocol::TMessageType, int)' collect2: error: ld returned 1 exit status Makefile:382: recipe for target 'simple_router' failed make[3]: *** [simple_router] Error 1 make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/targets/simple_router' Makefile:376: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/targets' Makefile:448: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2' Makefile:378: recipe for target 'all' failed make: *** [all] Error 2 jy@jy-ThinkPad:~/sdn/p4/tutorials/bmv2$ make make all-recursive make[1]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2' Making all in thrift_src make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src' make all-am make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src' make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/thrift_src' Making all in third_party make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party' Making all in gtest make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/gtest' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/gtest' Making all in jsoncpp make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/jsoncpp' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/jsoncpp' Making all in spdlog make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/spdlog' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party/spdlog' make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/third_party' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party' make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/third_party' Making all in src make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src' Making all in bf_lpm_trie make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bf_lpm_trie' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bf_lpm_trie' Making all in BMI make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/BMI' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/BMI' Making all in bm_sim make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_sim' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_sim' Making all in bm_runtime make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_runtime' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_runtime' Making all in bm_apps make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' Making all in . make[4]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' make[4]: Nothing to be done for 'all-am'. make[4]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' Making all in examples make[4]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps/examples' make[4]: Nothing to be done for 'all'. make[4]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps/examples' make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src/bm_apps' make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/src' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src' make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/src' Making all in include make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/include' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/include' Making all in tests make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/tests' Making all in . make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/tests' make[3]: Nothing to be done for 'all-am'. make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/tests' make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/tests' Making all in targets make[2]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/targets' Making all in simple_router make[3]: Entering directory '/home/jy/sdn/p4/tutorials/bmv2/targets/simple_router' /bin/bash ../../libtool --tag=CXX --mode=link g++ -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -o simple_router simple_router.o primitives.o ../../src/bm_runtime/libbmruntime.la ../../src/bm_sim/libbmsim.la ../../src/bf_lpm_trie/libbflpmtrie.la ../../thrift_src/libruntimestubs.la ../../src/BMI/libbmi.la ../../third_party/jsoncpp/libjson.la -lboost_system -lthrift -lboost_program_options -lboost_thread -lpcap -lnanomsg -lgmp -lJudy libtool: link: g++ -pthread -Wall -Werror -Wextra -g -O2 -std=c++11 -o .libs/simple_router simple_router.o primitives.o ../../src/bm_runtime/.libs/libbmruntime.a ../../src/bm_sim/.libs/libbmsim.a ../../src/bf_lpm_trie/.libs/libbflpmtrie.a ../../thrift_src/.libs/libruntimestubs.so ../../src/BMI/.libs/libbmi.a ../../third_party/jsoncpp/.libs/libjson.a -lboost_system -lthrift -lboost_program_options -lboost_thread -lpcap -lnanomsg -lgmp -lJudy -pthread ../../thrift_src/.libs/libruntimestubs.so: undefined reference to
apache::thrift::async::TConcurrentClientSyncInfo::getPending(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, apache::thrift::protocol::TMessageType&, int&)'
../../thrift_src/.libs/libruntimestubs.so: undefined reference to `apache::thrift::async::TConcurrentClientSyncInfo::updatePending(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, apache::thrift::protocol::TMessageType, int)'
collect2: error: ld returned 1 exit status
Makefile:382: recipe for target 'simple_router' failed
make[3]: *** [simple_router] Error 1
make[3]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/targets/simple_router'
Makefile:376: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2/targets'
Makefile:448: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/jy/sdn/p4/tutorials/bmv2'
Makefile:378: recipe for target 'all' failed
make: *** [all] Error 2
from behavioral-model.
This looks like an issue with the Thrift library. It would be helpful if you could post the output of these 2 commands:
sudo ldconfig -p | grep thrift
thrift --version
from behavioral-model.
closing it since no further information was provided
from behavioral-model.
Related Issues (20)
- how to achieve a timer in bmv2 HOT 3
- Can BMv2 interfaces be bound to virtual network cards of two virtual machines? How should this be done specifically? HOT 2
- Can I get the index of a value in the register by custom_lib? HOT 4
- import thrift
- TCP packets seem not to be processed correctly by bmv2 HOT 2
- Problem using multicast in runtime HOT 1
- Empty action-parameter vector is always accessed in ActionFnEntry::execute HOT 3
- How to build behavioral-model on the MacOS(Apple M1 Pro(13.5)) HOT 1
- How to track fileds of metadata with p4dbg? HOT 2
- Approximate conversion of bmv2 p4 performance to hardware performance HOT 3
- Applying the same table twice HOT 2
- Required to set forwarding pipeline before using the dataplane for streaming packets HOT 10
- Update project to require C++17 HOT 9
- Race conditions when passing in a BMv2 JSON config HOT 12
- To Add PNA support into BMv2. HOT 5
- How to build simple_switch / simple_switch_grpc on Ubuntu 24.04 ? HOT 4
- Why bmi_port.c is a C code? HOT 2
- Race conditions when processing packet in the egress pipeline. HOT 6
- Heap Buffer Overflow when installing many table entries HOT 1
- CMake support HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from behavioral-model.