behavioral-model icon indicating copy to clipboard operation
behavioral-model copied to clipboard

build simple_switch_grpc failed

Open danren-lys opened this issue 2 years ago • 2 comments

i tried to set up p4-onos-dev environment i download all needed and compiled successfully but when i tried to build simple_swich_grpc some errors occur this is the error message

/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::Thread::Thread(char const*, void (*)(void*), void*, bool*, grpc_core::Thread::Options const&)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `gpr_ltoa(long, char*)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::Fork::support_enabled_'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_local_server_credentials_create'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::Executor::Run(grpc_closure*, grpc_error*, grpc_core::ExecutorType, grpc_core::ExecutorJobType)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_call_arena_alloc'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::Fork::DoIncExecCtxCount()'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_completion_queue_thread_local_cache_init'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_channel_reset_connect_backoff'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_completion_queue_thread_local_cache_flush'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_cq_begin_op(grpc_completion_queue*, void*)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_health_v1_HealthCheckRequest_msginit'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_resource_quota_set_max_threads'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_iomgr_run_in_background()'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_authorization_policy_provider_arg_vtable'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::ExecCtx::Flush()'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_cq_end_op(grpc_completion_queue*, void*, grpc_error*, void (*)(void*, grpc_cq_completion*), void*, grpc_cq_completion*, bool)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_alts_credentials_options_destroy'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::Server::SetRegisteredMethodAllocator(grpc_completion_queue*, void*, std::function<grpc_core::Server::RegisteredCallAllocation ()>)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_socket_mutator_to_arg(grpc_socket_mutator*)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_call_unref'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_call_ref'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::ExecCtx::exec_ctx_'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::Server::SetBatchMethodAllocator(grpc_completion_queue*, std::function<grpc_core::Server::BatchCallAllocation ()>)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_byte_buffer_reader_peek'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_call_failed_before_recv_message'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::ThreadQuota::Reserve(unsigned long)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_alts_server_credentials_create'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::ThreadQuota::Release(unsigned long)'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_server_set_config_fetcher'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_tls_server_credentials_create'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_alts_credentials_server_options_create'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_core::Fork::DoDecExecCtxCount()'
/usr/local/lib/libpigrpcserver.so: undefined reference to `grpc_auth_property_reset(grpc_auth_property*)'
collect2: error: ld returned 1 exit status
Makefile:581: recipe for target 'simple_switch_grpc' failed

and this is the command i tried

        $git clone -b 1.15.0 https://github.com/p4lang/behavioral-model.git
        $cd behavioral-model
        $git submodule update --init --recursive
         $./autogen.sh
         $./configure --with-pi
         $make
         $sudo make install
         $sudo ldconfig
         # Simple_switch_grpc target
         $cd targets/simple_switch_grpc
         $./autogen.sh
         $./configure
         $make
# make failed

it seems that some libraries are missing but i am not sure please help me out

danren-lys avatar Jun 02 '22 03:06 danren-lys

My guess would be that you didn't install grpc correctly or that you didn't install a compatible version of grpc.

https://github.com/p4lang/PI#dependencies

antoninbas avatar Jun 02 '22 20:06 antoninbas

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment, or this will be closed in 180 days

github-actions[bot] avatar Nov 30 '22 00:11 github-actions[bot]