diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7dd4881f..98c6020d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -21,8 +21,6 @@ jobs: - name: Deps run: | apt update && apt install -y curl - - name: Setup Rust - uses: dtolnay/rust-toolchain@1.75.0 - uses: actions/checkout@v2 - name: rosdep run: | diff --git a/README.md b/README.md index 621aa7ac..422759a5 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,6 @@ For information about the Design please visit [design](docs/design.md) page. ## Setup -Install latest rustc via `rustup` if building on Ubuntu Jammy. -Skip this step if building on Ubuntu Noble as `cargo` and `rustc` will be -installed via `rosdep`. -```bash -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -rustup install 1.75.0 -``` - Build `rmw_zenoh_cpp` ```bash diff --git a/rmw_zenoh_cpp/CMakeLists.txt b/rmw_zenoh_cpp/CMakeLists.txt index 1785a4cd..cc8c6944 100644 --- a/rmw_zenoh_cpp/CMakeLists.txt +++ b/rmw_zenoh_cpp/CMakeLists.txt @@ -23,7 +23,10 @@ find_package(rosidl_typesupport_fastrtps_cpp REQUIRED) find_package(rmw REQUIRED) find_package(rmw_dds_common REQUIRED) find_package(zenoh_c_vendor REQUIRED) -find_package(zenohc REQUIRED) +find_package(zenohc_debug QUIET) +if(NOT zenohc_debug_FOUND) + find_package(zenohc REQUIRED) +endif() add_library(rmw_zenoh_cpp SHARED src/detail/attachment_helpers.cpp diff --git a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 index c08213e6..3ba55dfa 100644 --- a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 +++ b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_ROUTER_CONFIG.json5 @@ -189,14 +189,7 @@ }, // Number of threads dedicated to transmission // By default, the number of threads is calculated as follows: 1 + ((#cores - 1) / 4) - // We limit the number of threads that the zenoh session can spin to 1. - // Without this limit, applications with multiple zenoh sessions can - // encounter system resource errors when trying to create new threads. - // Once zenoh migrates to relying on tokio for its async runtime, - // see https://github.com/eclipse-zenoh/zenoh/pull/566, we can consider - // removing these flags since with tokio, zenoh can better manage the threads it spins - // with the help of thread pools. - threads: 1, + // threads: 1, }, /// Configure the zenoh RX parameters of a link rx: { diff --git a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 index df48b032..55415a13 100644 --- a/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 +++ b/rmw_zenoh_cpp/config/DEFAULT_RMW_ZENOH_SESSION_CONFIG.json5 @@ -189,14 +189,7 @@ }, // Number of threads dedicated to transmission // By default, the number of threads is calculated as follows: 1 + ((#cores - 1) / 4) - // We limit the number of threads that the zenoh session can spin to 1. - // Without this limit, applications with multiple zenoh sessions can - // encounter system resource errors when trying to create new threads. - // Once zenoh migrates to relying on tokio for its async runtime, - // see https://github.com/eclipse-zenoh/zenoh/pull/566, we can consider - // removing these flags since with tokio, zenoh can better manage the threads it spins - // with the help of thread pools. - threads: 1, + // threads: 1, }, /// Configure the zenoh RX parameters of a link rx: { diff --git a/zenoh_c_vendor/CMakeLists.txt b/zenoh_c_vendor/CMakeLists.txt index da56c50a..a3ee866e 100644 --- a/zenoh_c_vendor/CMakeLists.txt +++ b/zenoh_c_vendor/CMakeLists.txt @@ -24,16 +24,12 @@ find_package(ament_cmake_vendor_package REQUIRED) # when expanded. set(ZENOHC_CARGO_FLAGS "--no-default-features$--features=zenoh/transport_tcp zenoh/shared-memory") -# Set VCS_VERSION to include changes from https://github.com/eclipse-zenoh/zenoh/pull/802 -# which was synced to zenoh-c in https://github.com/eclipse-zenoh/zenoh-c/pull/272. -# Apply patches: -# - https://github.com/eclipse-zenoh/zenoh-c/pull/301 +# Set VCS_VERSION to include latest changes from zenoh-c https://github.com/eclipse-zenoh/zenoh-c/pull/340. ament_vendor(zenoh_c_vendor VCS_URL https://github.com/eclipse-zenoh/zenoh-c.git - VCS_VERSION 10176b911096cb92b8ee46bc491b78079ee26c20 + VCS_VERSION 68ab0c1faa2c3521680352778e618d95f15e2e95 CMAKE_ARGS "-DZENOHC_CARGO_FLAGS=${ZENOHC_CARGO_FLAGS}" - PATCHES patches ) # set(INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-prefix/install") @@ -42,5 +38,4 @@ ament_vendor(zenoh_c_vendor # DESTINATION "lib/${PROJECT_NAME}" # USE_SOURCE_PERMISSIONS # ) - ament_package() diff --git a/zenoh_c_vendor/patches/pr_301.patch b/zenoh_c_vendor/patches/pr_301.patch deleted file mode 100644 index 68008fd9..00000000 --- a/zenoh_c_vendor/patches/pr_301.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 00aa5ca..d236e99 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -27,7 +27,7 @@ declare_cache_var_true_if_vscode(ZENOHC_BUILD_IN_SOURCE_TREE "Do build inside so - declare_cache_var(ZENOHC_BUILD_WITH_LOGGER_AUTOINIT TRUE BOOL "Enable logger-autoinit zenoh-c feature") - declare_cache_var(ZENOHC_BUILD_WITH_SHARED_MEMORY TRUE BOOL "Enable shared-memory zenoh-c feature") - declare_cache_var(ZENOHC_CUSTOM_TARGET "" STRING "Rust target for cross compilation, 'aarch64-unknown-linux-gnu' for example") --declare_cache_var(ZENOHC_CARGO_CHANNEL "stable" STRING "Cargo channel selected: stable or nightly") -+declare_cache_var(ZENOHC_CARGO_CHANNEL "" STRING "Cargo channel parameter. Should be '+stable', '+nightly' or empty value") - declare_cache_var(ZENOHC_CARGO_FLAGS "" STRING "Additional cargo flags") - declare_cache_var(ZENOHC_LIB_STATIC FALSE BOOL "Alias zenohc::lib target to zenohc::static if TRUE, to zenohc::shared if FALSE") - -@@ -198,8 +198,8 @@ file(GLOB_RECURSE rust_sources "Cargo.toml.in" "src/*.rs" "build.rs" "splitguide - add_custom_command( - OUTPUT ${libs} - COMMAND ${CMAKE_COMMAND} -E echo \"RUSTFLAGS = $$RUSTFLAGS\" -- COMMAND ${CMAKE_COMMAND} -E echo \"cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\" -- COMMAND cargo +${ZENOHC_CARGO_CHANNEL} build ${cargo_flags} -+ COMMAND ${CMAKE_COMMAND} -E echo \"cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags}\" -+ COMMAND cargo ${ZENOHC_CARGO_CHANNEL} build ${cargo_flags} - VERBATIM - COMMAND_EXPAND_LISTS - DEPENDS "${rust_sources}"