More grpc build problems on Mac OS (Mavericks)

1,661 views
Skip to first unread message

Thad Humphries

unread,
Mar 12, 2015, 11:01:21 PM3/12/15
to grp...@googlegroups.com
Just now, with a new machine and the latest pulled from GitHub, I get this error on make:

...
[LD]      Linking libs/opt/libgpr.dylib
[LD]      Linking libs/opt/libgrpc.dylib
[LD]      Linking libs/opt/libgrpc_unsecure.dylib
[LD]      Linking libs/opt/libgrpc++.dylib
Undefined symbols for architecture x86_64:
  "_ASN1_STRING_to_UTF8", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_BIO_ctrl_pending", referenced from:
      l015 in libgrpc.a(ssl_transport_security.o)
      l016 in libgrpc.a(ssl_transport_security.o)
      l021 in libgrpc.a(ssl_transport_security.o)
      l022 in libgrpc.a(ssl_transport_security.o)
  "_BIO_free", referenced from:
      _grpc_auth_json_key_create_from_string in libgrpc.a(json_token.o)
      l002 in libgrpc.a(ssl_transport_security.o)
      l003 in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
      l013 in libgrpc.a(ssl_transport_security.o)
  "_BIO_new", referenced from:
      _grpc_auth_json_key_create_from_string in libgrpc.a(json_token.o)
      l013 in libgrpc.a(ssl_transport_security.o)
  "_BIO_new_mem_buf", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
      l003 in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_BIO_puts", referenced from:
      _grpc_auth_json_key_create_from_string in libgrpc.a(json_token.o)
  "_BIO_read", referenced from:
      l015 in libgrpc.a(ssl_transport_security.o)
      l021 in libgrpc.a(ssl_transport_security.o)
      l022 in libgrpc.a(ssl_transport_security.o)
  "_BIO_s_mem", referenced from:
      _grpc_auth_json_key_create_from_string in libgrpc.a(json_token.o)
      l013 in libgrpc.a(ssl_transport_security.o)
  "_BIO_test_flags", referenced from:
      l015 in libgrpc.a(ssl_transport_security.o)
  "_BIO_write", referenced from:
      l016 in libgrpc.a(ssl_transport_security.o)
      l023 in libgrpc.a(ssl_transport_security.o)
  "_CRYPTO_free", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_CRYPTO_num_locks", referenced from:
      l001 in libgrpc.a(ssl_transport_security.o)
  "_CRYPTO_set_id_callback", referenced from:
      l001 in libgrpc.a(ssl_transport_security.o)
  "_CRYPTO_set_locking_callback", referenced from:
      l001 in libgrpc.a(ssl_transport_security.o)
  "_EC_KEY_free", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
  "_EC_KEY_new_by_curve_name", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
  "_ERR_clear_error", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
      l003 in libgrpc.a(ssl_transport_security.o)
  "_ERR_error_string_n", referenced from:
      l016 in libgrpc.a(ssl_transport_security.o)
      l025 in libgrpc.a(ssl_transport_security.o)
  "_ERR_get_error", referenced from:
      l016 in libgrpc.a(ssl_transport_security.o)
      l025 in libgrpc.a(ssl_transport_security.o)
  "_EVP_DigestSignFinal", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_EVP_DigestSignInit", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_EVP_DigestUpdate", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_EVP_MD_CTX_create", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_EVP_MD_CTX_destroy", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_EVP_PKEY_free", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
      l002 in libgrpc.a(ssl_transport_security.o)
  "_EVP_PKEY_new", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_EVP_PKEY_set1_RSA", referenced from:
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_EVP_sha256", referenced from:
      _openssl_digest_from_algorithm in libgrpc.a(json_token.o)
      _compute_and_encode_signature in libgrpc.a(json_token.o)
  "_GENERAL_NAME_free", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_OPENSSL_add_all_algorithms_noconf", referenced from:
      l001 in libgrpc.a(ssl_transport_security.o)
  "_PEM_read_bio_PrivateKey", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
  "_PEM_read_bio_RSAPrivateKey", referenced from:
      _grpc_auth_json_key_create_from_string in libgrpc.a(json_token.o)
  "_PEM_read_bio_X509", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_PEM_read_bio_X509_AUX", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
      l003 in libgrpc.a(ssl_transport_security.o)
  "_RSA_free", referenced from:
      _grpc_auth_json_key_create_from_string in libgrpc.a(json_token.o)
      _grpc_auth_json_key_destruct in libgrpc.a(json_token.o)
  "_SSL_CTX_callback_ctrl", referenced from:
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_check_private_key", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_ctrl", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_free", referenced from:
      _tsi_create_ssl_client_handshaker_factory in libgrpc.a(ssl_transport_security.o)
      l006 in libgrpc.a(ssl_transport_security.o)
      l008 in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_get_cert_store", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_new", referenced from:
      _tsi_create_ssl_client_handshaker_factory in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_set_alpn_protos", referenced from:
      _tsi_create_ssl_client_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_set_alpn_select_cb", referenced from:
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_set_cipher_list", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_set_client_CA_list", referenced from:
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_set_verify", referenced from:
      _tsi_create_ssl_client_handshaker_factory in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_use_PrivateKey", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
  "_SSL_CTX_use_certificate", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
  "_SSL_ctrl", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
  "_SSL_do_handshake", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
      l016 in libgrpc.a(ssl_transport_security.o)
  "_SSL_free", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
      l020 in libgrpc.a(ssl_transport_security.o)
      l024 in libgrpc.a(ssl_transport_security.o)
  "_SSL_get0_alpn_selected", referenced from:
      l018 in libgrpc.a(ssl_transport_security.o)
  "_SSL_get_error", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
      l016 in libgrpc.a(ssl_transport_security.o)
      l021 in libgrpc.a(ssl_transport_security.o)
      l022 in libgrpc.a(ssl_transport_security.o)
      l025 in libgrpc.a(ssl_transport_security.o)
  "_SSL_get_peer_certificate", referenced from:
      l018 in libgrpc.a(ssl_transport_security.o)
  "_SSL_get_servername", referenced from:
      l009 in libgrpc.a(ssl_transport_security.o)
  "_SSL_library_init", referenced from:
      l001 in libgrpc.a(ssl_transport_security.o)
  "_SSL_load_error_strings", referenced from:
      l001 in libgrpc.a(ssl_transport_security.o)
  "_SSL_new", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
  "_SSL_read", referenced from:
      l025 in libgrpc.a(ssl_transport_security.o)
  "_SSL_set_SSL_CTX", referenced from:
      l009 in libgrpc.a(ssl_transport_security.o)
  "_SSL_set_accept_state", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
  "_SSL_set_bio", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
  "_SSL_set_connect_state", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
  "_SSL_set_info_callback", referenced from:
      l013 in libgrpc.a(ssl_transport_security.o)
  "_SSL_state", referenced from:
      l017 in libgrpc.a(ssl_transport_security.o)
  "_SSL_state_string", referenced from:
      l014 in libgrpc.a(ssl_transport_security.o)
  "_SSL_state_string_long", referenced from:
      l014 in libgrpc.a(ssl_transport_security.o)
  "_SSL_write", referenced from:
      l021 in libgrpc.a(ssl_transport_security.o)
      l022 in libgrpc.a(ssl_transport_security.o)
  "_TLSv1_2_method", referenced from:
      _tsi_create_ssl_client_handshaker_factory in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
  "_X509_NAME_ENTRY_get_data", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_X509_NAME_dup", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
  "_X509_NAME_free", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
  "_X509_NAME_get_entry", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_X509_NAME_get_index_by_NID", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_X509_STORE_add_cert", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
  "_X509_free", referenced from:
      l002 in libgrpc.a(ssl_transport_security.o)
      l003 in libgrpc.a(ssl_transport_security.o)
      _tsi_create_ssl_server_handshaker_factory in libgrpc.a(ssl_transport_security.o)
      l018 in libgrpc.a(ssl_transport_security.o)
  "_X509_get_ext_d2i", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_X509_get_subject_name", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
      l012 in libgrpc.a(ssl_transport_security.o)
  "_sk_new_null", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
  "_sk_num", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
  "_sk_pop_free", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
      l012 in libgrpc.a(ssl_transport_security.o)
  "_sk_push", referenced from:
      l003 in libgrpc.a(ssl_transport_security.o)
  "_sk_value", referenced from:
      l012 in libgrpc.a(ssl_transport_security.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libs/opt/libgrpc++.dylib] Error 1

openssl 1.02 has been installed with MacPorts.

Is this part of the problem with Mac dynamic libraries that Nicolas talked about? (see https://groups.google.com/d/msg/grpc-io/UMI9TAMz2eo/BeIppVJ8IBUJ)

Nicolas Noble

unread,
Mar 12, 2015, 11:23:20 PM3/12/15
to Thad Humphries, grp...@googlegroups.com
Now that's an interesting one. And I didn't even get it while I was testing for the mac build on my machine. But I can see what's going on. But I'm not quite sure about how to fix it.

The issue here is that grpc++ links against the static version of grpc, and not the dynamic one. Not exactly sure why MacOS's linker would do that though.

I'll try and repro it. Thanks for the report!

--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/8e740fbf-c00c-450c-86eb-801c7a83cce5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Thad Humphries

unread,
Mar 18, 2015, 2:50:06 PM3/18/15
to grp...@googlegroups.com, thad.hu...@gmail.com
Still no joy getting grpc to build on Mac 10.9. After pull (just minutes ago), make finished with the errors below (BTW, I see a lot of messages like the "has no symbols" ones below). 

...
[CXX]     Compiling src/cpp/util/time.cc
[AR]      Creating libs/opt/libgrpc++.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(rpc_method.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(rpc_method.o) has no symbols
[AR]      Creating libs/opt/libgrpc++_unsecure.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(rpc_method.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(rpc_method.o) has no symbols
[LD]      Linking libs/opt/libgpr.dylib
[LD]      Linking libs/opt/libgrpc.dylib
[LD]      Linking libs/opt/libgrpc_unsecure.dylib
[LD]      Linking libs/opt/libgrpc++.dylib
Undefined symbols for architecture x86_64:
  "_gpr_slice_buffer_pop", referenced from:
      GrpcBufferWriter::BackUp(int) in proto_utils.o
  "_grpc_refresh_token_credentials_create", referenced from:
      grpc::RefreshTokenCredentials(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in secure_credentials.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libs/opt/libgrpc++.dylib] Error 1


Nicolas Noble

unread,
Mar 19, 2015, 1:07:03 AM3/19/15
to grp...@googlegroups.com, thad.hu...@gmail.com
Sorry, I didn't went further with this, because even if this is solved, there's still issues with grpc under MacOS at the moment:

Thad Humphries

unread,
Mar 21, 2015, 11:15:17 AM3/21/15
to grp...@googlegroups.com, thad.hu...@gmail.com
Rats. Thanks for your efforts. I've been looking into Apache Thrifty as well, but no joy there, at least for Mac. First problems with TLS then with libtorrent. And zero response from its user list.

I'll check in from time to time. I'd like very much to find a new cross-platform, multi-language RPC.

Thad Humphries

unread,
Mar 25, 2015, 5:53:19 PM3/25/15
to grp...@googlegroups.com, thad.hu...@gmail.com
For anyone reading this who's looking for an RPC solution for Macintosh, I did get some assistance from the Apache Thrift user list. I was told to clone the project from GitHub vs used the last released tarball, and to use the configure flags to point to the OpenSSL 1.0.2 in /usr/local/ssl vs the OpenSSL 0.9.8 in /usr/lib. After installing a few more libraries with MacPorts (ones not documented in the Thrift instructions), Apache Thrift built on Mavericks 10.9.5.

Thrift's demos are designed to work together, so I could test it right away. As advertised, I was able to talk Java client to C++ server and visa-versa.
Message has been deleted

hoga...@qq.com

unread,
May 22, 2015, 4:37:17 AM5/22/15
to grp...@googlegroups.com
I have met the same error...will it be fixed?

[CXX]     Compiling src/cpp/util/time.cc
[AR]      Creating libs/opt/libgrpc++.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(rpc_method.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++.a(rpc_method.o) has no symbols
[AR]      Creating libs/opt/libgrpc++_unsecure.a
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(rpc_method.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(internal_stub.o) has no symbols
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: ./libs/opt/libgrpc++_unsecure.a(rpc_method.o) has no symbols
[LD]      Linking libs/opt/libgpr.dylib
[LD]      Linking libs/opt/libgrpc.dylib
[LD]      Linking libs/opt/libgrpc_unsecure.dylib
[LD]      Linking libs/opt/libgrpc++.dylib
[LD]      Linking libs/opt/libgrpc++_unsecure.dylib
[HOSTCXX] Compiling src/compiler/cpp_generator.cc
[HOSTCXX] Compiling src/compiler/csharp_generator.cc
[HOSTCXX] Compiling src/compiler/objective_c_generator.cc
[HOSTCXX] Compiling src/compiler/python_generator.cc
[HOSTCXX] Compiling src/compiler/ruby_generator.cc
[AR]      Creating libs/opt/libgrpc_plugin_support.a
[HOSTCXX] Compiling src/compiler/cpp_plugin.cc
[HOSTLD]  Linking bins/opt/grpc_cpp_plugin
Undefined symbols for architecture x86_64:
  "google::protobuf::io::StringOutputStream::StringOutputStream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)", referenced from:
      grpc_cpp_generator::GetHeaderPrologue(google::protobuf::FileDescriptor const*, grpc_cpp_generator::Parameters const&) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::GetHeaderServices(google::protobuf::FileDescriptor const*, grpc_cpp_generator::Parameters const&) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::GetHeaderEpilogue(google::protobuf::FileDescriptor const*, grpc_cpp_generator::Parameters const&) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::GetSourcePrologue(google::protobuf::FileDescriptor const*, grpc_cpp_generator::Parameters const&) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::GetSourceIncludes(google::protobuf::FileDescriptor const*, grpc_cpp_generator::Parameters const&) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::GetSourceServices(google::protobuf::FileDescriptor const*, grpc_cpp_generator::Parameters const&) in libgrpc_plugin_support.a(cpp_generator.o)
  "google::protobuf::io::Printer::Print(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > const&, char const*)", referenced from:
      grpc_cpp_generator::GetHeaderPrologue(google::protobuf::FileDescriptor const*, grpc_cpp_generator::Parameters const&) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::PrintHeaderClientMethodInterfaces(google::protobuf::io::Printer*, google::protobuf::MethodDescriptor const*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*, bool) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::PrintHeaderClientMethod(google::protobuf::io::Printer*, google::protobuf::MethodDescriptor const*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*, bool) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::PrintHeaderClientMethodData(google::protobuf::io::Printer*, google::protobuf::MethodDescriptor const*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::PrintHeaderServerMethodSync(google::protobuf::io::Printer*, google::protobuf::MethodDescriptor const*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::PrintHeaderServerMethodAsync(google::protobuf::io::Printer*, google::protobuf::MethodDescriptor const*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*) in libgrpc_plugin_support.a(cpp_generator.o)
      grpc_cpp_generator::PrintHeaderService(google::protobuf::io::Printer*, google::protobuf::ServiceDescriptor const*, std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >*) in libgrpc_plugin_support.a(cpp_generator.o)
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [bins/opt/grpc_cpp_plugin] Error 1

deepak

unread,
Sep 9, 2016, 6:33:54 PM9/9/16
to grpc.io, hoga...@qq.com

Similar error:

MAKE]    Generating cache.mk

[HOSTLD]  Linking /Users/deepak.chandra/git/grpc/grpc/bins/opt/grpc_cpp_plugin

Undefined symbols for architecture x86_64:

  "google::protobuf::FileDescriptorProto::kSyntaxFieldNumber", referenced from:

      void grpc_generator::GetComment<google::protobuf::FileDescriptor>(google::protobuf::FileDescriptor const*, grpc_generator::CommentType, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*) in cpp_plugin.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [/Users/deepak.chandra/git/grpc/grpc/bins/opt/grpc_cpp_plugin] Error 1

Reply all
Reply to author
Forward
0 new messages