From 9a52a65032e7dedd47b45410c397ec22cf8bf194 Mon Sep 17 00:00:00 2001 From: Dianjin Wang Date: Tue, 17 Jun 2025 11:36:48 +0800 Subject: [PATCH] Update docs for PAX --- docs/deployment/configure.md | 2 +- docs/deployment/install-required-packages.md | 18 ------------------ docs/deployment/quick-build.md | 6 ------ docs/operate-with-data/pax-table-format.md | 10 +++++----- .../operate-with-data/pax-table-format.md | 10 +++++----- .../operate-with-data/pax-table-format.md | 8 ++++---- .../deployment/install-required-packages.md | 2 +- .../operate-with-data/pax-table-format.md | 8 ++++---- 8 files changed, 20 insertions(+), 44 deletions(-) diff --git a/docs/deployment/configure.md b/docs/deployment/configure.md index 11bda27e35a..e558218fa34 100644 --- a/docs/deployment/configure.md +++ b/docs/deployment/configure.md @@ -134,7 +134,7 @@ Also, some packages names vary between different Linux distributions. | `--enable-gpcloud` | Enable gpcloud support|| | `--enable-external-fts` | Enable external fts support|| | `--enable-ic-proxy` | Enable interconnect proxy mode | This requires libuv library to be installed. | -| `--enable-pax` | Enable PAX support | gcc/gcc-c++ 11+, cmake3, protobuf and ZSTD are required, see details [here](https://github.com/apache/cloudberry/blob/main/contrib/pax_storage/doc/README.md#build). | +| `--enable-pax` | Enable PAX support | gcc/gcc-c++ 8+, cmake3, protobuf and ZSTD are required, see details [here](https://github.com/apache/cloudberry/blob/main/contrib/pax_storage/doc/README.md#build). | | `--with-includes=DIRS` | Look for additional header files in DIRS|The Xerces-C is required to build with ORCA.| | `--with-libraries=DIRS` | Look for additional libraries in DIRS|The library xerces-c is required to build with ORCA| | `--with-pgport=PORTNUM` | Set default port number [5432]| `--with-pgport=5432` is used in this guide.| diff --git a/docs/deployment/install-required-packages.md b/docs/deployment/install-required-packages.md index f1ba7faa3f5..27ec1253791 100644 --- a/docs/deployment/install-required-packages.md +++ b/docs/deployment/install-required-packages.md @@ -73,24 +73,6 @@ sudo dnf install -y --enablerepo=crb libuv-devel libyaml-devel perl-IPC-Run prot In Red Hat Enterprise Linux (RHEL), this repository is called "PowerTools." ::: -### Install gcc/gcc-c++ 11+ for Rocky Linux 8 (Optional) - -For Rocky Linux 8, we need to install the higher version of gcc and gcc-c++ to build Apache Cloudberry with PAX support: - -```bash -sudo yum install -y gcc-toolset-11-gcc gcc-toolset-11-gcc-c++ -scl enable gcc-toolset-11 bash # for temprory use -sudo echo "source /opt/rh/gcc-toolset-11/enable" >> /etc/profile.d/gcc.sh -sudo source /etc/profile.d/gcc.sh # for permanent use -``` - -You can verify the gcc and gcc-c++ 11+ version by running: - -```bash -gcc --version -g++ --version -``` - ### Install Apache Xerces-C for ORCA Apache Xerces-C is a required dependency for enabling the Orca query optimizer in Cloudberry. The following steps download the source code, verify its integrity, build the library, and install it. diff --git a/docs/deployment/quick-build.md b/docs/deployment/quick-build.md index 1db375ae064..4b239b2abea 100644 --- a/docs/deployment/quick-build.md +++ b/docs/deployment/quick-build.md @@ -102,12 +102,6 @@ sudo dnf install -y --enablerepo=devel libuv-devel libyaml-devel perl-IPC-Run pr ## For Rocky Linux 9 sudo dnf install -y --enablerepo=crb libuv-devel libyaml-devel perl-IPC-Run protobuf-devel -# Only for Rocky Linux 8, install the higher version of gcc and gcc-c++ -sudo yum install -y gcc-toolset-11-gcc gcc-toolset-11-gcc-c++ -scl enable gcc-toolset-11 bash # for temprory use -sudo echo "source /opt/rh/gcc-toolset-11/enable" >> /etc/profile.d/gcc.sh -sudo source /etc/profile.d/gcc.sh # for permanent use - # Build Xerces-C source code XERCES_LATEST_RELEASE=3.3.0 XERCES_INSTALL_PREFIX="/usr/local/xerces-c" diff --git a/docs/operate-with-data/pax-table-format.md b/docs/operate-with-data/pax-table-format.md index 85dee538d68..3f6b6772b5f 100644 --- a/docs/operate-with-data/pax-table-format.md +++ b/docs/operate-with-data/pax-table-format.md @@ -26,7 +26,7 @@ To enable PAX when building Apache Cloudberry from source code, you need to: 1. Make sure that these dependency requirements are met: - - C/C++ Compiler: GCC/GCC-C++ 11 or later + - C/C++ Compiler: GCC/GCC-C++ 8 or later - CMake: 3.11 or later - Protobuf: 3.5.0 or later - ZSTD (libzstd): 1.4.0 or later @@ -40,10 +40,10 @@ To enable PAX when building Apache Cloudberry from source code, you need to: The following submodules will be downloaded for building and tesing PAX: - yyjson (`dependency/yyjson`) - - cpp-stub (`contrib/pax_storage/src/cpp/cotnrib`) - - googlebench (`contrib/pax_storage/src/cpp/cotnrib`) - - googletest (`contrib/pax_storage/src/cpp/cotnrib`) - - tabulate (`contrib/pax_storage/src/cpp/cotnrib`) + - cpp-stub (`contrib/pax_storage/src/cpp/contrib`) + - googlebench (`contrib/pax_storage/src/cpp/contrib`) (Now it's an optional dependency, it will be downloaded but not built by default. If needed, you can build it manually.) + - googletest (`contrib/pax_storage/src/cpp/contrib`) + - tabulate (`contrib/pax_storage/src/cpp/contrib`) :::note The submodules above are already included in the latest release source code archive, so you do not need to download the submodules manually after extracting the archive. diff --git a/i18n/zh/docusaurus-plugin-content-docs/current/operate-with-data/pax-table-format.md b/i18n/zh/docusaurus-plugin-content-docs/current/operate-with-data/pax-table-format.md index 6264cd003e3..932001e3384 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/current/operate-with-data/pax-table-format.md +++ b/i18n/zh/docusaurus-plugin-content-docs/current/operate-with-data/pax-table-format.md @@ -26,7 +26,7 @@ PAX 的混合存储能力使其适合于需要处理大量数据写入和频繁 1. 确保满足以下依赖要求: - - C/C++ 编译器:GCC/GCC-C++ 11 或更高版本 + - C/C++ 编译器:GCC/GCC-C++ 8 或更高版本 - CMake:3.11 或更高版本 - Protobuf:3.5.0 或更高版本 - ZSTD (libzstd):1.4.0 或更高版本 @@ -40,10 +40,10 @@ PAX 的混合存储能力使其适合于需要处理大量数据写入和频繁 执行该命令会下载这些子模块,用来构建和测试 PAX: - yyjson (`dependency/yyjson`) - - cpp-stub (`contrib/pax_storage/src/cpp/cotnrib`) - - googlebench (`contrib/pax_storage/src/cpp/cotnrib`) - - googletest (`contrib/pax_storage/src/cpp/cotnrib`) - - tabulate (`contrib/pax_storage/src/cpp/cotnrib`) + - cpp-stub (`contrib/pax_storage/src/cpp/contrib`) + - googlebench (`contrib/pax_storage/src/cpp/contrib`) - 该子模块会被下载,但不会默认构建,如有需要开发者可手动开启该功能。 + - googletest (`contrib/pax_storage/src/cpp/contrib`) + - tabulate (`contrib/pax_storage/src/cpp/contrib`) :::note 注意 上述子模块已经包含在最新发布的源代码压缩包中,因此解压后无需手动下载这些子模块。 diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.x/operate-with-data/pax-table-format.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.x/operate-with-data/pax-table-format.md index 6264cd003e3..d17854f3dd3 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-2.x/operate-with-data/pax-table-format.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.x/operate-with-data/pax-table-format.md @@ -40,10 +40,10 @@ PAX 的混合存储能力使其适合于需要处理大量数据写入和频繁 执行该命令会下载这些子模块,用来构建和测试 PAX: - yyjson (`dependency/yyjson`) - - cpp-stub (`contrib/pax_storage/src/cpp/cotnrib`) - - googlebench (`contrib/pax_storage/src/cpp/cotnrib`) - - googletest (`contrib/pax_storage/src/cpp/cotnrib`) - - tabulate (`contrib/pax_storage/src/cpp/cotnrib`) + - cpp-stub (`contrib/pax_storage/src/cpp/contrib`) + - googlebench (`contrib/pax_storage/src/cpp/contrib`) - 该子模块会被下载,但不会默认构建,如有需要开发者可手动开启该功能。 + - googletest (`contrib/pax_storage/src/cpp/contrib`) + - tabulate (`contrib/pax_storage/src/cpp/contrib`) :::note 注意 上述子模块已经包含在最新发布的源代码压缩包中,因此解压后无需手动下载这些子模块。 diff --git a/versioned_docs/version-2.x/deployment/install-required-packages.md b/versioned_docs/version-2.x/deployment/install-required-packages.md index f1ba7faa3f5..0207c0d6d8c 100644 --- a/versioned_docs/version-2.x/deployment/install-required-packages.md +++ b/versioned_docs/version-2.x/deployment/install-required-packages.md @@ -151,4 +151,4 @@ For Ubuntu users: sudo apt install -y gcc g++ libxml2-dev pkg-config bzip2 libzstd-dev bison python3 flex python3-dev libreadline-dev libuv1-dev libkrb5-dev libapr1-dev libevent-dev libyaml-dev libssl-dev libpam0g-dev libcurl4-gnutls-dev libbz2-dev libldap2-dev libxerces-c-dev libperl-dev libipc-run-perl make cmake libprotobuf-dev python3-setuptools iproute2 iputils-ping rsync liblz4-dev protobuf-compiler language-pack-en locales ``` - \ No newline at end of file + diff --git a/versioned_docs/version-2.x/operate-with-data/pax-table-format.md b/versioned_docs/version-2.x/operate-with-data/pax-table-format.md index 85dee538d68..b423ef0bac2 100644 --- a/versioned_docs/version-2.x/operate-with-data/pax-table-format.md +++ b/versioned_docs/version-2.x/operate-with-data/pax-table-format.md @@ -40,10 +40,10 @@ To enable PAX when building Apache Cloudberry from source code, you need to: The following submodules will be downloaded for building and tesing PAX: - yyjson (`dependency/yyjson`) - - cpp-stub (`contrib/pax_storage/src/cpp/cotnrib`) - - googlebench (`contrib/pax_storage/src/cpp/cotnrib`) - - googletest (`contrib/pax_storage/src/cpp/cotnrib`) - - tabulate (`contrib/pax_storage/src/cpp/cotnrib`) + - cpp-stub (`contrib/pax_storage/src/cpp/contrib`) + - googlebench (`contrib/pax_storage/src/cpp/contrib`) (Now it's an optional dependency, it will be downloaded but not built by default. If needed, you can build it manually.) + - googletest (`contrib/pax_storage/src/cpp/contrib`) + - tabulate (`contrib/pax_storage/src/cpp/contrib`) :::note The submodules above are already included in the latest release source code archive, so you do not need to download the submodules manually after extracting the archive.