diff mbox series

[meta-networking,v2] vsomeip: upgrade 3.5.3 -> 3.5.10

Message ID 20251105164355.4007107-1-yi.zhao@windriver.com
State New
Headers show
Series [meta-networking,v2] vsomeip: upgrade 3.5.3 -> 3.5.10 | expand

Commit Message

Yi Zhao Nov. 5, 2025, 4:43 p.m. UTC
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 <yi.zhao@windriver.com>
---
V2 Changes: Update to 3.5.10
            Fix build with clang
			Update Upstream-Status in patches

 .../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} |  45 +++---
 .../{vsomeip_3.5.3.bb => vsomeip_3.5.10.bb}   |  32 +++--
 9 files changed, 278 insertions(+), 94 deletions(-)
 copy 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
 rename meta-networking/recipes-protocols/vsomeip/vsomeip/{0004-Do-not-specify-PIE-flag-explicitly.patch => 0007-Do-not-treat-warnings-as-errors-with-clang.patch} (50%)
 rename meta-networking/recipes-protocols/vsomeip/{vsomeip_3.5.3.bb => vsomeip_3.5.10.bb} (66%)
diff mbox series

Patch

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 <yi.zhao@windriver.com>
 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 <yi.zhao@windriver.com>
  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 <yi.zhao@windriver.com>
 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 <yi.zhao@windriver.com>
  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%
copy from meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch
copy 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 <yi.zhao@windriver.com>
 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 <yi.zhao@windriver.com>
  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 <yi.zhao@windriver.com>
  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 <yi.zhao@windriver.com>
+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 <yi.zhao@windriver.com>
+---
+ 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 <yi.zhao@windriver.com>
+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 <yi.zhao@windriver.com>
+---
+ 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<endpoint> _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 <yi.zhao@windriver.com>
-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 <yi.zhao@windriver.com>
----
- 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 <yi.zhao@windriver.com>
+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 <yi.zhao@windriver.com>
+---
+ 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 <fstream>
+ #include <forward_list>
+ #include <thread>
++#include <cinttypes>
+ 
+ #if defined(__linux__) || defined(__QNX__)
+ #include <unistd.h>
+@@ -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 <vector>
+ #include <stdexcept>
+ #include <cstdio>
++#include <cinttypes>
+ 
+ #include <sys/types.h>
+ #include <unistd.h>
+@@ -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 <chrono>
+ #include <iomanip>
+ #include <cstring>
++#include <cinttypes>
+ 
+ #include <vsomeip/internal/logger.hpp>
+ #include "memory_test_client.hpp"
+@@ -30,7 +31,8 @@ void check_memory(std::vector<std::uint64_t>& test_memory_, std::atomic<bool>& 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 <vsomeip/internal/logger.hpp>
+ #include <cstring>
++#include <cinttypes>
+ 
+ #include "memory_test_service.hpp"
+ 
+@@ -28,7 +29,8 @@ void check_memory(std::vector<std::uint64_t>& test_memory_, std::atomic<bool>& 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/0004-Do-not-specify-PIE-flag-explicitly.patch b/meta-networking/recipes-protocols/vsomeip/vsomeip/0007-Do-not-treat-warnings-as-errors-with-clang.patch
similarity index 50%
rename from meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch
rename to meta-networking/recipes-protocols/vsomeip/vsomeip/0007-Do-not-treat-warnings-as-errors-with-clang.patch
index 2d789627a3..31e7efcf33 100644
--- a/meta-networking/recipes-protocols/vsomeip/vsomeip/0004-Do-not-specify-PIE-flag-explicitly.patch
+++ b/meta-networking/recipes-protocols/vsomeip/vsomeip/0007-Do-not-treat-warnings-as-errors-with-clang.patch
@@ -1,45 +1,40 @@ 
-From ec2d36466c9050ee282ea1c3bb1b5f1f61c96ecb Mon Sep 17 00:00:00 2001
+From 74c6e762097ad8016d1410bd1beaef1398f02901 Mon Sep 17 00:00:00 2001
 From: Yi Zhao <yi.zhao@windriver.com>
-Date: Mon, 17 Jul 2023 14:33:32 +0800
-Subject: [PATCH] Do not specify PIE flag explicitly
+Date: Wed, 5 Nov 2025 22:17:14 +0800
+Subject: [PATCH] Do not treat warnings as errors with clang
 
-For nodistro distro, packages are built without PIE because
-security_flags.inc is not included by default. But in vsomeip, the PIE
-flag is explicitly specified in CMAKE_CXX_FLAGS, which will cause
-building with PIE even in nodistro, causing an error when linking the
-googletest static library:
+There are some warnings when building with clang which are treated as
+errors and fails the build.
 
-TOPDIR/tmp-glibc/work/cortexa53-oe-linux/vsomeip/3.1.20.3-r0/recipe-sysroot-native/usr/bin/aarch64-oe-linux/../../libexec/aarch64-oe-linux/gcc/aarch64-oe-linux/12.2.0/ld:
-TOPDIR/tmp-glibc/work/cortexa53-oe-linux/vsomeip/3.1.20.3-r0/recipe-sysroot/usr/lib/libgtest.a(gtest-all.cc.o)(.text+0x4a90):
-unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `_ZSt4cerr@@GLIBCXX_3.4'
-
-Remove PIE flag from CMAKE_CXX_FLAGS and only enable PIE flag by
-including security_flags.inc.
-
-Upstream-Status: Inappropriate [embedded specific]
+Upstream-Status: Inappropriate [oe specific]
 
 Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
 ---
  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
-@@ -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")
--    set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -pie -Wno-tsan -Wl,-z,relro,-z,now")
-+    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")
++    set(OS_CXX_FLAGS "${OS_CXX_FLAGS} -Wno-tsan -Wl,-z,relro,-z,now -Werror")
  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 -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"