Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion components/core/src/glt/glt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ if(CLP_BUILD_EXECUTABLES)
nlohmann_json::nlohmann_json
${STD_FS_LIBS}
clp::string_utils
yaml-cpp
yaml-cpp::yaml-cpp
ystdlib::error_handling
zstd::libzstd_static
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ RUN if [ -n "${DNF_MIRROR_BASE_URL:-}" ]; then \
ENV PIPX_BIN_DIR=/usr/local/bin
ENV PIPX_HOME=/opt/pipx

# NOTE: Source-built dependencies install into /usr/local, which some distros' pkg-config
# doesn't search, and which libraries may resolve to either lib or lib64.
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
RUN ./tools/scripts/lib_install/centos-stream-9/install-all.sh || { \
echo ""; \
echo "==============================================================="; \
Expand Down Expand Up @@ -68,3 +71,4 @@ ENV CURL_CA_BUNDLE=/opt/corp-ca/ca-bundle.crt \
SSL_CERT_FILE=/opt/corp-ca/ca-bundle.crt
ENV PIPX_BIN_DIR=/usr/local/bin
ENV PIPX_HOME=/opt/pipx
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ RUN if [ -n "${DNF_MIRROR_BASE_URL:-}" ]; then \
RUN pipx uninstall cmake
RUN pipx uninstall uv

# NOTE: Source-built dependencies install into /usr/local, which some distros' pkg-config
# doesn't search, and which libraries may resolve to either lib or lib64.
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
RUN ./tools/scripts/lib_install/manylinux_2_28/install-all.sh || { \
echo ""; \
echo "==============================================================="; \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ RUN if [ -n "${APK_MIRROR_URL:-}" ]; then \
RUN pipx uninstall cmake
RUN pipx uninstall uv

# NOTE: Source-built dependencies install into /usr/local, which some distros' pkg-config
# doesn't search, and which libraries may resolve to either lib or lib64.
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
RUN ./tools/scripts/lib_install/musllinux_1_2/install-all.sh || { \
echo ""; \
echo "==============================================================="; \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ RUN if [ -n "${APT_MIRROR_URL:-}" ]; then \
ENV PIPX_BIN_DIR=/usr/local/bin
ENV PIPX_HOME=/opt/pipx

# NOTE: Source-built dependencies install into /usr/local, which some distros' pkg-config
# doesn't search, and which libraries may resolve to either lib or lib64.
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
RUN ./tools/scripts/lib_install/ubuntu-jammy/install-all.sh || { \
echo ""; \
echo "==============================================================="; \
Expand Down Expand Up @@ -68,3 +71,4 @@ ENV CURL_CA_BUNDLE=/opt/corp-ca/ca-bundle.crt \
SSL_CERT_FILE=/opt/corp-ca/ca-bundle.crt
ENV PIPX_BIN_DIR=/usr/local/bin
ENV PIPX_HOME=/opt/pipx
ENV PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,9 @@ set -o pipefail
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
lib_install_scripts_dir="${script_dir}/.."

# NOTE: libarchive may statically link with LZMA, LZ4, and Zstandard, so we install them
# beforehand.
"${lib_install_scripts_dir}/liblzma.sh" 5.8.1
"${lib_install_scripts_dir}/lz4.sh" 1.10.0
"${lib_install_scripts_dir}/zstandard.sh" 1.5.7
"${lib_install_scripts_dir}/libarchive.sh" 3.8.9
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,7 @@ dnf install -y \
git \
java-11-openjdk \
jq \
libarchive-devel \
libcurl-devel \
libzstd-devel \
lz4-devel \
make \
mariadb-connector-c-devel \
openssl-devel \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ lib_install_scripts_dir="${script_dir}/.."
"${lib_install_scripts_dir}/liblzma.sh" 5.8.1
"${lib_install_scripts_dir}/lz4.sh" 1.10.0
"${lib_install_scripts_dir}/zstandard.sh" 1.5.7
"${lib_install_scripts_dir}/libarchive.sh" 3.8.0
"${lib_install_scripts_dir}/libarchive.sh" 3.8.9
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ lib_install_scripts_dir="${script_dir}/.."
"${lib_install_scripts_dir}/liblzma.sh" 5.8.1
"${lib_install_scripts_dir}/lz4.sh" 1.10.0
"${lib_install_scripts_dir}/zstandard.sh" 1.5.7
"${lib_install_scripts_dir}/libarchive.sh" 3.8.0
"${lib_install_scripts_dir}/libarchive.sh" 3.8.9
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,40 @@ if ! command -v pipx >/dev/null 2>&1; then
exit 1
fi

# NOTE: ystdlib requires CMake v3.23.
readonly required_version_major_min=3
readonly required_version_minor_min=23
readonly required_version_min="${required_version_major_min}.${required_version_minor_min}"
readonly required_version_major_max=3
readonly required_version_major_max_plus_1=$((required_version_major_max + 1))

# NOTE: CLP builds with CMake v4+, so the check below accepts it, but we install v3 to keep
# adopting v4 a deliberate choice rather than a side effect of installing the newest version.
readonly installed_version_major_max_plus_1=4

package_preinstalled=0
if ! command -v cmake >/dev/null 2>&1; then
package_preinstalled=1
# ystdlib requires CMake v3.23; ANTLR and yaml-cpp do not yet support CMake v4+
# (see https://github.com/y-scope/clp/issues/795).
pipx install --force "cmake>=${required_version_min},<${required_version_major_max_plus_1}"
pipx install --force "cmake>=${required_version_min},<${installed_version_major_max_plus_1}"
pipx ensurepath

# NOTE: `pipx ensurepath` updates shell startup files but not this process, so the CMake we
# just installed may still not resolve below. `pipx environment` would give us the
# application directory, but it doesn't exist in pipx v1.0 (Ubuntu 22.04), so fall back to
# pipx's default.
if ! command -v cmake >/dev/null 2>&1; then
PATH="${PIPX_BIN_DIR:-${HOME}/.local/bin}:${PATH}"
export PATH
fi
fi

installed_version=$(cmake -E capabilities | jq --raw-output ".version.string")
Comment thread
coderabbitai[bot] marked this conversation as resolved.
installed_version_major=$(cmake -E capabilities | jq --raw-output ".version.major")
installed_version_minor=$(cmake -E capabilities | jq --raw-output ".version.minor")

# ystdlib requires CMake v3.23; ANTLR and yaml-cpp do not yet support CMake v4+
# (see https://github.com/y-scope/clp/issues/795).
if (("${installed_version_major}" < "${required_version_major_min}")) \
|| (("${installed_version_major}" == "${required_version_major_min}" && \
"${installed_version_minor}" < "${required_version_minor_min}")) \
|| (("${installed_version_major}" >= "${required_version_major_max_plus_1}")); then
echo "Error: CMake version ${installed_version} is unsupported (require" \
"${required_version_min} ≤ version < ${required_version_major_max_plus_1})."
"${installed_version_minor}" < "${required_version_minor_min}")); then
Comment thread
coderabbitai[bot] marked this conversation as resolved.
echo "Error: CMake version ${installed_version} is unsupported (require version" \
"≥ ${required_version_min})."

if ((0 == "${package_preinstalled}")); then
echo "Please uninstall CMake and then re-run the install script."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ set -o pipefail
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
lib_install_scripts_dir=$script_dir/..

"$lib_install_scripts_dir"/libarchive.sh 3.5.1
# NOTE: libarchive may statically link with LZMA, LZ4, and Zstandard, so we install them
# beforehand.
"$lib_install_scripts_dir"/liblzma.sh 5.8.1
"$lib_install_scripts_dir"/lz4.sh 1.10.0
"$lib_install_scripts_dir"/zstandard.sh 1.5.7
"$lib_install_scripts_dir"/libarchive.sh 3.8.9
26 changes: 12 additions & 14 deletions docs/src/dev-docs/components-core/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@ CLP core is the low-level component that performs compression, decompression, an
* If you have trouble building for another OS, file an issue, and we may be able to help.
* A recent compiler that fully supports C++20 features such as
* std::span
* [CMake] >= 3.23.0 and < 4.0.0
* [CMake] >= 3.23.0
* Minimum version 3.23.0 is required for [yscope-dev-utils].
* We constrain the version to < 4.0.0 due to [y-scope/clp#795].
* [Task] >= 3.48.0
* [uv] >= 0.8

Expand Down Expand Up @@ -40,26 +39,26 @@ The task will download, build, and install (within the build directory) the foll
| [abseil-cpp](https://github.com/abseil/abseil-cpp) | 20250512.0 |
| [ANTLR](https://www.antlr.org) | v4.13.2 |
| [Boost](https://github.com/boostorg/boost) | v1.87.0 |
| [Catch2](https://github.com/catchorg/Catch2) | v3.8.0 |
| [date](https://github.com/HowardHinnant/date) | v3.0.1 |
| [Catch2](https://github.com/catchorg/Catch2) | v3.15.3 |
| [date](https://github.com/HowardHinnant/date) | v3.0.5 |
| [fmt](https://github.com/fmtlib/fmt) | v11.2.0 |
| [liblzma](https://github.com/tukaani-project/xz) | v5.8.1 |
| [log-surgeon](https://github.com/y-scope/log-surgeon) | 840f262 |
| [log-surgeon](https://github.com/y-scope/log-surgeon) | 193e1f9 |
| [lz4](https://github.com/lz4/lz4) | v1.10.0 |
| [microsoft.gsl](https://github.com/microsoft/GSL) | v4.0.0 |
| [mongo-cxx-driver](https://github.com/mongodb/mongo-cxx-driver) | r4.1.1 |
| [microsoft.gsl](https://github.com/microsoft/GSL) | v4.2.2 |
| [mongo-cxx-driver](https://github.com/mongodb/mongo-cxx-driver) | r4.4.1 |
| [msgpack-cxx](https://github.com/msgpack/msgpack-c/tree/cpp_master) | v7.0.0 |
| [nlohmann_json](https://github.com/nlohmann/json) | v3.11.3 |
| [nlohmann_json](https://github.com/nlohmann/json) | v3.12.0 |
| [opentelemetry-cpp](https://github.com/open-telemetry/opentelemetry-cpp) | v1.27.0 |
| [Protobuf](https://github.com/protocolbuffers/protobuf) | v31.1 |
| [simdjson](https://github.com/simdjson/simdjson) | v4.6.4 |
| [simdjson](https://github.com/simdjson/simdjson) | v4.6.6 |
| [spdlog](https://github.com/gabime/spdlog) | v1.15.3 |
| [SQLite3](https://www.sqlite.org/download.html) | v3.36.0 |
| [utfcpp](https://github.com/nemtrif/utfcpp) | v4.0.6 |
| [SQLite3](https://www.sqlite.org/download.html) | v3.53.4 |
| [utfcpp](https://github.com/nemtrif/utfcpp) | v4.1.1 |
| [xxHash](https://github.com/Cyan4973/xxHash) | v0.8.3 |
| [yaml-cpp](https://github.com/jbeder/yaml-cpp) | v0.7.0 |
| [yaml-cpp](https://github.com/jbeder/yaml-cpp) | v0.9.0 |
| [ystdlib-cpp](https://github.com/y-scope/ystdlib-cpp) | 9ed78cd |
| [zlib](https://github.com/madler/zlib) | v1.3.1 |
| [zlib](https://github.com/madler/zlib) | v1.3.2 |
| [zstd](https://github.com/facebook/zstd) | v1.5.7 |

### Environment
Expand Down Expand Up @@ -137,5 +136,4 @@ regex-utils
[feature-req]: https://github.com/y-scope/clp/issues/new?assignees=&labels=enhancement&template=feature-request.yaml
[Task]: https://taskfile.dev/
[uv]: https://docs.astral.sh/uv/
[y-scope/clp#795]: https://github.com/y-scope/clp/issues/795
[yscope-dev-utils]: https://github.com/y-scope/yscope-dev-utils
9 changes: 9 additions & 0 deletions spider-v4.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
set -o pipefail
export PIPX_BIN_DIR=/usr/local/bin PIPX_HOME=/opt/pipx PATH="/usr/local/bin:$PATH"
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/lib64/pkgconfig
pipx install --force "cmake>=4.4" >/dev/null 2>&1
hash -r
echo "##### CMake: $(cmake --version | head -1) #####"
echo "##### Building Spider deps (the chain that failed in CI) #####"
CLP_CPP_MAX_PARALLELISM_PER_BUILD_TASK=$(nproc) task deps:spider
echo "##### SPIDER DEPS EXIT=$? #####"
Loading
Loading