You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2022/10/12 10:33:29 UTC

[GitHub] [pulsar-client-cpp] Demogorgon314 opened a new pull request, #44: Fix Ubuntu and macOS build guide

Demogorgon314 opened a new pull request, #44:
URL: https://github.com/apache/pulsar-client-cpp/pull/44

   ### Motivation
   
   Currently, some build guide is out-of-date. We need to update the build guide.
   
   The first issue is when we install the dependencies for Ubuntu, we still need manually compile and install google test and google mock. 
   
   However, we can use `libgmock-dev` to replace the `google-mock`, since the `libgmock-dev` already contains the static-link library.
   
   ```
   $ dpkg -L libgmock-dev
   // ...
   /usr/lib/x86_64-linux-gnu
   /usr/lib/x86_64-linux-gnu/libgmock.a
   /usr/lib/x86_64-linux-gnu/libgmock_main.a
   // ...
   ```
   
   Same as the `libgtest-dev`.
   
   ```
   $ dpkg -L libgtest-dev
   // ...
   /usr/lib/x86_64-linux-gnu/libgtest.a
   /usr/lib/x86_64-linux-gnu/libgtest_main.a
   // ...
   ```
   
   The second issue is macOS dependency. The `boost-python` has already been removed from the brew core. We should always use `boost-python3`.
   
   ```
   ~ brew info boost-python
   Error: No available formula with the name "boost-python". Did you mean boost-python3 or gst-python?
   ==> Searching for a previously deleted formula (in the last month)...
   Error: No previously deleted formula found.
   ```
   
   The third one is `OPENSSL_INCLUDE_DIR` and `OPENSSL_ROOT_DIR`. 
   For m1 macOS, the brew preferred prefix is `/opt/homebrew/opt`, Intel macOS is `/usr/local`.
   So we set the `OPENSSL_INCLUDE_DIR, OPENSSL_ROOT_DIR`. We should consider the different platforms.
   
   
   ### Modifications
   
   Fix Ubuntu and macOS build guide
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc-required` 
   (Your PR needs to update docs and you will update later)
   
   - [ ] `doc-not-needed` 
   (Please explain why)
   
   - [x] `doc` 
   (Your PR contains doc changes)
   
   - [ ] `doc-complete`
   (Docs have been already added)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [pulsar-client-cpp] BewareMyPower commented on a diff in pull request #44: Fix Ubuntu and macOS build guide

Posted by GitBox <gi...@apache.org>.
BewareMyPower commented on code in PR #44:
URL: https://github.com/apache/pulsar-client-cpp/pull/44#discussion_r993326311


##########
README.md:
##########
@@ -151,12 +125,17 @@ perf/perfConsumer
 ```shell
 # For openSSL
 brew install openssl
+
+# For x86_64 macOS
 export OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include/
 export OPENSSL_ROOT_DIR=/usr/local/opt/openssl/
 
+# For arm64 (Apple Silicon) macOS
+export OPENSSL_INCLUDE_DIR=/opt/homebrew/opt/openssl/include/
+export OPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl/
+
 # For Protobuf
-brew install protobuf boost boost-python log4cxx jsoncpp
-// If you are using python3, you need to install boost-python3
+brew install protobuf boost boost-python3 log4cxx jsoncpp

Review Comment:
   `jsoncpp` is not needed.
   
   In addition, I think we can remove all `log4cxx` references because it's disabled by default. And I think we can just remove `log4cxx` in future.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [pulsar-client-cpp] BewareMyPower commented on pull request #44: Fix Ubuntu and macOS build guide

Posted by "BewareMyPower (via GitHub)" <gi...@apache.org>.
BewareMyPower commented on PR #44:
URL: https://github.com/apache/pulsar-client-cpp/pull/44#issuecomment-1423752727

   @Seitk You should specify the `Protobuf_LIBRARIES` to the path of the `*.dylib`. But it's better not to specify `Protobuf_INCLUDE_DIRS` and `Protobuf_LIBRARIES`, just add the path to `CMAKE_PREFIX_PATH` so that CMake will help find the correct paths.
   
   ```bash
   cmake -DCMAKE_PREFIX_PATH=/opt/homebrew/Cellar/protobuf@3/3.20.3 /* other options... */
   ```
   
   Besides, when you enable the `LINK_STATIC`, you should ensure the static libraries of the dependencies are installed. I'm afraid you have to compile them from source with the `-fPIC` compile flag.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [pulsar-client-cpp] merlimat commented on a diff in pull request #44: Fix Ubuntu and macOS build guide

Posted by GitBox <gi...@apache.org>.
merlimat commented on code in PR #44:
URL: https://github.com/apache/pulsar-client-cpp/pull/44#discussion_r993633319


##########
README.md:
##########
@@ -151,12 +125,17 @@ perf/perfConsumer
 ```shell
 # For openSSL
 brew install openssl
+
+# For x86_64 macOS
 export OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include/

Review Comment:
   These variables are not needed anymore. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [pulsar-client-cpp] Seitk commented on pull request #44: Fix Ubuntu and macOS build guide

Posted by "Seitk (via GitHub)" <gi...@apache.org>.
Seitk commented on PR #44:
URL: https://github.com/apache/pulsar-client-cpp/pull/44#issuecomment-1423655279

   Hi @merlimat I am using M1 Mac and encountering error `Undefined symbols for architecture arm64` on compiling the c++ client, do you have any suggestion on that?
   
   **Commands**
   
   ```
   brew install openssl protobuf boost boost-python3 googletest zstd snappy
   cmake -DCMAKE_CXX_FLAGS="-framework SystemConfiguration -framework CoreFoundation" -DLINK_STATIC=ON -DProtobuf_INCLUDE_DIR=/opt/homebrew/Cellar/protobuf@3/3.20.3/include -DProtobuf_LIBRARIES=/opt/homebrew/Cellar/protobuf@3/3.20.3 -DBoost_INCLUDE_DIRS=/opt/homebrew/Cellar/boost/1.81.0_1/include .
   ```
   
   **Log**
   
   ```
   ➜  pulsar-client-cpp git:(main) cmake -DCMAKE_CXX_FLAGS="-framework SystemConfiguration -framework CoreFoundation" -DLINK_STATIC=ON -DProtobuf_INCLUDE_DIR=/opt/homebrew/Cellar/protobuf@3/3.20.3/include -DProtobuf_LIBRARIES=/opt/homebrew/Cellar/protobuf@3/3.20.3 -DBoost_INCLUDE_DIRS=/opt/homebrew/Cellar/boost/1.81.0_1/include .
   -- Pulsar Client version: 3.2.0-pre
   -- Pulsar Client version macro: 3002000
   -- LINK_STATIC:  ON
   -- ARCHITECTURE: arm64
   -- BUILD_DYNAMIC_LIB:  ON
   -- BUILD_STATIC_LIB:  ON
   -- BUILD_TESTS:  OFF
   -- BUILD_PERF_TOOLS:  OFF
   -- USE_LOG4CXX:  OFF
   -- CMAKE_BUILD_TYPE:  RelWithDebInfo
   -- Threads library: 
   Boost_INCLUDE_DIRS: /opt/homebrew/include
   OPENSSL_INCLUDE_DIR: /opt/homebrew/opt/openssl/include
   OPENSSL_LIBRARIES: /opt/homebrew/opt/openssl/lib/libssl.dylib/opt/homebrew/opt/openssl/lib/libcrypto.dylib
   CMake Warning at /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/FindProtobuf.cmake:524 (message):
     Protobuf compiler version 3.21.12 doesn't match library version 3.20.3
   Call Stack (most recent call first):
     CMakeLists.txt:145 (find_package)
   
   
   Protobuf_INCLUDE_DIRS: /opt/homebrew/Cellar/protobuf@3/3.20.3/include
   Protobuf_LIBRARIES: /opt/homebrew/Cellar/protobuf@3/3.20.3
   CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
     The package name passed to `find_package_handle_standard_args` (CURL) does
     not match the name of the calling package (curl).  This can lead to
     problems in calling code that expects `find_package` result variables
     (e.g., `_FOUND`) to follow a certain pattern.
   Call Stack (most recent call first):
     /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/Findcurl.cmake:182 (find_package_handle_standard_args)
     CMakeLists.txt:151 (find_package)
   This warning is for project developers.  Use -Wno-dev to suppress it.
   
   CURL_INCLUDE_DIRS: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include
   CURL_LIBRARIES: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libcurl.tbd
   CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
     The package name passed to `find_package_handle_standard_args` (ZLIB) does
     not match the name of the calling package (zlib).  This can lead to
     problems in calling code that expects `find_package` result variables
     (e.g., `_FOUND`) to follow a certain pattern.
   Call Stack (most recent call first):
     /opt/homebrew/Cellar/cmake/3.25.2/share/cmake/Modules/Findzlib.cmake:166 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
     CMakeLists.txt:162 (find_package)
   This warning is for project developers.  Use -Wno-dev to suppress it.
   
   ZLIB_INCLUDE_DIRS: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include
   ZLIB_LIBRARIES: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libz.tbd
   -- ZStd: /opt/homebrew/lib/libzstd.dylib
   -- LIB_SNAPPY: /opt/homebrew/lib/libsnappy.dylib
   -- HAS_ZSTD: 1
   -- HAS_SNAPPY: 1
   clang-tidy not found
   clang-format not found
   -- Configuring done
   CMake Warning at lib/CMakeLists.txt:68 (target_link_libraries):
     Target "pulsarShared" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:89 (target_link_libraries):
     Target "SampleAsyncProducer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:89 (target_link_libraries):
     Target "SampleAsyncProducer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:90 (target_link_libraries):
     Target "SampleConsumer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:90 (target_link_libraries):
     Target "SampleConsumer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:91 (target_link_libraries):
     Target "SampleConsumerListener" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:91 (target_link_libraries):
     Target "SampleConsumerListener" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:92 (target_link_libraries):
     Target "SampleProducer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:92 (target_link_libraries):
     Target "SampleProducer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:93 (target_link_libraries):
     Target "SampleFileLogger" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:93 (target_link_libraries):
     Target "SampleFileLogger" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:94 (target_link_libraries):
     Target "SampleProducerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:94 (target_link_libraries):
     Target "SampleProducerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:95 (target_link_libraries):
     Target "SampleConsumerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:95 (target_link_libraries):
     Target "SampleConsumerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:96 (target_link_libraries):
     Target "SampleAsyncConsumerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:96 (target_link_libraries):
     Target "SampleAsyncConsumerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:97 (target_link_libraries):
     Target "SampleConsumerListenerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:97 (target_link_libraries):
     Target "SampleConsumerListenerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:98 (target_link_libraries):
     Target "SampleReaderCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:98 (target_link_libraries):
     Target "SampleReaderCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:99 (target_link_libraries):
     Target "SampleKeyValueSchemaConsumer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:99 (target_link_libraries):
     Target "SampleKeyValueSchemaConsumer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:100 (target_link_libraries):
     Target "SampleKeyValueSchemaProducer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:100 (target_link_libraries):
     Target "SampleKeyValueSchemaProducer" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:101 (target_link_libraries):
     Target "SampleCustomLoggerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   CMake Warning at examples/CMakeLists.txt:101 (target_link_libraries):
     Target "SampleCustomLoggerCApi" requests linking to directory
     "/opt/homebrew/Cellar/protobuf@3/3.20.3".  Targets may link only to
     libraries.  CMake is dropping the item.
   
   
   -- Generating done
   -- Build files have been written to: /Users/philipyu/Development/pulsar-client-cpp
   
   ➜  pulsar-client-cpp git:(main) make
   [ 80%] Built target PULSAR_OBJECT_LIB
   [ 81%] Linking CXX shared library libpulsar.dylib
   Undefined symbols for architecture arm64:
     "google::protobuf::MessageLite::ParseFromArray(void const*, int)", referenced from:
         pulsar::ClientConnection::processIncomingBuffer() in ClientConnection.cc.o
         pulsar::Commands::deSerializeSingleMessageInBatch(pulsar::Message&, int, int, std::__1::shared_ptr<pulsar::BatchMessageAcker> const&) in Commands.cc.o
     "google::protobuf::MessageLite::ParseFromString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
         pulsar::MessageId::deserialize(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in MessageId.cc.o
     "google::protobuf::RepeatedField<long long>::Reserve(int)", referenced from:
         pulsar::Commands::newAck(unsigned long long, long long, long long, pulsar::BitSet const&, int, int) in Commands.cc.o
         pulsar::Commands::newMultiMessageAck(unsigned long long, std::__1::set<pulsar::MessageId, std::__1::less<pulsar::MessageId>, std::__1::allocator<pulsar::MessageId> > const&) in Commands.cc.o
         pulsar::proto::MessageIdData::MessageIdData(pulsar::proto::MessageIdData const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::MergeFrom(pulsar::proto::MessageIdData const&) in PulsarApi.pb.cc.o
         pulsar::proto::CommandMessage::CommandMessage(pulsar::proto::CommandMessage const&) in PulsarApi.pb.cc.o
         pulsar::proto::CommandMessage::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::RepeatedField<long long>::~RepeatedField()", referenced from:
         pulsar::proto::MessageIdData::~MessageIdData() in PulsarApi.pb.cc.o
         pulsar::proto::CommandMessage::~CommandMessage() in PulsarApi.pb.cc.o
     "google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~RepeatedPtrField()", referenced from:
         pulsar::MessageBuilder::setReplicationClusters(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> > > > const&) in MessageBuilder.cc.o
         pulsar::MessageBuilder::disableReplication(bool) in MessageBuilder.cc.o
         pulsar::MessageImpl::setReplicationClusters(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> > > > const&) in MessageImpl.cc.o
         pulsar::MessageImpl::disableReplication(bool) in MessageImpl.cc.o
         pulsar::proto::MessageMetadata::MessageMetadata(pulsar::proto::MessageMetadata const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::SharedDtor() in PulsarApi.pb.cc.o
         pulsar::proto::CommandGetTopicsOfNamespaceResponse::~CommandGetTopicsOfNamespaceResponse() in PulsarApi.pb.cc.o
         ...
     "google::protobuf::FileDescriptorSet::FileDescriptorSet(google::protobuf::Arena*, bool)", referenced from:
         pulsar::createProtobufNativeSchema(google::protobuf::Descriptor const*) in ProtobufNativeSchema.cc.o
     "google::protobuf::FileDescriptorSet::~FileDescriptorSet()", referenced from:
         pulsar::createProtobufNativeSchema(google::protobuf::Descriptor const*) in ProtobufNativeSchema.cc.o
     "google::protobuf::stringpiece_internal::StringPiece::LogFatalSizeTooBig(unsigned long, char const*)", referenced from:
         pulsar::proto::Schema_Type_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::Schema_Type*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_SubType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandSubscribe_SubType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_InitialPosition_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandSubscribe_InitialPosition*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse_LookupType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandLookupTopicResponse_LookupType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_AckType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandAck_AckType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_ValidationError_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandAck_ValidationError*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::io::EpsCopyOutputStream::WriteRawFallback(void const*, int, unsigned char*)", referenced from:
         pulsar::proto::Schema::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::IntRange::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         ...
     "google::protobuf::io::EpsCopyOutputStream::WriteStringOutline(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*)", referenced from:
         pulsar::proto::MessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::CommandGetTopicsOfNamespaceResponse::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::CommandWatchTopicListSuccess::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::CommandWatchTopicUpdate::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::CommandAddPartitionToTxn::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
     "google::protobuf::io::EpsCopyOutputStream::EnsureSpaceFallback(unsigned char*)", referenced from:
         pulsar::proto::Schema::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::IntRange::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::BrokerEntryMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         ...
     "google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned char*)", referenced from:
         pulsar::proto::Schema::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         ...
     "google::protobuf::FileDescriptorProto* google::protobuf::Arena::CreateMaybeMessage<google::protobuf::FileDescriptorProto>(google::protobuf::Arena*)", referenced from:
         pulsar::internalCollectFileDescriptors(google::protobuf::FileDescriptor const*, google::protobuf::FileDescriptorSet&) in ProtobufNativeSchema.cc.o
     "google::protobuf::Arena::AllocateAlignedWithHook(unsigned long, std::type_info const*)", referenced from:
         pulsar::proto::Schema* google::protobuf::Arena::CreateMaybeMessage<pulsar::proto::Schema>(google::protobuf::Arena*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData* google::protobuf::Arena::CreateMaybeMessage<pulsar::proto::MessageIdData>(google::protobuf::Arena*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue* google::protobuf::Arena::CreateMaybeMessage<pulsar::proto::KeyValue>(google::protobuf::Arena*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue* google::protobuf::Arena::CreateMaybeMessage<pulsar::proto::KeyLongValue>(google::protobuf::Arena*) in PulsarApi.pb.cc.o
         pulsar::proto::IntRange* google::protobuf::Arena::CreateMaybeMessage<pulsar::proto::IntRange>(google::protobuf::Arena*) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys* google::protobuf::Arena::CreateMaybeMessage<pulsar::proto::EncryptionKeys>(google::protobuf::Arena*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata* google::protobuf::Arena::CreateMaybeMessage<pulsar::proto::MessageMetadata>(google::protobuf::Arena*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned long, std::type_info const*)", referenced from:
         pulsar::Commands::initBatchMessageMetadata(pulsar::Message const&, pulsar::proto::MessageMetadata&) in Commands.cc.o
         pulsar::MessageBuilder::setReplicationClusters(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> > > > const&) in MessageBuilder.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(void**, void**, int, int) in MessageBuilder.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in MessageBuilder.cc.o
         pulsar::MessageImpl::setReplicationClusters(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> > > > const&) in MessageImpl.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::MergeFromInnerLoop<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(void**, void**, int, int) in MessageImpl.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in MessageImpl.cc.o
         ...
     "google::protobuf::internal::WriteVarint(unsigned int, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeySharedMeta::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnected::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::ArenaStringPtr::ClearToEmpty()", referenced from:
         pulsar::Message::Message(pulsar::MessageId const&, pulsar::proto::MessageMetadata&, pulsar::SharedBuffer&, pulsar::proto::SingleMessageMetadata&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Message.cc.o
     "google::protobuf::internal::ArenaStringPtr::Set(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, google::protobuf::Arena*)", referenced from:
         pulsar::Commands::newConnect(std::__1::shared_ptr<pulsar::Authentication> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, pulsar::Result&) in Commands.cc.o
         pulsar::Commands::newAuthResponse(std::__1::shared_ptr<pulsar::Authentication> const&, pulsar::Result&) in Commands.cc.o
         pulsar::ProducerImpl::sendAsyncWithStatsUpdate(pulsar::Message const&, std::__1::function<void (pulsar::Result, pulsar::MessageId const&)> const&) in ProducerImpl.cc.o
     "google::protobuf::internal::ArenaStringPtr::Set(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, google::protobuf::Arena*)", referenced from:
         pulsar::Commands::newPartitionMetadataRequest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long long) in Commands.cc.o
         pulsar::Commands::newLookup(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Commands.cc.o
         pulsar::Commands::newGetSchema(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long long) in Commands.cc.o
         pulsar::Commands::newConnect(std::__1::shared_ptr<pulsar::Authentication> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, pulsar::Result&) in Commands.cc.o
         pulsar::Commands::newAuthResponse(std::__1::shared_ptr<pulsar::Authentication> const&, pulsar::Result&) in Commands.cc.o
         pulsar::Commands::newSubscribe(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&, unsigned long long, unsigned long long, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::Commands::SubscriptionMode, boost::optional<pulsar::MessageId>, bool, 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&, std::__1::map<std::__1::basic_str
 ing<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&, pulsar::SchemaInfo const&, int, bool, pulsar::KeySharedPolicy, int) in Commands.cc.o
         pulsar::getSchema(pulsar::SchemaInfo const&) in Commands.cc.o
         ...
     "google::protobuf::internal::ArenaStringPtr::Destroy()", referenced from:
         pulsar::proto::Schema::~Schema() in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::~KeyValue() in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::~KeyLongValue() in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::~EncryptionKeys() in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::SharedDtor() in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::~SingleMessageMetadata() in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::SharedDtor() in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::LookUpEnumName(google::protobuf::internal::EnumEntry const*, int const*, unsigned long, int)", referenced from:
         pulsar::proto::Schema_Type_Name(pulsar::proto::Schema_Type) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_SubType_Name(pulsar::proto::CommandSubscribe_SubType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_InitialPosition_Name(pulsar::proto::CommandSubscribe_InitialPosition) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType_Name(pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse_LookupType_Name(pulsar::proto::CommandLookupTopicResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_AckType_Name(pulsar::proto::CommandAck_AckType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_ValidationError_Name(pulsar::proto::CommandAck_ValidationError) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::WireFormatLite::InternalWriteMessage(int, google::protobuf::MessageLite const&, int, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)", referenced from:
         pulsar::proto::Schema::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnected::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::WireFormatLite::Int64Size(google::protobuf::RepeatedField<long long> const&)", referenced from:
         pulsar::proto::MessageIdData::ByteSizeLong() const in PulsarApi.pb.cc.o
         pulsar::proto::CommandMessage::ByteSizeLong() const in PulsarApi.pb.cc.o
     "google::protobuf::internal::LookUpEnumValue(google::protobuf::internal::EnumEntry const*, unsigned long, google::protobuf::stringpiece_internal::StringPiece, int*)", referenced from:
         pulsar::proto::Schema_Type_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::Schema_Type*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_SubType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandSubscribe_SubType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_InitialPosition_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandSubscribe_InitialPosition*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse_LookupType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandLookupTopicResponse_LookupType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_AckType_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandAck_AckType*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_ValidationError_Parse(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::proto::CommandAck_ValidationError*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::ReadTagFallback(char const*, unsigned int)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::IntRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::ThreadSafeArena::AddCleanup(void*, void (*)(void*))", referenced from:
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in Commands.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<pulsar::proto::IntRange>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::IntRange>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in Commands.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in Message.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in MessageBuilder.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in MessageBuilder.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in MessageCrypto.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::AddAllocatedSlowWithCopy<google::protobuf::RepeatedPtrField<pulsar::proto::EncryptionKeys>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::EncryptionKeys>::TypeHandler::Type*, google::protobuf::Arena*, google::protobuf::Arena*) in MessageCrypto.cc.o
         ...
     "google::protobuf::internal::ThreadSafeArena::~ThreadSafeArena()", referenced from:
         google::protobuf::MessageLite::~MessageLite() in PulsarApi.pb.cc.o
         pulsar::proto::Schema::~Schema() in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::MessageIdData(pulsar::proto::MessageIdData const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::~MessageIdData() in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::~KeyValue() in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::~KeyLongValue() in PulsarApi.pb.cc.o
         pulsar::proto::IntRange::~IntRange() in PulsarApi.pb.cc.o
         ...
     "void google::protobuf::internal::InternalMetadata::DoMergeFrom<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> > const&)", referenced from:
         pulsar::proto::Schema::Schema(pulsar::proto::Schema const&) in PulsarApi.pb.cc.o
         pulsar::proto::Schema::MergeFrom(pulsar::proto::Schema const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::MessageIdData(pulsar::proto::MessageIdData const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::MergeFrom(pulsar::proto::MessageIdData const&) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::KeyValue(pulsar::proto::KeyValue const&) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::MergeFrom(pulsar::proto::KeyValue const&) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::KeyLongValue(pulsar::proto::KeyLongValue const&) in PulsarApi.pb.cc.o
         ...
     "void google::protobuf::internal::InternalMetadata::DoClear<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()", referenced from:
         pulsar::proto::Schema::Clear() in PulsarApi.pb.cc.o
         pulsar::proto::Schema::CopyFrom(pulsar::proto::Schema const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::Clear() in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::Clear() in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::CopyFrom(pulsar::proto::KeyValue const&) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::Clear() in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::CopyFrom(pulsar::proto::KeyLongValue const&) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::PackedInt64Parser(void*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandMessage::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
     "google::protobuf::internal::UnknownFieldParse(unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::IntRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::VarintParseSlow32(char const*, unsigned int)", referenced from:
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::IntRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnected::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAuthResponse::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::VarintParseSlow64(char const*, unsigned int)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::BrokerEntryMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::EpsCopyInputStream::DoneFallback(int, int)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::IntRange::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()", referenced from:
         pulsar::proto::Schema::~Schema() in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::~EncryptionKeys() in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::MessageMetadata(pulsar::proto::MessageMetadata const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::SharedDtor() in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::~SingleMessageMetadata() in PulsarApi.pb.cc.o
         pulsar::proto::KeySharedMeta::~KeySharedMeta() in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe::CommandSubscribe(pulsar::proto::CommandSubscribe const&) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::RepeatedPtrFieldBase::InternalExtend(int)", referenced from:
         pulsar::Message::Message(pulsar::MessageId const&, pulsar::proto::MessageMetadata&, pulsar::SharedBuffer&, pulsar::proto::SingleMessageMetadata&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Message.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase*) in MessageBuilder.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::SwapFallback<google::protobuf::RepeatedPtrField<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::TypeHandler>(google::protobuf::internal::RepeatedPtrFieldBase*) in MessageImpl.cc.o
         pulsar::proto::Schema::Schema(pulsar::proto::Schema const&) in PulsarApi.pb.cc.o
         pulsar::proto::Schema::MergeFrom(pulsar::proto::Schema const&) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::EncryptionKeys(pulsar::proto::EncryptionKeys const&) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::MergeFrom(pulsar::proto::EncryptionKeys const&) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*)", referenced from:
         pulsar::Commands::newAck(unsigned long long, long long, long long, pulsar::BitSet const&, int, int) in Commands.cc.o
         pulsar::Commands::newMultiMessageAck(unsigned long long, std::__1::set<pulsar::MessageId, std::__1::less<pulsar::MessageId>, std::__1::allocator<pulsar::MessageId> > const&) in Commands.cc.o
         pulsar::Commands::newRedeliverUnacknowledgedMessages(unsigned long long, std::__1::set<pulsar::MessageId, std::__1::less<pulsar::MessageId>, std::__1::allocator<pulsar::MessageId> > const&) in Commands.cc.o
         pulsar::Commands::initBatchMessageMetadata(pulsar::Message const&, pulsar::proto::MessageMetadata&) in Commands.cc.o
         pulsar::MessageBuilder::setReplicationClusters(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> > > > const&) in MessageBuilder.cc.o
         pulsar::MessageImpl::setReplicationClusters(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> > > > const&) in MessageImpl.cc.o
         pulsar::internalCollectFileDescriptors(google::protobuf::FileDescriptor const*, google::protobuf::FileDescriptorSet&) in ProtobufNativeSchema.cc.o
         ...
     "google::protobuf::internal::RepeatedPtrFieldBase::Reserve(int)", referenced from:
         pulsar::Commands::serializeSingleMessageInBatchWithPayload(pulsar::Message const&, pulsar::SharedBuffer&, unsigned long) in Commands.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated<google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler::Type*) in Commands.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated<google::protobuf::RepeatedPtrField<pulsar::proto::IntRange>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::IntRange>::TypeHandler::Type*) in Commands.cc.o
         pulsar::Message::Message(pulsar::MessageId const&, pulsar::proto::MessageMetadata&, pulsar::SharedBuffer&, pulsar::proto::SingleMessageMetadata&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Message.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated<google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler::Type*) in Message.cc.o
         pulsar::MessageBuilder::setReplicationClusters(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> > > > const&) in MessageBuilder.cc.o
         void google::protobuf::internal::RepeatedPtrFieldBase::UnsafeArenaAddAllocated<google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler>(google::protobuf::RepeatedPtrField<pulsar::proto::KeyValue>::TypeHandler::Type*) in MessageBuilder.cc.o
         ...
     "google::protobuf::internal::InitializeEnumStrings(google::protobuf::internal::EnumEntry const*, int const*, unsigned long, google::protobuf::internal::ExplicitlyConstructed<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, 1ul>*)", referenced from:
         pulsar::proto::Schema_Type_Name(pulsar::proto::Schema_Type) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_SubType_Name(pulsar::proto::CommandSubscribe_SubType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_InitialPosition_Name(pulsar::proto::CommandSubscribe_InitialPosition) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType_Name(pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse_LookupType_Name(pulsar::proto::CommandLookupTopicResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_AckType_Name(pulsar::proto::CommandAck_AckType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_ValidationError_Name(pulsar::proto::CommandAck_ValidationError) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::GetOwnedMessageInternal(google::protobuf::Arena*, google::protobuf::MessageLite*, google::protobuf::Arena*)", referenced from:
         pulsar::Commands::newSubscribe(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&, unsigned long long, unsigned long long, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pulsar::Commands::SubscriptionMode, boost::optional<pulsar::MessageId>, bool, 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&, std::__1::map<std::__1::basic_str
 ing<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&, pulsar::SchemaInfo const&, int, bool, pulsar::KeySharedPolicy, int) in Commands.cc.o
         pulsar::Commands::newProducer(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long long, 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&, pulsar::SchemaInfo const&, unsigned long long, bool, bool, int, boost::optional<unsigned long long>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Commands.cc.o
     "google::protobuf::internal::InitProtobufDefaultsSlow()", referenced from:
         pulsar::proto::Schema_Type_Name(pulsar::proto::Schema_Type) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_SubType_Name(pulsar::proto::CommandSubscribe_SubType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_InitialPosition_Name(pulsar::proto::CommandSubscribe_InitialPosition) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType_Name(pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse_LookupType_Name(pulsar::proto::CommandLookupTopicResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_AckType_Name(pulsar::proto::CommandAck_AckType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_ValidationError_Name(pulsar::proto::CommandAck_ValidationError) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::InlineGreedyStringParser(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, char const*, google::protobuf::internal::ParseContext*)", referenced from:
         pulsar::proto::Schema::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::KeyLongValue::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::EncryptionKeys::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::MessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::SingleMessageMetadata::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         pulsar::proto::CommandConnect::_InternalParse(char const*, google::protobuf::internal::ParseContext*) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::fixed_address_empty_string", referenced from:
         pulsar::proto::Schema_Type_Name(pulsar::proto::Schema_Type) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_SubType_Name(pulsar::proto::CommandSubscribe_SubType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_InitialPosition_Name(pulsar::proto::CommandSubscribe_InitialPosition) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType_Name(pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse_LookupType_Name(pulsar::proto::CommandLookupTopicResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_AckType_Name(pulsar::proto::CommandAck_AckType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_ValidationError_Name(pulsar::proto::CommandAck_ValidationError) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::internal::init_protobuf_defaults_state", referenced from:
         pulsar::proto::Schema_Type_Name(pulsar::proto::Schema_Type) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_SubType_Name(pulsar::proto::CommandSubscribe_SubType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandSubscribe_InitialPosition_Name(pulsar::proto::CommandSubscribe_InitialPosition) in PulsarApi.pb.cc.o
         pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType_Name(pulsar::proto::CommandPartitionedTopicMetadataResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandLookupTopicResponse_LookupType_Name(pulsar::proto::CommandLookupTopicResponse_LookupType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_AckType_Name(pulsar::proto::CommandAck_AckType) in PulsarApi.pb.cc.o
         pulsar::proto::CommandAck_ValidationError_Name(pulsar::proto::CommandAck_ValidationError) in PulsarApi.pb.cc.o
         ...
     "google::protobuf::MessageLite::SerializeToArray(void*, int) const", referenced from:
         pulsar::Commands::writeMessageWithSize(pulsar::proto::BaseCommand const&) in Commands.cc.o
         pulsar::Commands::newSend(pulsar::SharedBuffer&, pulsar::proto::BaseCommand&, unsigned long long, unsigned long long, pulsar::Commands::ChecksumType, pulsar::proto::MessageMetadata const&, pulsar::SharedBuffer const&) in Commands.cc.o
         pulsar::Commands::serializeSingleMessageInBatchWithPayload(pulsar::Message const&, pulsar::SharedBuffer&, unsigned long) in Commands.cc.o
         pulsar::createProtobufNativeSchema(google::protobuf::Descriptor const*) in ProtobufNativeSchema.cc.o
     "google::protobuf::MessageLite::SerializeToString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) const", referenced from:
         pulsar::MessageId::serialize(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in MessageId.cc.o
     "google::protobuf::MessageLite::InitializationErrorString() const", referenced from:
         vtable for pulsar::proto::Schema in PulsarApi.pb.cc.o
         vtable for pulsar::proto::MessageIdData in PulsarApi.pb.cc.o
         vtable for pulsar::proto::KeyValue in PulsarApi.pb.cc.o
         vtable for pulsar::proto::KeyLongValue in PulsarApi.pb.cc.o
         vtable for pulsar::proto::IntRange in PulsarApi.pb.cc.o
         vtable for pulsar::proto::EncryptionKeys in PulsarApi.pb.cc.o
         vtable for pulsar::proto::MessageMetadata in PulsarApi.pb.cc.o
         ...
     "google::protobuf::FileDescriptor::dependency(int) const", referenced from:
         pulsar::internalCollectFileDescriptors(google::protobuf::FileDescriptor const*, google::protobuf::FileDescriptorSet&) in ProtobufNativeSchema.cc.o
     "google::protobuf::FileDescriptor::CopyTo(google::protobuf::FileDescriptorProto*) const", referenced from:
         pulsar::internalCollectFileDescriptors(google::protobuf::FileDescriptor const*, google::protobuf::FileDescriptorSet&) in ProtobufNativeSchema.cc.o
     "google::protobuf::FileDescriptorSet::ByteSizeLong() const", referenced from:
         pulsar::createProtobufNativeSchema(google::protobuf::Descriptor const*) in ProtobufNativeSchema.cc.o
     "typeinfo for google::protobuf::MessageLite", referenced from:
         typeinfo for pulsar::proto::Schema in PulsarApi.pb.cc.o
         typeinfo for pulsar::proto::MessageIdData in PulsarApi.pb.cc.o
         typeinfo for pulsar::proto::KeyValue in PulsarApi.pb.cc.o
         typeinfo for pulsar::proto::KeyLongValue in PulsarApi.pb.cc.o
         typeinfo for pulsar::proto::IntRange in PulsarApi.pb.cc.o
         typeinfo for pulsar::proto::EncryptionKeys in PulsarApi.pb.cc.o
         typeinfo for pulsar::proto::MessageMetadata in PulsarApi.pb.cc.o
         ...
     "vtable for google::protobuf::MessageLite", referenced from:
         google::protobuf::MessageLite::~MessageLite() in PulsarApi.pb.cc.o
         pulsar::proto::Schema::Schema(pulsar::proto::Schema const&) in PulsarApi.pb.cc.o
         pulsar::proto::Schema::~Schema() in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::MessageIdData(pulsar::proto::MessageIdData const&) in PulsarApi.pb.cc.o
         pulsar::proto::MessageIdData::~MessageIdData() in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::KeyValue(pulsar::proto::KeyValue const&) in PulsarApi.pb.cc.o
         pulsar::proto::KeyValue::~KeyValue() in PulsarApi.pb.cc.o
         ...
     NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
   ld: symbol(s) not found for architecture arm64
   clang: error: linker command failed with exit code 1 (use -v to see invocation)
   make[2]: *** [lib/libpulsar.dylib] Error 1
   make[1]: *** [lib/CMakeFiles/pulsarShared.dir/all] Error 2
   make: *** [all] Error 2
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [pulsar-client-cpp] merlimat merged pull request #44: Fix Ubuntu and macOS build guide

Posted by GitBox <gi...@apache.org>.
merlimat merged PR #44:
URL: https://github.com/apache/pulsar-client-cpp/pull/44


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org