Skip to content
Open
Show file tree
Hide file tree
Changes from 3 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