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/11/23 07:46:49 UTC

[GitHub] [pulsar] BewareMyPower opened a new pull request, #18574: [doc] Add documents for C++ client 3.0.0 or later

BewareMyPower opened a new pull request, #18574:
URL: https://github.com/apache/pulsar/pull/18574

   ### Motivation
   
   It's a followup PR of https://github.com/apache/pulsar-site/pull/300, which shows the download URLs of the [separated C++ client repo](https://github.com/apache/pulsar-client-cpp). This PR adds the guidance to tell users where to download the new released C++ client (3.0.0 or later).
   
   ### Modifications
   
   Reference the download page for the C++ client 3.0.0 or higher and explain the packages simply. Add a section to describe how to install the APK (Alpine Package Keeper) package.
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [x] `doc` <!-- Your PR contains doc changes. Please attach the local preview screenshots (run `sh start.sh` at `pulsar/site2/website`) to your PR description, or else your PR might not get merged. -->
   - [ ] `doc-required` <!-- Your PR changes impact docs and you will update later -->
   - [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
   - [ ] `doc-complete` <!-- Docs have been already added -->
   
   ### Matching PR in forked repository
   
   PR in forked repository: This is a pure doc related PR, no matching PR is needed.


-- 
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] tisonkun merged pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
tisonkun merged PR #18574:
URL: https://github.com/apache/pulsar/pull/18574


-- 
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] momo-jun commented on a diff in pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
momo-jun commented on code in PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#discussion_r1030202510


##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later
+
+The version of the Pulsar C++ client is no longer consistent with Pulsar after 2.10.x. The new client version starts from 3.0.0. You can turn to [the download page](https://pulsar.apache.org/download) to see the latest releases.

Review Comment:
   ```suggestion
   The new version of the Pulsar C++ client starts from 3.0.0 and has been no longer consistent with Pulsar since 2.10.x. For the latest releases, see the [Download](/download/) page.
   ```



##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later

Review Comment:
   ```suggestion
   ## Changes for version 3.0.0 or later
   ```
   Cannot come up with a better heading at this moment...
   It sounds like some important notice in the release notes, though.



-- 
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] shibd commented on a diff in pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
shibd commented on code in PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#discussion_r1030121710


##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later
+
+The version of the Pulsar C++ client is no longer consistent with Pulsar after 2.10.x. The new client version starts from 3.0.0. You can turn to [the download page](https://pulsar.apache.org/download) to see the latest releases.
+
+Take the [3.0.0 release](https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.0.0/) for example, there are following subdirectories:

Review Comment:
   After 3.0, do we no longer support [brew](https://formulae.brew.sh/formula/apache-pulsar) install?



-- 
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] tisonkun commented on pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
tisonkun commented on PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#issuecomment-1325872250

   Merging...


-- 
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] BewareMyPower commented on a diff in pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
BewareMyPower commented on code in PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#discussion_r1030393505


##########
site2/docs/client-libraries-cpp.md:
##########
@@ -104,6 +139,13 @@ If you get an error like "libpulsar.so: cannot open shared object file: No such
 
 :::
 
+### APK
+
+```bash
+apk add --allow-untrusted ./apache-pulsar-client-3.0.0-r0.apk

Review Comment:
   Yes. See https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.0.0/apk-x86_64/x86_64/



-- 
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] tisonkun commented on a diff in pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
tisonkun commented on code in PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#discussion_r1030118953


##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later
+
+The version of the Pulsar C++ client is no longer consistent with Pulsar after 2.10.x. The new client version starts from 3.0.0. You can turn to [the download page](https://pulsar.apache.org/download) to see the latest releases.
+
+Take the [3.0.0 release](https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.0.0/) for example, there are following subdirectories:
+- apk-arm64: the Alpine Linux packages for ARM64 architectures
+- apk-x86_64: the Alpine Linux packages for x64 architectures
+- deb-arm64: the Debian-based Linux packages for ARM64 architectures
+- deb-x86_64: the Debian-based Linux packages for x64 architectures
+- rpm-arm64: the RedHat-based Linux packages for ARM64 architectures
+- rpm-x86_64: the RedHat-based Linux packages for x64 architectures
+
+These Linux packages above all contain the C++ headers installed under `/usr/include` and the following libraries installed under `/usr/lib`:
+- libpulsar.so: the shared library that links 3rd party dependencies statically
+- libpulsar.a: the static library
+- libpulsarwithdeps.a: the fat static library that includes all 3rd party dependencies
+
+Here is an example to link these libraries for a C++ source file named `main.cc`:
+
+```bash
+# Link to libpulsar.so
+g++ -std=c++11 main.cc -lpulsar
+# Link to libpulsarwithdeps.a
+g++ -std=c++11 main.cc /usr/lib/libpulsarwithdeps.a -lpthread -ldl
+# Link to libpulsar.a
+g++ -std=c++11 main.cc /usr/lib/libpulsar.a \
+  -lprotobuf -lcurl -lssl -lcrypto -lz -lzstd -lsnappy -lpthread -ldl
+```
+
+> **NOTE**
+>
+> Linking to `libpulsar.a` might be difficult for beginners because the 3rd party dependencies must be compatible. For example, the protobuf version must be 3.20.0 or higher for Pulsar C++ client 3.0.0. It's better to link to `libpulsarwithdeps.a` instead.
+>
+> Before 3.0.0, there was a `libpulsarnossl.so`, which is removed now.

Review Comment:
   ```suggestion
   
   :::danger
   
   Before 3.0.0, there was a `libpulsarnossl.so`, which is removed now.
   
   :::
   ```



##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later
+
+The version of the Pulsar C++ client is no longer consistent with Pulsar after 2.10.x. The new client version starts from 3.0.0. You can turn to [the download page](https://pulsar.apache.org/download) to see the latest releases.
+
+Take the [3.0.0 release](https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.0.0/) for example, there are following subdirectories:
+- apk-arm64: the Alpine Linux packages for ARM64 architectures
+- apk-x86_64: the Alpine Linux packages for x64 architectures
+- deb-arm64: the Debian-based Linux packages for ARM64 architectures
+- deb-x86_64: the Debian-based Linux packages for x64 architectures
+- rpm-arm64: the RedHat-based Linux packages for ARM64 architectures
+- rpm-x86_64: the RedHat-based Linux packages for x64 architectures
+
+These Linux packages above all contain the C++ headers installed under `/usr/include` and the following libraries installed under `/usr/lib`:
+- libpulsar.so: the shared library that links 3rd party dependencies statically
+- libpulsar.a: the static library
+- libpulsarwithdeps.a: the fat static library that includes all 3rd party dependencies
+
+Here is an example to link these libraries for a C++ source file named `main.cc`:
+
+```bash
+# Link to libpulsar.so
+g++ -std=c++11 main.cc -lpulsar
+# Link to libpulsarwithdeps.a
+g++ -std=c++11 main.cc /usr/lib/libpulsarwithdeps.a -lpthread -ldl
+# Link to libpulsar.a
+g++ -std=c++11 main.cc /usr/lib/libpulsar.a \
+  -lprotobuf -lcurl -lssl -lcrypto -lz -lzstd -lsnappy -lpthread -ldl
+```
+
+> **NOTE**
+>
+> Linking to `libpulsar.a` might be difficult for beginners because the 3rd party dependencies must be compatible. For example, the protobuf version must be 3.20.0 or higher for Pulsar C++ client 3.0.0. It's better to link to `libpulsarwithdeps.a` instead.
+>

Review Comment:
   ```suggestion
   :::caution
   
   Linking to `libpulsar.a` can be difficult for beginners because the 3rd party dependencies must be compatible. For example, the protobuf version must be 3.20.0 or higher for Pulsar C++ client 3.0.0. It's better to link to `libpulsarwithdeps.a` instead.
   
   :::
   ```



##########
site2/docs/client-libraries-cpp.md:
##########
@@ -104,6 +139,13 @@ If you get an error like "libpulsar.so: cannot open shared object file: No such
 
 :::
 
+### APK
+
+```bash
+apk add --allow-untrusted ./apache-pulsar-client-3.0.0-r0.apk

Review Comment:
   Do we stick to 3.0.0 in the document here? If so, you may update the links above for other hard linked items (RPM, DEB).



##########
site2/docs/client-libraries-cpp.md:
##########
@@ -104,6 +139,13 @@ If you get an error like "libpulsar.so: cannot open shared object file: No such
 
 :::
 
+### APK
+
+```bash
+apk add --allow-untrusted ./apache-pulsar-client-3.0.0-r0.apk

Review Comment:
   Also, it seems to me that `-r0` referred to a release candidate, is it a formal release?



##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later
+
+The version of the Pulsar C++ client is no longer consistent with Pulsar after 2.10.x. The new client version starts from 3.0.0. You can turn to [the download page](https://pulsar.apache.org/download) to see the latest releases.
+
+Take the [3.0.0 release](https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.0.0/) for example, there are following subdirectories:
+- apk-arm64: the Alpine Linux packages for ARM64 architectures
+- apk-x86_64: the Alpine Linux packages for x64 architectures
+- deb-arm64: the Debian-based Linux packages for ARM64 architectures
+- deb-x86_64: the Debian-based Linux packages for x64 architectures
+- rpm-arm64: the RedHat-based Linux packages for ARM64 architectures
+- rpm-x86_64: the RedHat-based Linux packages for x64 architectures
+
+These Linux packages above all contain the C++ headers installed under `/usr/include` and the following libraries installed under `/usr/lib`:
+- libpulsar.so: the shared library that links 3rd party dependencies statically
+- libpulsar.a: the static library
+- libpulsarwithdeps.a: the fat static library that includes all 3rd party dependencies
+
+Here is an example to link these libraries for a C++ source file named `main.cc`:
+
+```bash
+# Link to libpulsar.so
+g++ -std=c++11 main.cc -lpulsar
+# Link to libpulsarwithdeps.a
+g++ -std=c++11 main.cc /usr/lib/libpulsarwithdeps.a -lpthread -ldl
+# Link to libpulsar.a
+g++ -std=c++11 main.cc /usr/lib/libpulsar.a \
+  -lprotobuf -lcurl -lssl -lcrypto -lz -lzstd -lsnappy -lpthread -ldl
+```
+
+> **NOTE**
+>
+> Linking to `libpulsar.a` might be difficult for beginners because the 3rd party dependencies must be compatible. For example, the protobuf version must be 3.20.0 or higher for Pulsar C++ client 3.0.0. It's better to link to `libpulsarwithdeps.a` instead.
+>
+> Before 3.0.0, there was a `libpulsarnossl.so`, which is removed now.

Review Comment:
   Is there an alternative for it or why is it removed?



-- 
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] BewareMyPower commented on a diff in pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
BewareMyPower commented on code in PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#discussion_r1030386204


##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later
+
+The version of the Pulsar C++ client is no longer consistent with Pulsar after 2.10.x. The new client version starts from 3.0.0. You can turn to [the download page](https://pulsar.apache.org/download) to see the latest releases.
+
+Take the [3.0.0 release](https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.0.0/) for example, there are following subdirectories:
+- apk-arm64: the Alpine Linux packages for ARM64 architectures
+- apk-x86_64: the Alpine Linux packages for x64 architectures
+- deb-arm64: the Debian-based Linux packages for ARM64 architectures
+- deb-x86_64: the Debian-based Linux packages for x64 architectures
+- rpm-arm64: the RedHat-based Linux packages for ARM64 architectures
+- rpm-x86_64: the RedHat-based Linux packages for x64 architectures
+
+These Linux packages above all contain the C++ headers installed under `/usr/include` and the following libraries installed under `/usr/lib`:
+- libpulsar.so: the shared library that links 3rd party dependencies statically
+- libpulsar.a: the static library
+- libpulsarwithdeps.a: the fat static library that includes all 3rd party dependencies
+
+Here is an example to link these libraries for a C++ source file named `main.cc`:
+
+```bash
+# Link to libpulsar.so
+g++ -std=c++11 main.cc -lpulsar
+# Link to libpulsarwithdeps.a
+g++ -std=c++11 main.cc /usr/lib/libpulsarwithdeps.a -lpthread -ldl
+# Link to libpulsar.a
+g++ -std=c++11 main.cc /usr/lib/libpulsar.a \
+  -lprotobuf -lcurl -lssl -lcrypto -lz -lzstd -lsnappy -lpthread -ldl
+```
+
+> **NOTE**
+>
+> Linking to `libpulsar.a` might be difficult for beginners because the 3rd party dependencies must be compatible. For example, the protobuf version must be 3.20.0 or higher for Pulsar C++ client 3.0.0. It's better to link to `libpulsarwithdeps.a` instead.
+>
+> Before 3.0.0, there was a `libpulsarnossl.so`, which is removed now.

Review Comment:
   See https://github.com/apache/pulsar-client-cpp/pull/31 for the details. It's a wrong design and could make users confused.



-- 
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] BewareMyPower commented on a diff in pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
BewareMyPower commented on code in PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#discussion_r1030382357


##########
site2/docs/client-libraries-cpp.md:
##########
@@ -11,6 +11,41 @@ import TabItem from '@theme/TabItem';
 
 You can use a Pulsar C++ client to create producers, consumers, and readers. For Pulsar features that C++ clients support, see [Client Feature Matrix](https://docs.google.com/spreadsheets/d/1YHYTkIXR8-Ql103u-IMI18TXLlGStK8uJjDsOOA0T20/edit#gid=1784579914). For complete examples, refer to [C++ client examples](https://github.com/apache/pulsar-client-cpp/tree/main/examples).
 
+## Version 3.0.0 or later
+
+The version of the Pulsar C++ client is no longer consistent with Pulsar after 2.10.x. The new client version starts from 3.0.0. You can turn to [the download page](https://pulsar.apache.org/download) to see the latest releases.
+
+Take the [3.0.0 release](https://archive.apache.org/dist/pulsar/pulsar-client-cpp-3.0.0/) for example, there are following subdirectories:

Review Comment:
   We still support `brew install`, see https://github.com/Homebrew/homebrew-core/pull/114737



-- 
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] BewareMyPower commented on a diff in pull request #18574: [improve][doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
BewareMyPower commented on code in PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#discussion_r1030384169


##########
site2/docs/client-libraries-cpp.md:
##########
@@ -104,6 +139,13 @@ If you get an error like "libpulsar.so: cannot open shared object file: No such
 
 :::
 
+### APK
+
+```bash
+apk add --allow-untrusted ./apache-pulsar-client-3.0.0-r0.apk

Review Comment:
   I think we can use `apache-pulsar-client-*.apk` instead.



-- 
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] BewareMyPower commented on pull request #18574: [doc] Add documents for C++ client 3.0.0 or later

Posted by GitBox <gi...@apache.org>.
BewareMyPower commented on PR #18574:
URL: https://github.com/apache/pulsar/pull/18574#issuecomment-1324664966

   Previews:
   
   ![20221123153841](https://user-images.githubusercontent.com/18204803/203494799-c121f635-9b4c-4339-aa7c-a5916c209b60.jpg)
   
   ![20221123153906](https://user-images.githubusercontent.com/18204803/203494811-a4f89427-9ef4-4e21-abf1-03c484b96fc7.jpg)
   
   


-- 
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