From 9329105d1d99c30ea998fa5434e10a9cfd467e86 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Thu, 6 Nov 2025 00:43:55 +0800 Subject: [PATCH] vsomeip: upgrade 3.5.3 -> 3.5.10 ChangeLog: https://github.com/COVESA/vsomeip/releases/tag/3.5.4 https://github.com/COVESA/vsomeip/releases/tag/3.5.5 https://github.com/COVESA/vsomeip/releases/tag/3.5.6 https://github.com/COVESA/vsomeip/releases/tag/3.5.7 https://github.com/COVESA/vsomeip/releases/tag/3.5.8 https://github.com/COVESA/vsomeip/releases/tag/3.5.9 https://github.com/COVESA/vsomeip/releases/tag/3.5.10 * Fix build with boost 1.89 * Fix build on 32-bit host Signed-off-by: Yi Zhao Signed-off-by: Khem Raj --- .../0001-Fix-pkgconfig-dir-for-multilib.patch | 8 +- ...e-configuration-files-to-etc-vsomeip.patch | 8 +- ...-Do-not-specify-PIE-flag-explicitly.patch} | 21 +-- .../0004-Fix-build-with-boost-1.89.patch | 42 ++++++ ...ddress-from_string-with-make_address.patch | 47 +++++++ ...eLists.txt-add-missing-link-with-dlt.patch | 41 ------ ...06-Fix-scanning-64-bit-integer-types.patch | 128 ++++++++++++++++++ ...-treat-warnings-as-errors-with-clang.patch | 40 ++++++ .../{vsomeip_3.5.3.bb => vsomeip_3.5.10.bb} | 32 +++-- 9 files changed, 298 insertions(+), 69 deletions(-) rename meta-networking/recipes-protocols/vsomeip/vsomeip/{0004-Do-not-specify-PIE-flag-explicitly.patch => 0003-Do-not-specify-PIE-flag-explicitly.patch} (82%) create mode 100644 meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Fix-build-with-boost-1.89.patch create mode 100644 meta-networking/recipes-protocols/vsomeip/vsomeip/0005-Replace-address-from_string-with-make_address.patch delete mode 100644 meta-networking/recipes-protocols/vsomeip/vsomeip/0005-test-common-CMakeLists.txt-add-missing-link-with-dlt.patch create mode 100644 meta-networking/recipes-protocols/vsomeip/vsomeip/0006-Fix-scanning-64-bit-integer-types.patch create mode 100644 meta-networking/recipes-protocols/vsomeip/vsomeip/0007-Do-not-treat-warnings-as-errors-with-clang.patch rename meta-networking/recipes-protocols/vsomeip/{vsomeip_3.5.3.bb => vsomeip_3.5.10.bb} (66%) diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0001-Fix-pkgconfig-dir-for-multilib.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0001-Fix-pkgconfig-dir-for-multilib.patch index 0ddcb642bc..ffbe4e6744 100644 --- a/meta-networking/recipes-protocols/vsomeip/vsomeip/0001-Fix-pkgconfig-dir-for-multilib.patch +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0001-Fix-pkgconfig-dir-for-multilib.patch @@ -1,4 +1,4 @@ -From 2f931baf290477b586309189445bf87e3bc5d5ba Mon Sep 17 00:00:00 2001 +From 0be97662524d86a24647f7c37b0a66b18da7b72c Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Wed, 2 Mar 2022 14:51:13 +0800 Subject: [PATCH] Fix pkgconfig dir for multilib @@ -11,10 +11,10 @@ Signed-off-by: Yi Zhao 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index ab399a69..beae6eaf 100644 +index 8445ecc8..12c3b947 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -637,7 +637,7 @@ endif() +@@ -661,7 +661,7 @@ endif() # create pkg-config file if(NOT WIN32) configure_file(${VSOMEIP_NAME}.pc.in ${PROJECT_BINARY_DIR}/${VSOMEIP_NAME}.pc @ONLY) @@ -24,5 +24,5 @@ index ab399a69..beae6eaf 100644 ############################################################################## -- -2.25.1 +2.34.1 diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0002-Install-example-configuration-files-to-etc-vsomeip.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0002-Install-example-configuration-files-to-etc-vsomeip.patch index bdaf343606..6dd854e94e 100644 --- a/meta-networking/recipes-protocols/vsomeip/vsomeip/0002-Install-example-configuration-files-to-etc-vsomeip.patch +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0002-Install-example-configuration-files-to-etc-vsomeip.patch @@ -1,4 +1,4 @@ -From ebaa3206ee125741314272cddafa04fa71bd2d1e Mon Sep 17 00:00:00 2001 +From c9d03f6b100d1be8bee75caf933e10fcbb599db3 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Wed, 9 Mar 2022 11:48:44 +0800 Subject: [PATCH] Install example configuration files to /etc/vsomeip @@ -11,10 +11,10 @@ Signed-off-by: Yi Zhao 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index beae6eaf..d791c12e 100644 +index 12c3b947..b42f8688 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -536,7 +536,7 @@ install(FILES ${PROJECT_BINARY_DIR}/vsomeip.pc DESTINATION lib/pkgconfig) +@@ -578,7 +578,7 @@ install(FILES ${PROJECT_BINARY_DIR}/vsomeip.pc DESTINATION lib/pkgconfig) endif () install ( @@ -24,5 +24,5 @@ index beae6eaf..d791c12e 100644 # Add all targets to the build-tree export set -- -2.25.1 +2.34.1 diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0003-Do-not-specify-PIE-flag-explicitly.patch similarity index 82% rename from meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch rename to meta-networking/recipes-protocols/vsomeip/vsomeip/0003-Do-not-specify-PIE-flag-explicitly.patch index 2d789627a3..cada06e98e 100644 --- a/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0003-Do-not-specify-PIE-flag-explicitly.patch @@ -1,4 +1,4 @@ -From ec2d36466c9050ee282ea1c3bb1b5f1f61c96ecb Mon Sep 17 00:00:00 2001 +From 8054f459d47cde818ed9d1eb1e49efb4a8d4b3df Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Mon, 17 Jul 2023 14:33:32 +0800 Subject: [PATCH] Do not specify PIE flag explicitly @@ -23,9 +23,11 @@ Signed-off-by: Yi Zhao CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b42f8688..c39184e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -70,7 +70,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux" +@@ -73,7 +73,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # This is only relevant for GCC and causes warnings on Clang set(EXPORTSYMBOLS "-Wl,-export-dynamic -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exportmap.gcc") @@ -34,12 +36,15 @@ Signed-off-by: Yi Zhao endif() set(NO_DEPRECATED "") -@@ -78,7 +78,7 @@ endif() - if(NOT DEFINED _FORTIFY_SOURCE) - set(_FORTIFY_SOURCE 2) - endif() -- set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=${_FORTIFY_SOURCE} -Wformat -Wformat-security -Wpedantic -Werror -fPIE") -+ set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=${_FORTIFY_SOURCE} -Wformat -Wformat-security -Wpedantic") +@@ -82,7 +82,7 @@ endif() + if(NOT DEFINED _FORTIFY_SOURCE) + set(_FORTIFY_SOURCE 2) + endif() +- set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=${_FORTIFY_SOURCE} -Wformat -Wformat-security -Wpedantic -Werror -fPIE -Wno-inconsistent-missing-override") ++ set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=${_FORTIFY_SOURCE} -Wformat -Wformat-security -Wpedantic -Werror -Wno-inconsistent-missing-override") # force all use of std::mutex and std::recursive_mutex to use runtime init # instead of static initialization so mutexes can be hooked to enable PI as needed +-- +2.34.1 + diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Fix-build-with-boost-1.89.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Fix-build-with-boost-1.89.patch new file mode 100644 index 0000000000..45fffa733f --- /dev/null +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Fix-build-with-boost-1.89.patch @@ -0,0 +1,42 @@ +From 2a5c3fbfd863a69eafce6a13b273f5c17cbf4062 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Mon, 3 Nov 2025 23:06:35 +0800 +Subject: [PATCH] Fix build with boost 1.89 + +The Boost.System stub library has been removed in Boost 1.89.0[1], which +causes a CMake error: + +CMake Error at Boost-1.89.0/BoostConfig.cmake:141 (find_package): + Could not find a package configuration file provided by "boost_system" + (requested version 1.89.0) with any of the following names: + boost_systemConfig.cmake + boost_system-config.cmake + +Drop 'system' from the COMPONENTS in find_package to fix this issue[2]. + +[1] https://github.com/boostorg/system/commit/7a495bb46d7ccd808e4be2a6589260839b0fd3a3 +[2] https://github.com/boostorg/system/issues/132 + +Upstream-Status: Pending + +Signed-off-by: Yi Zhao +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c39184e9..ddc1eed8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -189,7 +189,7 @@ add_definitions(-DVSOMEIP_INTERNAL_SUPPRESS_DEPRECATED) + find_package(Threads REQUIRED) + + # Boost +-find_package( Boost 1.66 COMPONENTS system thread filesystem REQUIRED ) ++find_package( Boost 1.66 COMPONENTS thread filesystem REQUIRED ) + if(${CMAKE_SYSTEM_NAME} MATCHES "QNX") + include_directories(${Boost_INCLUDE_DIR} ) + else() +-- +2.34.1 + diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0005-Replace-address-from_string-with-make_address.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0005-Replace-address-from_string-with-make_address.patch new file mode 100644 index 0000000000..c25df03d3b --- /dev/null +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0005-Replace-address-from_string-with-make_address.patch @@ -0,0 +1,47 @@ +From 47b976736e4f57447339081ab5a40435b3b2d5a8 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Tue, 4 Nov 2025 22:10:33 +0800 +Subject: [PATCH] Replace address::from_string with make_address + +boost::asio::ip::address::from_string is deprecated since boost 1.87[1]. +Replace it with make_address. + +Fix: +implementation/routing/src/routing_manager_impl.cpp:1406:98: error: 'from_string' is not a member of 'boost::asio::ip::address_v4' + 1406 | _remote_address.is_v4() ? _remote_address.to_v4() : boost::asio::ip::address_v4::from_string("6.6.6.6"); + | ^~~~~~~~~~~ + +[1] https://github.com/boostorg/asio/commit/c0d1cfce7767599c4cf00df36f8017a1073339ae + +Upstream-Status: Submitted [https://github.com/COVESA/vsomeip/pull/973] + +Signed-off-by: Yi Zhao +--- + implementation/routing/src/routing_manager_impl.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/implementation/routing/src/routing_manager_impl.cpp b/implementation/routing/src/routing_manager_impl.cpp +index 3723fe5b..8a252c0b 100644 +--- a/implementation/routing/src/routing_manager_impl.cpp ++++ b/implementation/routing/src/routing_manager_impl.cpp +@@ -1404,7 +1404,7 @@ void routing_manager_impl::on_message(const byte_t* _data, length_t _size, endpo + if (is_forwarded) { + trace::header its_header; + const boost::asio::ip::address_v4 its_remote_address = +- _remote_address.is_v4() ? _remote_address.to_v4() : boost::asio::ip::address_v4::from_string("6.6.6.6"); ++ _remote_address.is_v4() ? _remote_address.to_v4() : boost::asio::ip::make_address_v4("6.6.6.6"); + trace::protocol_e its_protocol = _receiver->is_local() ? trace::protocol_e::local + : _receiver->is_reliable() ? trace::protocol_e::tcp + : trace::protocol_e::udp; +@@ -1442,7 +1442,7 @@ bool routing_manager_impl::on_message(service_t _service, instance_t _instance, + std::shared_ptr _receiver = its_info->get_endpoint(_reliable); + if (_receiver && _receiver.get()) { + if(!is_acl_message_allowed(_receiver.get(), _service, _instance, +- boost::asio::ip::address_v4::from_string("127.0.0.1"))) { ++ boost::asio::ip::make_address_v4("127.0.0.1"))) { + return false; + } + } +-- +2.34.1 + diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0005-test-common-CMakeLists.txt-add-missing-link-with-dlt.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0005-test-common-CMakeLists.txt-add-missing-link-with-dlt.patch deleted file mode 100644 index 25d66514f8..0000000000 --- a/meta-networking/recipes-protocols/vsomeip/vsomeip/0005-test-common-CMakeLists.txt-add-missing-link-with-dlt.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 8676ef287bb25b49668be4336387bdf83a0cae5c Mon Sep 17 00:00:00 2001 -From: Yi Zhao -Date: Mon, 1 Jan 2024 17:02:41 +0800 -Subject: [PATCH] test/common/CMakeLists.txt: add missing link with dlt - -The libvsomeip_utilities library uses functions e.g. -dlt_check_library_version/dlt_register_app/dlt_unregister_app which are -provided by dlt therefore add it to linker flags. - -Fixes: -x86_64-poky-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: dlt_check_library_version ->>> referenced by test/common/libvsomeip_utilities.so - -x86_64-poky-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: dlt_register_app ->>> referenced by test/common/libvsomeip_utilities.so - -x86_64-poky-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: dlt_unregister_app ->>> referenced by test/common/libvsomeip_utilities.so - -Upstream-Status: Submitted [https://github.com/COVESA/vsomeip/pull/602] - -Signed-off-by: Yi Zhao ---- - test/common/CMakeLists.txt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/test/common/CMakeLists.txt b/test/common/CMakeLists.txt -index d4d14534..afc8c2d6 100644 ---- a/test/common/CMakeLists.txt -+++ b/test/common/CMakeLists.txt -@@ -27,6 +27,7 @@ TARGET_LINK_LIBRARIES ( - ${Boost_LIBRARIES} - ${DL_LIBRARY} - ${TEST_LINK_LIBRARIES} -+ ${DLT_LIBRARIES} - ) - - # ---------------------------------------------------------------------------- --- -2.25.1 - diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0006-Fix-scanning-64-bit-integer-types.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0006-Fix-scanning-64-bit-integer-types.patch new file mode 100644 index 0000000000..f4653d0010 --- /dev/null +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0006-Fix-scanning-64-bit-integer-types.patch @@ -0,0 +1,128 @@ +From 67878aa198e17f13a6d1a0de72bf06a872aec472 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Tue, 4 Nov 2025 12:50:51 +0800 +Subject: [PATCH] Fix scanning 64-bit integer types + +Fix build error on 32-bit host: +test/network_tests/cpu_load_tests/cpu_load_measurer.cpp:89:24: error: format '%lu' expects argument of type 'long unsigned int*', +but argument 3 has type 'uint64_t*' {aka 'long long unsigned int*'} [-Werror=format=] + 89 | "%lu %lu %ld %ld", // utime, stime, cutime, cstime + | ~~^ + | | + | long unsigned int* + | %llu + 90 | &utime, &stime, &cutime, &cstime) + | ~~~~~~ + | | + | uint64_t* {aka long long unsigned int*} + +Upstream-Status: Submitted [https://github.com/COVESA/vsomeip/pull/974] + +Signed-off-by: Yi Zhao +--- + implementation/routing/src/routing_manager_impl.cpp | 4 +++- + test/network_tests/cpu_load_tests/cpu_load_measurer.cpp | 6 ++++-- + test/network_tests/memory_tests/memory_test_client.cpp | 4 +++- + test/network_tests/memory_tests/memory_test_service.cpp | 4 +++- + 4 files changed, 13 insertions(+), 5 deletions(-) + +diff --git a/implementation/routing/src/routing_manager_impl.cpp b/implementation/routing/src/routing_manager_impl.cpp +index 8a252c0b..9fb6c32c 100644 +--- a/implementation/routing/src/routing_manager_impl.cpp ++++ b/implementation/routing/src/routing_manager_impl.cpp +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + #if defined(__linux__) || defined(__QNX__) + #include +@@ -3914,7 +3915,8 @@ void routing_manager_impl::memory_log_timer_cbk(boost::system::error_code const& + std::uint64_t its_dirtypages(0); + + if (EOF +- == std::fscanf(its_file, "%lu %lu %lu %lu %lu %lu %lu", &its_size, &its_rsssize, &its_sharedpages, &its_text, &its_lib, &its_data, ++ == std::fscanf(its_file, "%" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64, ++ &its_size, &its_rsssize, &its_sharedpages, &its_text, &its_lib, &its_data, + &its_dirtypages)) { + VSOMEIP_ERROR << "memory_log_timer_cbk: error reading: errno " << errno; + } +diff --git a/test/network_tests/cpu_load_tests/cpu_load_measurer.cpp b/test/network_tests/cpu_load_tests/cpu_load_measurer.cpp +index aaf91174..dfe27e8c 100644 +--- a/test/network_tests/cpu_load_tests/cpu_load_measurer.cpp ++++ b/test/network_tests/cpu_load_tests/cpu_load_measurer.cpp +@@ -12,6 +12,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -86,7 +87,7 @@ std::uint64_t cpu_load_measurer::read_proc_pid_stat() { + std::int64_t cstime(0); + if (std::fscanf(f, + "%*d %*s %*c %*d %*d %*d %*d %*d %*u %*u %*u %*u %*u " +- "%lu %lu %ld %ld", // utime, stime, cutime, cstime ++ "%" SCNu64 " %" SCNu64 " %" SCNi64 " %" SCNi64, // utime, stime, cutime, cstime + &utime, &stime, &cutime, &cstime) + == EOF) { + std::cerr << "Failed to read " + path << std::endl; +@@ -116,7 +117,8 @@ std::uint64_t cpu_load_measurer::read_proc_stat(std::uint64_t* _idle) { + std::uint64_t steal(0); + std::uint64_t guest(0); + std::uint64_t guest_nice(0); +- if (std::fscanf(f, "%*s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu", &user, &nice, &system, &idle, &iowait, &irq, &softirq, &steal, &guest, ++ if (std::fscanf(f, "%*s %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64, ++ &user, &nice, &system, &idle, &iowait, &irq, &softirq, &steal, &guest, + &guest_nice) + == EOF) { + std::cerr << "Failed to read /proc/stat" << std::endl; +diff --git a/test/network_tests/memory_tests/memory_test_client.cpp b/test/network_tests/memory_tests/memory_test_client.cpp +index 102c8218..d922ad81 100644 +--- a/test/network_tests/memory_tests/memory_test_client.cpp ++++ b/test/network_tests/memory_tests/memory_test_client.cpp +@@ -6,6 +6,7 @@ + #include + #include + #include ++#include + + #include + #include "memory_test_client.hpp" +@@ -30,7 +31,8 @@ void check_memory(std::vector& test_memory_, std::atomic& s + std::uint64_t its_dirtypages(0); + + if (EOF +- == std::fscanf(its_file, "%lu %lu %lu %lu %lu %lu %lu", &its_size, &its_rsssize, &its_sharedpages, &its_text, &its_lib, ++ == std::fscanf(its_file, "%" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64, ++ &its_size, &its_rsssize, &its_sharedpages, &its_text, &its_lib, + &its_data, &its_dirtypages)) { + VSOMEIP_ERROR << "check_memory: error reading: errno " << errno; + } +diff --git a/test/network_tests/memory_tests/memory_test_service.cpp b/test/network_tests/memory_tests/memory_test_service.cpp +index a8547395..751c6f9e 100644 +--- a/test/network_tests/memory_tests/memory_test_service.cpp ++++ b/test/network_tests/memory_tests/memory_test_service.cpp +@@ -5,6 +5,7 @@ + + #include + #include ++#include + + #include "memory_test_service.hpp" + +@@ -28,7 +29,8 @@ void check_memory(std::vector& test_memory_, std::atomic& s + std::uint64_t its_dirtypages(0); + + if (EOF +- == std::fscanf(its_file, "%lu %lu %lu %lu %lu %lu %lu", &its_size, &its_rsssize, &its_sharedpages, &its_text, &its_lib, ++ == std::fscanf(its_file, "%" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64, ++ &its_size, &its_rsssize, &its_sharedpages, &its_text, &its_lib, + &its_data, &its_dirtypages)) { + VSOMEIP_ERROR << "check_memory: error reading: errno " << errno; + } +-- +2.34.1 + diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip/0007-Do-not-treat-warnings-as-errors-with-clang.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0007-Do-not-treat-warnings-as-errors-with-clang.patch new file mode 100644 index 0000000000..31e7efcf33 --- /dev/null +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0007-Do-not-treat-warnings-as-errors-with-clang.patch @@ -0,0 +1,40 @@ +From 74c6e762097ad8016d1410bd1beaef1398f02901 Mon Sep 17 00:00:00 2001 +From: Yi Zhao +Date: Wed, 5 Nov 2025 22:17:14 +0800 +Subject: [PATCH] Do not treat warnings as errors with clang + +There are some warnings when building with clang which are treated as +errors and fails the build. + +Upstream-Status: Inappropriate [oe specific] + +Signed-off-by: Yi Zhao +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ddc1eed8..62b096e7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -73,7 +73,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + # This is only relevant for GCC and causes warnings on Clang + set(EXPORTSYMBOLS "-Wl,-export-dynamic -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exportmap.gcc") +- set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -Wno-tsan -Wl,-z,relro,-z,now") ++ set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -Wno-tsan -Wl,-z,relro,-z,now -Werror") + endif() + + set(NO_DEPRECATED "") +@@ -82,7 +82,7 @@ endif() + if(NOT DEFINED _FORTIFY_SOURCE) + set(_FORTIFY_SOURCE 2) + endif() +- set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=${_FORTIFY_SOURCE} -Wformat -Wformat-security -Wpedantic -Werror -Wno-inconsistent-missing-override") ++ set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -D_GLIBCXX_USE_NANOSLEEP -pthread -O -Wall -Wextra -Wformat -Wformat-security -Wconversion -fexceptions -fstrict-aliasing -fstack-protector-strong -fasynchronous-unwind-tables -fno-omit-frame-pointer -D_FORTIFY_SOURCE=${_FORTIFY_SOURCE} -Wformat -Wformat-security -Wpedantic -Wno-inconsistent-missing-override") + + # force all use of std::mutex and std::recursive_mutex to use runtime init + # instead of static initialization so mutexes can be hooked to enable PI as needed +-- +2.34.1 + diff --git a/meta-networking/recipes-protocols/vsomeip/vsomeip_3.5.3.bb b/meta-networking/recipes-protocols/vsomeip/vsomeip_3.5.10.bb similarity index 66% rename from meta-networking/recipes-protocols/vsomeip/vsomeip_3.5.3.bb rename to meta-networking/recipes-protocols/vsomeip/vsomeip_3.5.10.bb index f854078004..0455e23caa 100644 --- a/meta-networking/recipes-protocols/vsomeip/vsomeip_3.5.3.bb +++ b/meta-networking/recipes-protocols/vsomeip/vsomeip_3.5.10.bb @@ -7,25 +7,27 @@ SECTION = "net" LICENSE = "MPL-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3" -GTEST_VER = "1.15.2" +GTEST_VER = "1.17.0" SRC_URI = "git://github.com/GENIVI/${BPN}.git;branch=master;protocol=https;name=vsomeip \ https://github.com/google/googletest/releases/download/v${GTEST_VER}/googletest-${GTEST_VER}.tar.gz;name=gtest;subdir=${BB_GIT_DEFAULT_DESTSUFFIX}/ \ file://0001-Fix-pkgconfig-dir-for-multilib.patch \ file://0002-Install-example-configuration-files-to-etc-vsomeip.patch \ - file://0004-Do-not-specify-PIE-flag-explicitly.patch \ - file://0005-test-common-CMakeLists.txt-add-missing-link-with-dlt.patch \ + file://0003-Do-not-specify-PIE-flag-explicitly.patch \ + file://0004-Fix-build-with-boost-1.89.patch \ + file://0005-Replace-address-from_string-with-make_address.patch \ + file://0006-Fix-scanning-64-bit-integer-types.patch \ + file://0007-Do-not-treat-warnings-as-errors-with-clang.patch \ " -SRCREV = "6461369b3874c844642c9adaac9d1b7406794ab8" -SRC_URI[gtest.sha256sum] = "7b42b4d6ed48810c5362c265a17faebe90dc2373c885e5216439d37927f02926" +SRCREV = "c4e0db329da9b63f511f3c2456c040582daf9305" +SRC_URI[gtest.sha256sum] = "65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c" COMPATIBLE_HOST:mips = "null" COMPATIBLE_HOST:mips64 = "null" COMPATIBLE_HOST:powerpc = "null" COMPATIBLE_HOST:libc-musl = 'null' -DEPENDS = "boost dlt-daemon googletest" - +DEPENDS = "boost dlt-daemon" inherit cmake pkgconfig @@ -43,9 +45,10 @@ EXTRA_OECMAKE += "-DTEST_IP_MASTER=10.0.3.1 \ RDEPENDS:${PN}-test = "bash lsof" -do_compile:append() { - cmake_runcmake_build --target examples - cmake_runcmake_build --target build_tests +OECMAKE_TARGET_COMPILE += "vsomeip_ctrl examples build_tests" + +do_compile:prepend() { + sed -i -e 's#${S}/build#/opt/${PN}-test#g' ${S}/test/unit_tests/security_policy_manager_impl_tests/policy_manager_impl_unit_test_macro.hpp } do_install:append() { @@ -58,13 +61,17 @@ do_install:append() { install -d ${D}/opt/${PN}-test/test/test/common cp -rf ${S}/test/common/examples_policies \ ${D}/opt/${PN}-test/test/test/common/ + + install -d ${D}/opt/${PN}-test/test/common install -m 0755 ${B}/test/common/libvsomeip_utilities.so \ - ${D}/opt/${PN}-test/test/test/common/ + ${D}/opt/${PN}-test/test/common/ for d in unit_tests network_tests; do install -d ${D}/opt/${PN}-test/test/$d cp -rf ${B}/test/$d/*_tests ${D}/opt/${PN}-test/test/$d + find ${D}/opt/${PN}-test/test/$d -maxdepth 2 \( -name "*.cmake" -o -name "CMakeFiles" \) -exec rm -rf {} \; done + sed -i -e 's#../..${B}#/opt/${PN}-test#g' ${D}/opt/${PN}-test/test/network_tests/lazy_load_tests/vsomeip/vsomeip_policy_extensions.json } PACKAGES += "${PN}-test" @@ -75,4 +82,5 @@ FILES:${PN}-dbg += " \ FILES:${PN}-test = " \ /opt/${PN}-test \ " -SKIP_RECIPE[vsomeip] ?= "Does not work with boost >= 1.87" + +INSANE_SKIP += "32bit-time"