From a70a2886270b27beb4e0c91721152367ef363648 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 22 Apr 2024 15:19:33 +0800 Subject: [PATCH 1/3] install-dependencies.sh: add libxxhash-dev for debian libxxhash is used for building on both fedora and debian. `xxhash-devel` is already listed in `fedora_packages`, we should have its counterpart in `debian_base_packages`. otherwise the build on debian and its derivatives could fail like ``` CMake Error at /usr/local/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find xxHash (missing: xxhash_LIBRARY xxhash_INCLUDE_DIR) (found version "") Call Stack (most recent call first): /usr/local/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE) cmake/FindxxHash.cmake:30 (find_package_handle_standard_args) CMakeLists.txt:75 (find_package) ``` if we are using CMake to generate the building system. if we use `configure.py` to generate `build.ninja`, the build would fails at build time. Signed-off-by: Kefu Chai --- install-dependencies.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install-dependencies.sh b/install-dependencies.sh index cbd932e430..f1524d2a43 100755 --- a/install-dependencies.sh +++ b/install-dependencies.sh @@ -49,6 +49,7 @@ debian_base_packages=( libabsl-dev librapidxml-dev libcrypto++-dev + libxxhash-dev ) fedora_packages=( From 835742af6d28366312707062dcf0cff7bc1fe038 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 22 Apr 2024 15:30:25 +0800 Subject: [PATCH 2/3] install-dependencies: install cargo and wabt for debian cargo is used for installing cxxbridge-cmd, which is in turn used when building the cxx bindings for the rust modules. so we need it on all distros. in this change, we add cargo for debian. so that we don't have build failure like: ``` CMake Error at rust/CMakeLists.txt:32 (find_program): Could not find CXXBRIDGE using the following names: cxxbridge ``` for similar reason, we also need wabt, which provides wasm2wat, without which, we'd have ``` CMake Error at test/resource/wasm/CMakeLists.txt:1 (find_program): Could not find WASM2WAT using the following names: wasm2wat ``` Signed-off-by: Kefu Chai --- install-dependencies.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/install-dependencies.sh b/install-dependencies.sh index f1524d2a43..61739c0395 100755 --- a/install-dependencies.sh +++ b/install-dependencies.sh @@ -30,6 +30,8 @@ fi debian_base_packages=( clang gdb + cargo + wabt liblua5.3-dev python3-aiohttp python3-pyparsing From 85406a450c122e17603b47425b881e4ad30a28f9 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Mon, 22 Apr 2024 15:32:35 +0800 Subject: [PATCH 3/3] install-dependencies.sh: move cargo out of fedora branch so that we install cxxbridge-cmd on all distros, and cxxbridge is available when building scylladb. Signed-off-by: Kefu Chai --- install-dependencies.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install-dependencies.sh b/install-dependencies.sh index 61739c0395..74d3b206b3 100755 --- a/install-dependencies.sh +++ b/install-dependencies.sh @@ -337,7 +337,6 @@ elif [ "$ID" = "fedora" ]; then done pip3 install "$PIP_DEFAULT_ARGS" $pip_constrained_packages - cargo --config net.git-fetch-with-cli=true install cxxbridge-cmd --root /usr/local if [ -f "$(node_exporter_fullpath)" ] && node_exporter_checksum; then echo "$(node_exporter_filename) already exists, skipping download" else @@ -389,6 +388,8 @@ elif [ "$ID" == "arch" ]; then echo -e "Configure example:\n\t./configure.py\n\tninja release" fi +cargo --config net.git-fetch-with-cli=true install cxxbridge-cmd --root /usr/local + CURL_ARGS=$(minio_download_jobs) if [ ! -z "${CURL_ARGS}" ]; then curl -fSL --remove-on-error --parallel --parallel-immediate ${CURL_ARGS}