diff mbox series

[meta-oe] dlt-daemon: upgrade 2.18.10 to 3.0.0

Message ID 20260316083826.1550599-6-changqing.li@windriver.com
State New
Headers show
Series [meta-oe] dlt-daemon: upgrade 2.18.10 to 3.0.0 | expand

Commit Message

Changqing Li March 16, 2026, 8:38 a.m. UTC
Changes:
https://github.com/COVESA/dlt-daemon/releases

Remove patches already in 3.0.0:
544.patch
567.patch
0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
0003-allow-build-with-cmake-4.patch

Add 3 patches to fix build failures
0001-Fix-compile-failure-related-to-gzlog.patch
0001-Fix-kinds-of-build-failure.patch
0001-Fix-build-failures.patch

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../glib-2.0/glibmm-2.68_2.86.0.bb            |   4 +-
 ...e-DLT_WatchdogSec-can-be-set-by-user.patch |  40 --
 .../dlt-daemon/0001-Fix-build-failures.patch  | 360 ++++++++++++++++++
 ...Fix-compile-failure-related-to-gzlog.patch |  69 ++++
 .../0001-Fix-kinds-of-build-failure.patch     | 174 +++++++++
 .../0003-allow-build-with-cmake-4.patch       |  99 -----
 .../dlt-daemon/dlt-daemon/544.patch           |  80 ----
 .../dlt-daemon/dlt-daemon/567.patch           |  36 --
 ...-daemon_2.18.10.bb => dlt-daemon_3.0.0.bb} |  10 +-
 9 files changed, 610 insertions(+), 262 deletions(-)
 delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
 create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
 create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
 create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
 delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
 delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
 delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
 rename meta-oe/recipes-extended/dlt-daemon/{dlt-daemon_2.18.10.bb => dlt-daemon_3.0.0.bb} (91%)

Comments

Gyorgy Sarvari March 16, 2026, 8:57 a.m. UTC | #1
On 3/16/26 09:38, Changqing Li via lists.openembedded.org wrote:
> Changes:
> https://github.com/COVESA/dlt-daemon/releases
> 
> Remove patches already in 3.0.0:
> 544.patch
> 567.patch
> 0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
> 0003-allow-build-with-cmake-4.patch
> 
> Add 3 patches to fix build failures
> 0001-Fix-compile-failure-related-to-gzlog.patch
> 0001-Fix-kinds-of-build-failure.patch
> 0001-Fix-build-failures.patch
> 
> Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ---
>  .../glib-2.0/glibmm-2.68_2.86.0.bb            |   4 +-


Is this glibmm change intentional in this patch?


>  ...e-DLT_WatchdogSec-can-be-set-by-user.patch |  40 --
>  .../dlt-daemon/0001-Fix-build-failures.patch  | 360 ++++++++++++++++++
>  ...Fix-compile-failure-related-to-gzlog.patch |  69 ++++
>  .../0001-Fix-kinds-of-build-failure.patch     | 174 +++++++++
>  .../0003-allow-build-with-cmake-4.patch       |  99 -----
>  .../dlt-daemon/dlt-daemon/544.patch           |  80 ----
>  .../dlt-daemon/dlt-daemon/567.patch           |  36 --
>  ...-daemon_2.18.10.bb => dlt-daemon_3.0.0.bb} |  10 +-
>  9 files changed, 610 insertions(+), 262 deletions(-)
>  delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>  create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
>  create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
>  create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
>  delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
>  delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
>  delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
>  rename meta-oe/recipes-extended/dlt-daemon/{dlt-daemon_2.18.10.bb => dlt-daemon_3.0.0.bb} (91%)
> 
> diff --git a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
> index 621a85456d..b0c83f7eba 100644
> --- a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
> +++ b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
> @@ -2,8 +2,8 @@ SUMMARY = "C++ bindings for the glib library"
>  HOMEPAGE = "http://www.gtkmm.org/"
>  SECTION = "libs"
>  LICENSE = "LGPL-2.1-only & GPL-2.0-only"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
> -                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=4bf661c1e3793e55c8d1051bc5e0ae21 \
> +                    file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce"
>  
>  DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
>  
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
> deleted file mode 100644
> index 335872c40f..0000000000
> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
> +++ /dev/null
> @@ -1,40 +0,0 @@
> -From bc03f142507da92add8ba325fdf8187d47a7d719 Mon Sep 17 00:00:00 2001
> -From: Changqing Li <changqing.li@windriver.com>
> -Date: Fri, 13 Dec 2024 16:37:24 +0800
> -Subject: [PATCH] CMakeLists.txt: make DLT_WatchdogSec can be set by user
> -
> -In my test env, WatchdogSec default value 2 is not enough, manually
> -changed to 3 is ok. This makes dlt.service/dlt-system.service start
> -failed during boot time. So, make DLT_WatchdogSec can be set by user, so
> -user can set them to proper value at build time, then service can start
> -successfully in boot time.
> -
> -Signed-off-by: Changqing Li <changqing.li@windriver.com>
> -
> -Upstream-Status: Backport [https://github.com/COVESA/dlt-daemon/pull/720/commits/bc03f142507da92add8ba325fdf8187d47a7d719]
> -
> -Signed-off-by: Changqing Li <changqing.li@windriver.com>
> ----
> - systemd/CMakeLists.txt | 8 ++++++--
> - 1 file changed, 6 insertions(+), 2 deletions(-)
> -
> -diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
> -index 16cbe86b5..659378d16 100644
> ---- a/systemd/CMakeLists.txt
> -+++ b/systemd/CMakeLists.txt
> -@@ -18,10 +18,14 @@ if(WITH_SYSTEMD)
> -     set(SYSTEMD_CONFIGURATIONS_FILES_DIR ${SYSTEMD_UNITDIR} )
> - 
> -     if(WITH_SYSTEMD_WATCHDOG)
> --        set( DLT_WatchdogSec 2 )
> -+        if(NOT DEFINED DLT_WatchdogSec)
> -+            set(DLT_WatchdogSec 2 CACHE STRING "Watchdog timeout in seconds")
> -+        endif()
> -         message( STATUS "The systemd watchdog is enabled - timeout is set to ${DLT_WatchdogSec} seconds")
> -     else(WITH_SYSTEMD_WATCHDOG)
> --        set( DLT_WatchdogSec 0 )
> -+        if(NOT DEFINED DLT_WatchdogSec)
> -+             set(DLT_WatchdogSec 0 CACHE STRING "Watchdog timeout in seconds")
> -+        endif()
> -         message( STATUS "The systemd watchdog is disabled")
> -     endif(WITH_SYSTEMD_WATCHDOG)
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
> new file mode 100644
> index 0000000000..6cfa3a5482
> --- /dev/null
> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
> @@ -0,0 +1,360 @@
> +From 4813b72cfe82062db41dd1d8cfa7069634d78d9e Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li@windriver.com>
> +Date: Mon, 16 Mar 2026 13:28:40 +0800
> +Subject: [PATCH] Fix build failures
> +
> +Fix the following similar build failures, some of the build failure
> +reproduced with arm64/riscv64, some of the build reproduced with 32bit
> +x86/arm.
> +
> +dlt_daemon_common.c:2785:26: error: conversion to 'int8_t' {aka 'signed char'} from 'char' may change the sign of the result [-Werror=sign-conversion]
> +
> +src/tests/dlt-test-multi-process-client-v2.c:302:49: error: format '%lld' expects argument of type 'long long int', but argument 2 has type 'time_t' {aka 'long int'} [-Werror=format=]
> +  302 |     printf(" Time running (seconds)        : %lld\n", time(NULL) - stats.first_message_time);
> +      |                                              ~~~^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +      |                                                 |                |
> +      |                                                 long long int    time_t {aka long int}
> +      |                                              %ld
> +
> +src/lib/dlt_user.c:5109:60: error: format '%lld' expects argument of type 'long long int', but argument 4 has type '__off_t' {aka 'long int'} [-Werror=format=]
> + 5109 |             dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
> +      |                                                         ~~~^
> +      |                                                            |
> +      |                                                            long long int
> +      |                                                         %ld
> + 5110 |                      st.st_size);
> +      |                      ~~~~~~~~~~
> +      |                        |
> +      |                        __off_t {aka long int}
> +
> +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/827]
> +
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
> +---
> + src/daemon/dlt-daemon.c                      |  8 ++---
> + src/daemon/dlt_daemon_client.c               | 32 ++++++++++----------
> + src/daemon/dlt_daemon_common.c               |  4 +--
> + src/lib/dlt_user.c                           | 18 +++++------
> + src/shared/dlt_common.c                      |  2 +-
> + src/shared/dlt_multiple_files.c              |  2 +-
> + src/tests/dlt-test-multi-process-client-v2.c |  8 ++---
> + src/tests/dlt-test-multi-process-v2.c        |  2 +-
> + src/tests/dlt-test-multi-process.c           |  2 +-
> + 9 files changed, 39 insertions(+), 39 deletions(-)
> +
> +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
> +index 523bf33..2ae5bc9 100644
> +--- a/src/daemon/dlt-daemon.c
> ++++ b/src/daemon/dlt-daemon.c
> +@@ -457,7 +457,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
> + 
> +     if (n < 0 || (size_t)n > sizeof(daemon_local->flags.loggingFilename)) {
> +         dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
> +-                __func__, n, daemon_local->flags.loggingFilename);
> ++                __func__, (long int)n, daemon_local->flags.loggingFilename);
> +     }
> +     daemon_local->flags.enableLoggingFileLimit = false;
> +     daemon_local->flags.loggingFileSize = 250000;
> +@@ -2501,7 +2501,7 @@ void dlt_daemon_exit_trigger()
> +     n = snprintf(tmp, DLT_PATH_MAX, "%s/dlt", dltFifoBaseDir);
> +     if (n < 0 || (size_t)n > DLT_PATH_MAX) {
> +         dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
> +-                __func__, n, tmp);
> ++                __func__, (long int)n, tmp);
> +     }
> + 
> +     (void)unlink(tmp);
> +@@ -2878,8 +2878,8 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local,
> +         dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon,daemon_local,
> +                             msg.headerbuffer, sizeof(DltStorageHeader),
> +                             msg.headerbuffer + sizeof(DltStorageHeader),
> +-                            (size_t)(msg.headersize - (int32_t)sizeof(DltStorageHeader)),
> +-                            msg.databuffer, (size_t)msg.datasize, verbose);
> ++                            (int)(msg.headersize - (int32_t)sizeof(DltStorageHeader)),
> ++                            msg.databuffer, (int)msg.datasize, verbose);
> + 
> +         free(msg.databuffer);
> +     }else {
> +diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c
> +index 50d8f19..20a512b 100644
> +--- a/src/daemon/dlt_daemon_client.c
> ++++ b/src/daemon/dlt_daemon_client.c
> +@@ -551,8 +551,8 @@ int dlt_daemon_client_send_message_to_all_client(DltDaemon *daemon,
> +     return dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon, daemon_local,
> +                 daemon_local->msg.headerbuffer, sizeof(DltStorageHeader),
> +                 daemon_local->msg.headerbuffer + sizeof(DltStorageHeader),
> +-                (size_t)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)),
> +-                daemon_local->msg.databuffer, (size_t)daemon_local->msg.datasize, verbose);
> ++                (int)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)),
> ++                daemon_local->msg.databuffer, (int)daemon_local->msg.datasize, verbose);
> + 
> + }
> + 
> +@@ -771,8 +771,8 @@ int dlt_daemon_client_send_control_message(int sock,
> +     if ((ret =
> +              dlt_daemon_client_send(sock, daemon, daemon_local, msg->headerbuffer, sizeof(DltStorageHeader),
> +                                     msg->headerbuffer + sizeof(DltStorageHeader),
> +-                                    (size_t)(msg->headersize - (int32_t)sizeof(DltStorageHeader)),
> +-                                    msg->databuffer, (size_t)msg->datasize, verbose))) {
> ++                                    (int)(msg->headersize - (int32_t)sizeof(DltStorageHeader)),
> ++                                    msg->databuffer, (int)msg->datasize, verbose))) {
> +         dlt_log(LOG_DEBUG, "dlt_daemon_control_send_control_message: DLT message send to all failed!.\n");
> +         return ret;
> +     }
> +@@ -1919,7 +1919,7 @@ void dlt_daemon_control_get_log_info(int sock,
> + 
> +     /* Allocate buffer for response message */
> +     resp.databuffer = (uint8_t *)malloc((size_t)resp.datasize);
> +-    resp.databuffersize = (size_t)resp.datasize;
> ++    resp.databuffersize = resp.datasize;
> + 
> +     if (resp.databuffer == 0) {
> +         dlt_daemon_control_service_response(sock,
> +@@ -2572,7 +2572,7 @@ int dlt_daemon_control_message_buffer_overflow(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -2633,7 +2633,7 @@ int dlt_daemon_control_message_buffer_overflow_v2(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -2686,7 +2686,7 @@ void dlt_daemon_control_service_response(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -2732,7 +2732,7 @@ void dlt_daemon_control_service_response_v2(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -2779,7 +2779,7 @@ int dlt_daemon_control_message_unregister_context(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -2842,7 +2842,7 @@ int dlt_daemon_control_message_unregister_context_v2(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -2909,7 +2909,7 @@ int dlt_daemon_control_message_connection_info(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -2962,7 +2962,7 @@ int dlt_daemon_control_message_connection_info_v2(int sock,
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -3010,7 +3010,7 @@ int dlt_daemon_control_message_timezone(int sock, DltDaemon *daemon, DltDaemonLo
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -3072,7 +3072,7 @@ int dlt_daemon_control_message_timezone_v2(int sock, DltDaemon *daemon, DltDaemo
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +@@ -3127,7 +3127,7 @@ int dlt_daemon_control_message_marker(int sock, DltDaemon *daemon, DltDaemonLoca
> + 
> +     if (msg.databuffer == 0) {
> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
> +-        msg.databuffersize = (size_t)msg.datasize;
> ++        msg.databuffersize = msg.datasize;
> +     }
> + 
> +     if (msg.databuffer == 0)
> +diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
> +index 2f08c6a..65b264a 100644
> +--- a/src/daemon/dlt_daemon_common.c
> ++++ b/src/daemon/dlt_daemon_common.c
> +@@ -2782,7 +2782,7 @@ int dlt_daemon_user_send_log_state(DltDaemon *daemon, DltDaemonApplication *app,
> +     if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK)
> +         return -1;
> + 
> +-    logstate.log_state = daemon->connectionState;
> ++    logstate.log_state = (int8_t)daemon->connectionState;
> + 
> +     /* log to FIFO */
> +     ret = dlt_user_log_out2_with_timeout(app->user_handle,
> +@@ -2811,7 +2811,7 @@ int dlt_daemon_user_send_log_state_v2(DltDaemon *daemon, DltDaemonApplication *a
> +     if (dlt_user_set_userheader_v2(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK)
> +         return -1;
> + 
> +-    logstate.log_state = daemon->connectionState;
> ++    logstate.log_state = (int8_t)daemon->connectionState;
> + 
> +     /* log to FIFO */
> +     ret = dlt_user_log_out2_with_timeout(app->user_handle,
> +diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
> +index 6d0098d..e432e26 100644
> +--- a/src/lib/dlt_user.c
> ++++ b/src/lib/dlt_user.c
> +@@ -5106,8 +5106,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int *
> +                 return DLT_RETURN_ERROR;
> +             }
> + 
> +-            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
> +-                     st.st_size);
> ++            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
> ++                     (long long int)st.st_size);
> +             /* Check filesize */
> +             /* Return error if the file size has reached to maximum */
> +             unsigned int msg_size = (unsigned int)st.st_size + (unsigned int)msg.headersize +
> +@@ -5115,8 +5115,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int *
> +             if (msg_size > dlt_user.filesize_max) {
> +                 dlt_user_file_reach_max = true;
> +                 dlt_vlog(LOG_ERR,
> +-                         "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n",
> +-                         __func__, st.st_size, dlt_user.filesize_max);
> ++                         "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n",
> ++                         __func__, (long long int)st.st_size, dlt_user.filesize_max);
> +                 dlt_mutex_unlock();
> +                 return DLT_RETURN_FILESZERR;
> +             }
> +@@ -5612,21 +5612,21 @@ DltReturnValue dlt_user_log_send_log_v2(DltContextData *log, const int mtype, Dl
> +                 return DLT_RETURN_ERROR;
> +             }
> + 
> +-            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
> +-                     st.st_size);
> ++            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
> ++                     (long long int)st.st_size);
> +             /* Check filesize */
> +             /* Return error if the file size has reached to maximum */
> +             unsigned int msg_size = 0;
> +             if (st.st_size < 0 || st.st_size > UINT_MAX) {
> +-                dlt_vlog(LOG_ERR, "%s: File size (%ld bytes) is invalid or too large for unsigned int\n", __func__, st.st_size);
> ++                dlt_vlog(LOG_ERR, "%s: File size (%lld bytes) is invalid or too large for unsigned int\n", __func__, (long long int)st.st_size);
> +                 return DLT_RETURN_FILESZERR;
> +             }
> +             msg_size = (unsigned int)st.st_size + (unsigned int) msg.headersizev2 + (unsigned int) log->size;
> +             if (msg_size > dlt_user.filesize_max) {
> +                 dlt_user_file_reach_max = true;
> +                 dlt_vlog(LOG_ERR,
> +-                         "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n",
> +-                         __func__, st.st_size, dlt_user.filesize_max);
> ++                         "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n",
> ++                         __func__, (long long int)st.st_size, dlt_user.filesize_max);
> +                 return DLT_RETURN_FILESZERR;
> +             }
> +             else {
> +diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
> +index 6ad354b..aa0aaaa 100644
> +--- a/src/shared/dlt_common.c
> ++++ b/src/shared/dlt_common.c
> +@@ -1220,7 +1220,7 @@ DltReturnValue dlt_message_header_flags_v2(DltMessageV2 *msg, char *text, size_t
> +             for (int i = 0; i<5; ++i){
> +                 tt = (tt << 8) | msg->headerextrav2.seconds[i];
> +             }
> +-            snprintf(text + strlen(text), textlength - strlen(text), "%ld.%.9u ", tt, msg->headerextrav2.nanoseconds);
> ++            snprintf(text + strlen(text), textlength - strlen(text), "%lld.%.9u ", (long long int)tt, msg->headerextrav2.nanoseconds);
> +         }
> +         else
> +             snprintf(text + strlen(text), textlength - strlen(text), "---------- ");
> +diff --git a/src/shared/dlt_multiple_files.c b/src/shared/dlt_multiple_files.c
> +index c4019e5..65529ff 100644
> +--- a/src/shared/dlt_multiple_files.c
> ++++ b/src/shared/dlt_multiple_files.c
> +@@ -257,7 +257,7 @@ ssize_t multiple_files_buffer_get_total_size(const MultipleFilesRingBuffer *file
> +             if (((unsigned int)res < sizeof(filename)) && (res > 0)) {
> +                 errno = 0;
> +                 if (0 == stat(filename, &status))
> +-                    size += status.st_size;
> ++                    size += (ssize_t)status.st_size;
> +                 else
> +                     fprintf(stderr, "file %s cannot be stat-ed, error=%s\n", filename, strerror(errno));
> +             }
> +diff --git a/src/tests/dlt-test-multi-process-client-v2.c b/src/tests/dlt-test-multi-process-client-v2.c
> +index 2bb1158..ec99720 100644
> +--- a/src/tests/dlt-test-multi-process-client-v2.c
> ++++ b/src/tests/dlt-test-multi-process-client-v2.c
> +@@ -299,10 +299,10 @@ void print_stats(s_statistics stats, s_parameters params)
> +     printf(" Messages received             : %d\n", stats.messages_received);
> +     printf(" Broken messages received      : %d\n", stats.broken_messages_received);
> +     printf(" Bytes received                : %d\n", stats.bytes_received);
> +-    printf(" Time running (seconds)        : %ld\n", time(NULL) - stats.first_message_time);
> +-    printf(" Throughput (msgs/sec)/(B/sec) : %ld/%ld\n",
> +-           stats.messages_received / ((time(NULL) - stats.first_message_time) + 1),
> +-           (stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1));
> ++    printf(" Time running (seconds)        : %lld\n", (long long int)(time(NULL) - stats.first_message_time));
> ++    printf(" Throughput (msgs/sec)/(B/sec) : %lld/%lld\n",
> ++           (long long int)(stats.messages_received / ((time(NULL) - stats.first_message_time) + 1)),
> ++           (long long int)((stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1)));
> + 
> +     if (params.messages_left == 0) {
> +         if (stats.broken_messages_received == 0)
> +diff --git a/src/tests/dlt-test-multi-process-v2.c b/src/tests/dlt-test-multi-process-v2.c
> +index 44a8622..1d3a54a 100644
> +--- a/src/tests/dlt-test-multi-process-v2.c
> ++++ b/src/tests/dlt-test-multi-process-v2.c
> +@@ -393,7 +393,7 @@ void *do_logging(void *arg)
> + 
> +         sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge);
> +         ts.tv_sec = sleep_time / 1000000000;
> +-        ts.tv_nsec = sleep_time % 1000000000;
> ++        ts.tv_nsec = (long int)(sleep_time % 1000000000);
> +         nanosleep(&ts, NULL);
> +     }
> + 
> +diff --git a/src/tests/dlt-test-multi-process.c b/src/tests/dlt-test-multi-process.c
> +index 016c8b4..00fb11c 100644
> +--- a/src/tests/dlt-test-multi-process.c
> ++++ b/src/tests/dlt-test-multi-process.c
> +@@ -370,7 +370,7 @@ void *do_logging(void *arg)
> + 
> +         sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge);
> +         ts.tv_sec = sleep_time / 1000000000;
> +-        ts.tv_nsec = sleep_time % 1000000000;
> ++        ts.tv_nsec = (long int)(sleep_time % 1000000000);
> +         nanosleep(&ts, NULL);
> +     }
> + 
> +-- 
> +2.34.1
> +
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
> new file mode 100644
> index 0000000000..f9692d9f4d
> --- /dev/null
> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
> @@ -0,0 +1,69 @@
> +From bee9bce043c72de1d27a4251333ace9fe66bcc74 Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li@windriver.com>
> +Date: Thu, 12 Mar 2026 19:37:11 +0800
> +Subject: [PATCH] Fix compile failure related to gzlog
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +* In commit [1], gzlog is changed from gzFile to gzFile*, this cause
> +  failure:
> +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:88:21: error: passing argument 1 of ‘gzclose’ from incompatible pointer type [-Werror=incompatible-pointer-types]
> +   88 |         gzclose(data->gzlog);
> +      |                 ~~~~^~~~~~~
> +      |                     |
> +      |                     struct gzFile_s **
> +compilation terminated due to -Wfatal-errors.
> +
> +so change gzlog back to gzFile, so that all the gzxxx function can work
> +well.
> +
> +* Change to gzFile causes the following failure, since fileno need
> +  FILE*, according to code "config->gzlog = gzdopen(config->fd, mode)",
> +  seems we don't need to use fileno, just use config->fd is ok.
> +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:1133:48: error: passing argument 1 of ‘fileno’ from incompatible pointer type [-Werror=incompatible-pointer-types]
> + 1133 |                         if (fsync(fileno(config->gzlog)) != 0) {
> +      |                                          ~~~~~~^~~~~~~
> +      |                                                |
> +      |                                                gzFile {aka struct gzFile_s *}
> +compilation terminated due to -Wfatal-errors.
> +
> +[1] https://github.com/COVESA/dlt-daemon/commit/543087ba98c103dc576edadeccf614c9dab1b9b3
> +
> +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
> +
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
> +---
> + src/offlinelogstorage/dlt_offline_logstorage.h          | 2 +-
> + src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 2 +-
> + 2 files changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h
> +index fe38687..09ea5ce 100644
> +--- a/src/offlinelogstorage/dlt_offline_logstorage.h
> ++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
> +@@ -217,7 +217,7 @@ struct DltLogStorageFilterConfig
> +     FILE *log;                      /* current open log file */
> +     int fd;                         /* The file descriptor for the active log file */
> + #ifdef DLT_LOGSTORAGE_USE_GZIP
> +-    gzFile *gzlog;                  /* current open gz log file */
> ++    gzFile gzlog;                   /* current open gz log file */
> + #endif
> +     void *cache;                    /* log data cache */
> +     unsigned int specific_size;     /* cache size used for specific_size sync strategy */
> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
> +index f17fbb2..ff09c9e 100644
> +--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
> ++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
> +@@ -1130,7 +1130,7 @@ int dlt_logstorage_prepare_on_msg(DltLogStorageFilterConfig *config,
> +                     (config->sync == DLT_LOGSTORAGE_SYNC_UNSET)) {
> + #ifdef DLT_LOGSTORAGE_USE_GZIP
> +                     if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
> +-                        if (fsync(fileno(config->gzlog)) != 0) {
> ++                        if (fsync(config->fd) != 0) {
> +                             if (errno != ENOSYS) {
> +                                 dlt_vlog(LOG_ERR, "%s: failed to sync gzip log file\n", __func__);
> +                             }
> +-- 
> +2.34.1
> +
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
> new file mode 100644
> index 0000000000..403d1089e2
> --- /dev/null
> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
> @@ -0,0 +1,174 @@
> +From 3d713358fe19ce02e7c580d26222ec2386c94bc9 Mon Sep 17 00:00:00 2001
> +From: Changqing Li <changqing.li@windriver.com>
> +Date: Thu, 12 Mar 2026 20:06:34 +0800
> +Subject: [PATCH] Fix kinds of build failure
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +Fix kinds of build failures caused by -Werror=sign-conversion,
> +-Werror=cast-qual, -Werror=conversion etc.
> +Eg:
> +src/offlinelogstorage/dlt_offline_logstorage.h:129:49: error: unsigned conversion from ‘int’ to ‘unsigned int’ changes value from ‘-1’ to ‘4294967295’ [-Werror=sign-conversion]
> +  129 | #define DLT_LOGSTORAGE_GZIP_ERROR               -1 /* error case */
> +      |                                                 ^
> +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:1303:36: note: in expansion of macro ‘DLT_LOGSTORAGE_GZIP_ERROR’
> + 1303 |         config->gzip_compression = DLT_LOGSTORAGE_GZIP_ERROR;
> +
> +      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +src/offlinelogstorage/dlt_offline_logstorage_behavior.c:851:16: error: conversion from ‘z_size_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Werror=conversion]
> +  851 |         return gzfwrite(ptr, size, nmemb, config->gzlog);
> +      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +src/console/dlt-control-common.c:922:25: error: cast discards 'const' qualifier from pointer target type [-Werror=cast-qual]
> +  922 |     json_object_to_file((char*)filename, json_filter_obj);
> +      |
> +
> +Use explicit type conversion to make the build can pass
> +
> +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
> +
> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
> +---
> + src/console/dlt-control-common.c                       |  2 +-
> + src/daemon/dlt-daemon.c                                |  4 ++--
> + src/daemon/udp_connection/dlt_daemon_udp_socket.c      | 10 +++++-----
> + src/examples/dlt-example-multicast-clientmsg-view.c    |  8 ++++----
> + src/offlinelogstorage/dlt_offline_logstorage.h         |  2 +-
> + .../dlt_offline_logstorage_behavior.c                  |  4 ++--
> + 6 files changed, 15 insertions(+), 15 deletions(-)
> +
> +diff --git a/src/console/dlt-control-common.c b/src/console/dlt-control-common.c
> +index 2aeea280..4f9e95b4 100644
> +--- a/src/console/dlt-control-common.c
> ++++ b/src/console/dlt-control-common.c
> +@@ -919,7 +919,7 @@ DltReturnValue dlt_json_filter_save(DltFilter *filter, const char *filename, int
> +     }
> + 
> +     printf("Saving current filter into '%s'\n", filename);
> +-    json_object_to_file((char*)filename, json_filter_obj);
> ++    json_object_to_file(filename, json_filter_obj);
> + 
> +     return DLT_RETURN_OK;
> + }
> +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
> +index 97af1cd9..94024eb4 100644
> +--- a/src/daemon/dlt-daemon.c
> ++++ b/src/daemon/dlt-daemon.c
> +@@ -867,7 +867,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
> + 
> +                         if ((longval == MULTICAST_CONNECTION_DISABLED)
> +                             || (longval == MULTICAST_CONNECTION_ENABLED)) {
> +-                            daemon_local->UDPConnectionSetup = longval;
> ++                            daemon_local->UDPConnectionSetup = (int)longval;
> +                             printf("Option: %s=%s\n", token, value);
> +                         }
> +                         else {
> +@@ -884,7 +884,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
> +                     }
> +                     else if (strcmp(token, "UDPMulticastIPPort") == 0)
> +                     {
> +-                        daemon_local->UDPMulticastIPPort = strtol(value, NULL, 10);
> ++                        daemon_local->UDPMulticastIPPort = (int)strtol(value, NULL, 10);
> +                     }
> + #endif
> +                     else if (strcmp(token, "BindAddress") == 0)
> +diff --git a/src/daemon/udp_connection/dlt_daemon_udp_socket.c b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
> +index 4c40cda8..b3408773 100644
> +--- a/src/daemon/udp_connection/dlt_daemon_udp_socket.c
> ++++ b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
> +@@ -66,7 +66,7 @@ void dlt_daemon_udp_setmulticast_addr(DltDaemonLocal *daemon_local)
> +     struct sockaddr_in clientaddr;
> +     clientaddr.sin_family = AF_INET;
> +     inet_pton(AF_INET, daemon_local->UDPMulticastIPAddress, &clientaddr.sin_addr);
> +-    clientaddr.sin_port = htons(daemon_local->UDPMulticastIPPort);
> ++    clientaddr.sin_port = htons((uint16_t)daemon_local->UDPMulticastIPPort);
> +     memcpy(&g_udpmulticast_addr.clientaddr, &clientaddr, sizeof(struct sockaddr_in));
> +     g_udpmulticast_addr.clientaddr_size = sizeof(g_udpmulticast_addr.clientaddr);
> +     g_udpmulticast_addr.isvalidflag = ADDRESS_VALID;
> +@@ -224,17 +224,17 @@ void dlt_daemon_udp_clientmsg_send(DltDaemonClientSockInfo *clientinfo,
> + 
> +     if ((clientinfo->isvalidflag == ADDRESS_VALID) &&
> +         (size1 > 0) && (size2 > 0)) {
> +-        void *data = (void *)calloc(size1 + size2, sizeof(char));
> ++        void *data = (void *)calloc((size_t)(size1 + size2), sizeof(char));
> + 
> +         if (data == NULL) {
> +             dlt_vlog(LOG_ERR, "%s: calloc failure\n", __func__);
> +             return;
> +         }
> + 
> +-        memcpy(data, data1, size1);
> +-        memcpy(data + size1, data2, size2);
> ++        memcpy(data, data1, (size_t)size1);
> ++        memcpy((int*)data + size1, data2, (size_t)size2);
> + 
> +-        if (sendto(g_udp_sock_fd, data, size1 + size2, 0, (struct sockaddr *)&clientinfo->clientaddr,
> ++        if (sendto(g_udp_sock_fd, data, (size_t)(size1 + size2), 0, (struct sockaddr *)&clientinfo->clientaddr,
> +                    clientinfo->clientaddr_size) < 0)
> +             dlt_vlog(LOG_ERR, "%s: Send UDP Packet Data failed\n", __func__);
> + 
> +diff --git a/src/examples/dlt-example-multicast-clientmsg-view.c b/src/examples/dlt-example-multicast-clientmsg-view.c
> +index c00537e5..f8920453 100644
> +--- a/src/examples/dlt-example-multicast-clientmsg-view.c
> ++++ b/src/examples/dlt-example-multicast-clientmsg-view.c
> +@@ -74,9 +74,9 @@ int dlt_receiver_receive_socket_udp(struct clientinfostruct *clientinfo, DltRece
> +     /* wait for data from socket */
> +     unsigned int addrlen = sizeof(clientinfo->addr);
> + 
> +-    if ((receiver->bytesRcvd = recvfrom(clientinfo->fd,
> ++    if ((receiver->bytesRcvd = (int32_t)recvfrom(clientinfo->fd,
> +                                         receiver->buf + receiver->lastBytesRcvd,
> +-                                        receiver->buffersize - receiver->lastBytesRcvd,
> ++                                        (size_t)(receiver->buffersize - receiver->lastBytesRcvd),
> +                                         0,
> +                                         (struct sockaddr *)&(clientinfo->addr), &addrlen))
> +         <= 0) {
> +@@ -177,11 +177,11 @@ int main()
> +         dlt_receiver_receive_socket_udp(&clientinfo, &(clientinfo.receiver));
> + 
> +         while (dlt_message_read(&msg, (unsigned char *)(clientinfo.receiver.buf),
> +-                                clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) {
> ++                                (unsigned int)clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) {
> +             dlt_receive_message_callback_udp(&msg);
> + 
> +             if (dlt_receiver_remove(&(clientinfo.receiver),
> +-                                    msg.headersize + msg.datasize - sizeof(DltStorageHeader))
> ++                                    msg.headersize + msg.datasize - ((int32_t)(sizeof(DltStorageHeader))))
> +                 == DLT_RETURN_ERROR) {
> +                 /* Return value ignored */
> +                 dlt_message_free(&msg, 0);
> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h
> +index 09ea5ce4..cfb70f33 100644
> +--- a/src/offlinelogstorage/dlt_offline_logstorage.h
> ++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
> +@@ -192,7 +192,7 @@ struct DltLogStorageFilterConfig
> +     int overwrite;                  /* Overwrite strategy */
> +     int skip;                       /* Flag to skip file logging if DISCARD_NEW */
> +     char *ecuid;                    /* ECU identifier */
> +-    unsigned int gzip_compression;  /* Toggle if log files should be gzip compressed */
> ++    int gzip_compression;           /* Toggle if log files should be gzip compressed */
> +     /* callback function for filter configurations */
> +     int (*dlt_logstorage_prepare)(DltLogStorageFilterConfig *config,
> +                                   DltLogStorageUserConfig *file_config,
> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
> +index ff09c9eb..ae8f4442 100644
> +--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
> ++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
> +@@ -848,10 +848,10 @@ DLT_STATIC int dlt_logstorage_write_to_log(void *ptr, size_t size, size_t nmemb,
> + {
> + #ifdef DLT_LOGSTORAGE_USE_GZIP
> +     if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
> +-        return gzfwrite(ptr, size, nmemb, config->gzlog);
> ++        return (int)gzfwrite(ptr, size, nmemb, config->gzlog);
> +     }
> +     else {
> +-        return fwrite(ptr, size, nmemb, config->log);
> ++        return (int)fwrite(ptr, size, nmemb, config->log);
> +     }
> + #else
> +     return (int)fwrite(ptr, size, nmemb, config->log);
> +-- 
> +2.34.1
> +
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
> deleted file mode 100644
> index ac5fec5684..0000000000
> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
> +++ /dev/null
> @@ -1,99 +0,0 @@
> -From ae23f2cccc169874d89903cad24bf36e19bef659 Mon Sep 17 00:00:00 2001
> -From: Alper Ak <alperyasinak1@gmail.com>
> -Date: Wed, 9 Jul 2025 18:18:33 +0300
> -Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+
> - compatibility
> -
> -Fix:
> -
> -| CMake Error at CMakeLists.txt:17 (cmake_minimum_required):
> -|   Compatibility with CMake < 3.5 has been removed from CMake.
> -|
> -|   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
> -|   to tell CMake that the project requires at least <min> but has been updated
> -|   to work with policies introduced by <max> or earlier.
> -|
> -|   Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
> -|
> -|
> -| -- Configuring incomplete, errors occurred!
> -
> -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/755]
> -
> -Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
> ----
> - CMakeLists.txt                   | 2 +-
> - examples/example1/CMakeLists.txt | 2 +-
> - examples/example2/CMakeLists.txt | 2 +-
> - examples/example3/CMakeLists.txt | 2 +-
> - examples/example4/CMakeLists.txt | 2 +-
> - 5 files changed, 5 insertions(+), 5 deletions(-)
> -
> -diff --git a/CMakeLists.txt b/CMakeLists.txt
> -index 94185b8..2a0f619 100644
> ---- a/CMakeLists.txt
> -+++ b/CMakeLists.txt
> -@@ -14,7 +14,7 @@
> - #######
> - 
> - # Set minimum Cmake version and setup policy behavior
> --cmake_minimum_required(VERSION 3.3)
> -+cmake_minimum_required(VERSION 3.5)
> - 
> - if(${CMAKE_VERSION} VERSION_GREATER "3.20" OR ${CMAKE_VERSION} VERSION_EQUAL "3.20")
> -     cmake_policy(SET CMP0115 OLD)
> -diff --git a/examples/example1/CMakeLists.txt b/examples/example1/CMakeLists.txt
> -index 60644a1..44cd053 100644
> ---- a/examples/example1/CMakeLists.txt
> -+++ b/examples/example1/CMakeLists.txt
> -@@ -17,7 +17,7 @@
> - # DLT example implementation
> - #
> - 
> --cmake_minimum_required( VERSION 2.6 )
> -+cmake_minimum_required( VERSION 3.5 )
> - project( automotive-dlt-example1 )
> - 
> - #
> -diff --git a/examples/example2/CMakeLists.txt b/examples/example2/CMakeLists.txt
> -index 66a4f24..a8efbcf 100644
> ---- a/examples/example2/CMakeLists.txt
> -+++ b/examples/example2/CMakeLists.txt
> -@@ -17,7 +17,7 @@
> - # DLT example implementation
> - #
> - 
> --cmake_minimum_required( VERSION 2.6 )
> -+cmake_minimum_required( VERSION 3.5 )
> - project( automotive-dlt-example2 )
> - 
> - #
> -diff --git a/examples/example3/CMakeLists.txt b/examples/example3/CMakeLists.txt
> -index 45b7467..4d4958d 100644
> ---- a/examples/example3/CMakeLists.txt
> -+++ b/examples/example3/CMakeLists.txt
> -@@ -17,7 +17,7 @@
> - # DLT example implementation
> - #
> - 
> --cmake_minimum_required( VERSION 2.6 )
> -+cmake_minimum_required( VERSION 3.5 )
> - project( automotive-dlt-example3 )
> - 
> - #
> -diff --git a/examples/example4/CMakeLists.txt b/examples/example4/CMakeLists.txt
> -index 53a4fad..161c333 100644
> ---- a/examples/example4/CMakeLists.txt
> -+++ b/examples/example4/CMakeLists.txt
> -@@ -17,7 +17,7 @@
> - # DLT example implementation
> - #
> - 
> --cmake_minimum_required( VERSION 2.6 )
> -+cmake_minimum_required( VERSION 3.5 )
> - project( automotive-dlt-example4 )
> - 
> - #
> --- 
> -2.43.0
> -
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
> deleted file mode 100644
> index 3699b8c83a..0000000000
> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
> +++ /dev/null
> @@ -1,80 +0,0 @@
> -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544]
> -
> -From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001
> -From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
> -Date: Thu, 28 Sep 2023 12:54:23 +0200
> -Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64
> - and i386 arcs
> -
> ----
> - src/core_dump_handler/dlt_cdh.h         |  2 ++
> - src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++
> - src/core_dump_handler/dlt_cdh_crashid.c |  2 +-
> - 3 files changed, 36 insertions(+), 1 deletion(-)
> - create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c
> -
> -diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
> -index d572ecf3..8608c6c4 100644
> ---- a/src/core_dump_handler/dlt_cdh.h
> -+++ b/src/core_dump_handler/dlt_cdh.h
> -@@ -55,6 +55,8 @@ typedef struct
> -     uint64_t pc;
> -     uint64_t ip;
> -     uint64_t lr;
> -+    uint64_t sp;
> -+    uint64_t fp;
> - 
> - } cdh_registers_t;
> - 
> -diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c b/src/core_dump_handler/dlt_cdh_cpuinfo.c
> -new file mode 100644
> -index 00000000..03509fda
> ---- /dev/null
> -+++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c
> -@@ -0,0 +1,33 @@
> -+/*
> -+ * SPDX license identifier: MPL-2.0
> -+ *
> -+ * Copyright (C) 2011-2015, BMW AG
> -+ *
> -+ * This file is part of COVESA Project DLT - Diagnostic Log and Trace.
> -+ *
> -+ * This Source Code Form is subject to the terms of the
> -+ * Mozilla Public License (MPL), v. 2.0.
> -+ * If a copy of the MPL was not distributed with this file,
> -+ * You can obtain one at http://mozilla.org/MPL/2.0/.
> -+ *
> -+ * For further information see http://www.covesa.org/.
> -+ */
> -+
> -+/*!
> -+ * \author Gianfranco Costamagna <locutusofborg@debian.org>
> -+ *
> -+ * \copyright Copyright © 2011-2015 BMW AG. \n
> -+ * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
> -+ *
> -+ * \file dlt_cdh_cpuinfo.c
> -+ */
> -+
> -+#include "dlt_cdh_cpuinfo.h"
> -+
> -+void get_registers(prstatus_t *prstatus, cdh_registers_t *registers)
> -+{
> -+/*    struct user_regs_struct *ptr_reg = (struct user_regs_struct *)prstatus->pr_reg;
> -+
> -+    registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */
> -+
> -+}
> -diff --git a/src/core_dump_handler/dlt_cdh_crashid.c b/src/core_dump_handler/dlt_cdh_crashid.c
> -index bca44e0e..8dd98d70 100644
> ---- a/src/core_dump_handler/dlt_cdh_crashid.c
> -+++ b/src/core_dump_handler/dlt_cdh_crashid.c
> -@@ -30,7 +30,7 @@
> - #include <stdio.h>
> - #include <string.h>
> - #include <errno.h>
> --#include <asm/prctl.h>
> -+#include <sys/prctl.h>
> - #include <inttypes.h>
> - 
> - #include "dlt_cdh.h"
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
> deleted file mode 100644
> index fd36480456..0000000000
> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567]
> -
> -From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001
> -From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
> -Date: Mon, 13 Nov 2023 12:37:23 +0100
> -Subject: [PATCH] dlt_cdh:
> -
> -Make sure on 64 bit we read an ELF64 structure.
> -Otherwise we get a read error, and the context file is missing some good
> -to know information
> ----
> - src/core_dump_handler/dlt_cdh.h | 7 +++++++
> - 1 file changed, 7 insertions(+)
> -
> -diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
> -index 8608c6c4..3dac480a 100644
> ---- a/src/core_dump_handler/dlt_cdh.h
> -+++ b/src/core_dump_handler/dlt_cdh.h
> -@@ -45,10 +45,17 @@
> - #define CORE_FILE_PATTERN           "%s/core.%d.%s.%d.gz"
> - #define CONTEXT_FILE_PATTERN        "%s/context.%d.%s.%d.txt"
> - 
> -+#if ((__SIZEOF_POINTER) == 4)
> - #define ELF_Ehdr    Elf32_Ehdr
> - #define ELF_Phdr    Elf32_Phdr
> - #define ELF_Shdr    Elf32_Shdr
> - #define ELF_Nhdr    Elf32_Nhdr
> -+#else
> -+#define ELF_Ehdr    Elf64_Ehdr
> -+#define ELF_Phdr    Elf64_Phdr
> -+#define ELF_Shdr    Elf64_Shdr
> -+#define ELF_Nhdr    Elf64_Nhdr
> -+#endif
> - 
> - typedef struct
> - {
> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
> similarity index 91%
> rename from meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
> rename to meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
> index 82edde6c9d..838a619a42 100644
> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
> @@ -17,12 +17,11 @@ DEPENDS = "zlib gzip-native json-c"
>  SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
>             file://0002-Don-t-execute-processes-as-a-specific-user.patch \
>             file://0004-Modify-systemd-config-directory.patch \
> -           file://544.patch \
> -           file://567.patch \
> -           file://0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch \
> -           file://0003-allow-build-with-cmake-4.patch \
> +           file://0001-Fix-compile-failure-related-to-gzlog.patch \
> +           file://0001-Fix-kinds-of-build-failure.patch \
> +           file://0001-Fix-build-failures.patch \
>             "
> -SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
> +SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320"
>  
>  
>  PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \
> @@ -71,4 +70,5 @@ FILES:${PN}-doc += "${datadir}/dlt-filetransfer"
>  
>  do_install:append() {
>      rm -f ${D}${bindir}/dlt-test-*
> +    sed -i -e 's:${RECIPE_SYSROOT}::g' ${D}/usr/lib/pkgconfig/automotive-dlt.pc
>  }
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#125263): https://lists.openembedded.org/g/openembedded-devel/message/125263
> Mute This Topic: https://lists.openembedded.org/mt/118341597/6084445
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [skandigraun@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Gyorgy Sarvari March 16, 2026, 11:29 a.m. UTC | #2
On 3/16/26 09:57, Gyorgy Sarvari wrote:
> 
> 
> On 3/16/26 09:38, Changqing Li via lists.openembedded.org wrote:
>> Changes:
>> https://github.com/COVESA/dlt-daemon/releases
>>
>> Remove patches already in 3.0.0:
>> 544.patch
>> 567.patch
>> 0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>> 0003-allow-build-with-cmake-4.patch
>>
>> Add 3 patches to fix build failures
>> 0001-Fix-compile-failure-related-to-gzlog.patch
>> 0001-Fix-kinds-of-build-failure.patch
>> 0001-Fix-build-failures.patch
>>
>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> ---
>>  .../glib-2.0/glibmm-2.68_2.86.0.bb            |   4 +-
> 
> 
> Is this glibmm change intentional in this patch?
> 
> 
It seems that there are some compilation failures (different errors with
different libc implementations):

musl:
https://gist.github.com/OldManYellsAtCloud/9ec67b1fae3daa99f2a8d20baba3a19a

glibc:
https://gist.github.com/OldManYellsAtCloud/4cd6a4d28156eb486efff83381394913
Changqing Li March 17, 2026, 9:18 a.m. UTC | #3
On 3/16/26 16:57, Gyorgy Sarvari wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On 3/16/26 09:38, Changqing Li via lists.openembedded.org wrote:
>> Changes:
>> https://github.com/COVESA/dlt-daemon/releases
>>
>> Remove patches already in 3.0.0:
>> 544.patch
>> 567.patch
>> 0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>> 0003-allow-build-with-cmake-4.patch
>>
>> Add 3 patches to fix build failures
>> 0001-Fix-compile-failure-related-to-gzlog.patch
>> 0001-Fix-kinds-of-build-failure.patch
>> 0001-Fix-build-failures.patch
>>
>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> ---
>>   .../glib-2.0/glibmm-2.68_2.86.0.bb            |   4 +-
>
> Is this glibmm change intentional in this patch?
>
No, it is added by accident. I will fix this in V2. Thanks.

//Changqing

>>   ...e-DLT_WatchdogSec-can-be-set-by-user.patch |  40 --
>>   .../dlt-daemon/0001-Fix-build-failures.patch  | 360 ++++++++++++++++++
>>   ...Fix-compile-failure-related-to-gzlog.patch |  69 ++++
>>   .../0001-Fix-kinds-of-build-failure.patch     | 174 +++++++++
>>   .../0003-allow-build-with-cmake-4.patch       |  99 -----
>>   .../dlt-daemon/dlt-daemon/544.patch           |  80 ----
>>   .../dlt-daemon/dlt-daemon/567.patch           |  36 --
>>   ...-daemon_2.18.10.bb => dlt-daemon_3.0.0.bb} |  10 +-
>>   9 files changed, 610 insertions(+), 262 deletions(-)
>>   delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>>   create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
>>   create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
>>   create mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
>>   delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
>>   delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
>>   delete mode 100644 meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
>>   rename meta-oe/recipes-extended/dlt-daemon/{dlt-daemon_2.18.10.bb => dlt-daemon_3.0.0.bb} (91%)
>>
>> diff --git a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
>> index 621a85456d..b0c83f7eba 100644
>> --- a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
>> +++ b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
>> @@ -2,8 +2,8 @@ SUMMARY = "C++ bindings for the glib library"
>>   HOMEPAGE = "http://www.gtkmm.org/"
>>   SECTION = "libs"
>>   LICENSE = "LGPL-2.1-only & GPL-2.0-only"
>> -LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
>> -                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
>> +LIC_FILES_CHKSUM = "file://COPYING;md5=4bf661c1e3793e55c8d1051bc5e0ae21 \
>> +                    file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce"
>>
>>   DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
>>
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>> deleted file mode 100644
>> index 335872c40f..0000000000
>> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>> +++ /dev/null
>> @@ -1,40 +0,0 @@
>> -From bc03f142507da92add8ba325fdf8187d47a7d719 Mon Sep 17 00:00:00 2001
>> -From: Changqing Li <changqing.li@windriver.com>
>> -Date: Fri, 13 Dec 2024 16:37:24 +0800
>> -Subject: [PATCH] CMakeLists.txt: make DLT_WatchdogSec can be set by user
>> -
>> -In my test env, WatchdogSec default value 2 is not enough, manually
>> -changed to 3 is ok. This makes dlt.service/dlt-system.service start
>> -failed during boot time. So, make DLT_WatchdogSec can be set by user, so
>> -user can set them to proper value at build time, then service can start
>> -successfully in boot time.
>> -
>> -Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> -
>> -Upstream-Status: Backport [https://github.com/COVESA/dlt-daemon/pull/720/commits/bc03f142507da92add8ba325fdf8187d47a7d719]
>> -
>> -Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> ----
>> - systemd/CMakeLists.txt | 8 ++++++--
>> - 1 file changed, 6 insertions(+), 2 deletions(-)
>> -
>> -diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
>> -index 16cbe86b5..659378d16 100644
>> ---- a/systemd/CMakeLists.txt
>> -+++ b/systemd/CMakeLists.txt
>> -@@ -18,10 +18,14 @@ if(WITH_SYSTEMD)
>> -     set(SYSTEMD_CONFIGURATIONS_FILES_DIR ${SYSTEMD_UNITDIR} )
>> -
>> -     if(WITH_SYSTEMD_WATCHDOG)
>> --        set( DLT_WatchdogSec 2 )
>> -+        if(NOT DEFINED DLT_WatchdogSec)
>> -+            set(DLT_WatchdogSec 2 CACHE STRING "Watchdog timeout in seconds")
>> -+        endif()
>> -         message( STATUS "The systemd watchdog is enabled - timeout is set to ${DLT_WatchdogSec} seconds")
>> -     else(WITH_SYSTEMD_WATCHDOG)
>> --        set( DLT_WatchdogSec 0 )
>> -+        if(NOT DEFINED DLT_WatchdogSec)
>> -+             set(DLT_WatchdogSec 0 CACHE STRING "Watchdog timeout in seconds")
>> -+        endif()
>> -         message( STATUS "The systemd watchdog is disabled")
>> -     endif(WITH_SYSTEMD_WATCHDOG)
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
>> new file mode 100644
>> index 0000000000..6cfa3a5482
>> --- /dev/null
>> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
>> @@ -0,0 +1,360 @@
>> +From 4813b72cfe82062db41dd1d8cfa7069634d78d9e Mon Sep 17 00:00:00 2001
>> +From: Changqing Li <changqing.li@windriver.com>
>> +Date: Mon, 16 Mar 2026 13:28:40 +0800
>> +Subject: [PATCH] Fix build failures
>> +
>> +Fix the following similar build failures, some of the build failure
>> +reproduced with arm64/riscv64, some of the build reproduced with 32bit
>> +x86/arm.
>> +
>> +dlt_daemon_common.c:2785:26: error: conversion to 'int8_t' {aka 'signed char'} from 'char' may change the sign of the result [-Werror=sign-conversion]
>> +
>> +src/tests/dlt-test-multi-process-client-v2.c:302:49: error: format '%lld' expects argument of type 'long long int', but argument 2 has type 'time_t' {aka 'long int'} [-Werror=format=]
>> +  302 |     printf(" Time running (seconds)        : %lld\n", time(NULL) - stats.first_message_time);
>> +      |                                              ~~~^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> +      |                                                 |                |
>> +      |                                                 long long int    time_t {aka long int}
>> +      |                                              %ld
>> +
>> +src/lib/dlt_user.c:5109:60: error: format '%lld' expects argument of type 'long long int', but argument 4 has type '__off_t' {aka 'long int'} [-Werror=format=]
>> + 5109 |             dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
>> +      |                                                         ~~~^
>> +      |                                                            |
>> +      |                                                            long long int
>> +      |                                                         %ld
>> + 5110 |                      st.st_size);
>> +      |                      ~~~~~~~~~~
>> +      |                        |
>> +      |                        __off_t {aka long int}
>> +
>> +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/827]
>> +
>> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> +---
>> + src/daemon/dlt-daemon.c                      |  8 ++---
>> + src/daemon/dlt_daemon_client.c               | 32 ++++++++++----------
>> + src/daemon/dlt_daemon_common.c               |  4 +--
>> + src/lib/dlt_user.c                           | 18 +++++------
>> + src/shared/dlt_common.c                      |  2 +-
>> + src/shared/dlt_multiple_files.c              |  2 +-
>> + src/tests/dlt-test-multi-process-client-v2.c |  8 ++---
>> + src/tests/dlt-test-multi-process-v2.c        |  2 +-
>> + src/tests/dlt-test-multi-process.c           |  2 +-
>> + 9 files changed, 39 insertions(+), 39 deletions(-)
>> +
>> +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
>> +index 523bf33..2ae5bc9 100644
>> +--- a/src/daemon/dlt-daemon.c
>> ++++ b/src/daemon/dlt-daemon.c
>> +@@ -457,7 +457,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
>> +
>> +     if (n < 0 || (size_t)n > sizeof(daemon_local->flags.loggingFilename)) {
>> +         dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
>> +-                __func__, n, daemon_local->flags.loggingFilename);
>> ++                __func__, (long int)n, daemon_local->flags.loggingFilename);
>> +     }
>> +     daemon_local->flags.enableLoggingFileLimit = false;
>> +     daemon_local->flags.loggingFileSize = 250000;
>> +@@ -2501,7 +2501,7 @@ void dlt_daemon_exit_trigger()
>> +     n = snprintf(tmp, DLT_PATH_MAX, "%s/dlt", dltFifoBaseDir);
>> +     if (n < 0 || (size_t)n > DLT_PATH_MAX) {
>> +         dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
>> +-                __func__, n, tmp);
>> ++                __func__, (long int)n, tmp);
>> +     }
>> +
>> +     (void)unlink(tmp);
>> +@@ -2878,8 +2878,8 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local,
>> +         dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon,daemon_local,
>> +                             msg.headerbuffer, sizeof(DltStorageHeader),
>> +                             msg.headerbuffer + sizeof(DltStorageHeader),
>> +-                            (size_t)(msg.headersize - (int32_t)sizeof(DltStorageHeader)),
>> +-                            msg.databuffer, (size_t)msg.datasize, verbose);
>> ++                            (int)(msg.headersize - (int32_t)sizeof(DltStorageHeader)),
>> ++                            msg.databuffer, (int)msg.datasize, verbose);
>> +
>> +         free(msg.databuffer);
>> +     }else {
>> +diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c
>> +index 50d8f19..20a512b 100644
>> +--- a/src/daemon/dlt_daemon_client.c
>> ++++ b/src/daemon/dlt_daemon_client.c
>> +@@ -551,8 +551,8 @@ int dlt_daemon_client_send_message_to_all_client(DltDaemon *daemon,
>> +     return dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon, daemon_local,
>> +                 daemon_local->msg.headerbuffer, sizeof(DltStorageHeader),
>> +                 daemon_local->msg.headerbuffer + sizeof(DltStorageHeader),
>> +-                (size_t)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)),
>> +-                daemon_local->msg.databuffer, (size_t)daemon_local->msg.datasize, verbose);
>> ++                (int)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)),
>> ++                daemon_local->msg.databuffer, (int)daemon_local->msg.datasize, verbose);
>> +
>> + }
>> +
>> +@@ -771,8 +771,8 @@ int dlt_daemon_client_send_control_message(int sock,
>> +     if ((ret =
>> +              dlt_daemon_client_send(sock, daemon, daemon_local, msg->headerbuffer, sizeof(DltStorageHeader),
>> +                                     msg->headerbuffer + sizeof(DltStorageHeader),
>> +-                                    (size_t)(msg->headersize - (int32_t)sizeof(DltStorageHeader)),
>> +-                                    msg->databuffer, (size_t)msg->datasize, verbose))) {
>> ++                                    (int)(msg->headersize - (int32_t)sizeof(DltStorageHeader)),
>> ++                                    msg->databuffer, (int)msg->datasize, verbose))) {
>> +         dlt_log(LOG_DEBUG, "dlt_daemon_control_send_control_message: DLT message send to all failed!.\n");
>> +         return ret;
>> +     }
>> +@@ -1919,7 +1919,7 @@ void dlt_daemon_control_get_log_info(int sock,
>> +
>> +     /* Allocate buffer for response message */
>> +     resp.databuffer = (uint8_t *)malloc((size_t)resp.datasize);
>> +-    resp.databuffersize = (size_t)resp.datasize;
>> ++    resp.databuffersize = resp.datasize;
>> +
>> +     if (resp.databuffer == 0) {
>> +         dlt_daemon_control_service_response(sock,
>> +@@ -2572,7 +2572,7 @@ int dlt_daemon_control_message_buffer_overflow(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -2633,7 +2633,7 @@ int dlt_daemon_control_message_buffer_overflow_v2(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -2686,7 +2686,7 @@ void dlt_daemon_control_service_response(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -2732,7 +2732,7 @@ void dlt_daemon_control_service_response_v2(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -2779,7 +2779,7 @@ int dlt_daemon_control_message_unregister_context(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -2842,7 +2842,7 @@ int dlt_daemon_control_message_unregister_context_v2(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -2909,7 +2909,7 @@ int dlt_daemon_control_message_connection_info(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -2962,7 +2962,7 @@ int dlt_daemon_control_message_connection_info_v2(int sock,
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -3010,7 +3010,7 @@ int dlt_daemon_control_message_timezone(int sock, DltDaemon *daemon, DltDaemonLo
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -3072,7 +3072,7 @@ int dlt_daemon_control_message_timezone_v2(int sock, DltDaemon *daemon, DltDaemo
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +@@ -3127,7 +3127,7 @@ int dlt_daemon_control_message_marker(int sock, DltDaemon *daemon, DltDaemonLoca
>> +
>> +     if (msg.databuffer == 0) {
>> +         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
>> +-        msg.databuffersize = (size_t)msg.datasize;
>> ++        msg.databuffersize = msg.datasize;
>> +     }
>> +
>> +     if (msg.databuffer == 0)
>> +diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
>> +index 2f08c6a..65b264a 100644
>> +--- a/src/daemon/dlt_daemon_common.c
>> ++++ b/src/daemon/dlt_daemon_common.c
>> +@@ -2782,7 +2782,7 @@ int dlt_daemon_user_send_log_state(DltDaemon *daemon, DltDaemonApplication *app,
>> +     if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK)
>> +         return -1;
>> +
>> +-    logstate.log_state = daemon->connectionState;
>> ++    logstate.log_state = (int8_t)daemon->connectionState;
>> +
>> +     /* log to FIFO */
>> +     ret = dlt_user_log_out2_with_timeout(app->user_handle,
>> +@@ -2811,7 +2811,7 @@ int dlt_daemon_user_send_log_state_v2(DltDaemon *daemon, DltDaemonApplication *a
>> +     if (dlt_user_set_userheader_v2(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK)
>> +         return -1;
>> +
>> +-    logstate.log_state = daemon->connectionState;
>> ++    logstate.log_state = (int8_t)daemon->connectionState;
>> +
>> +     /* log to FIFO */
>> +     ret = dlt_user_log_out2_with_timeout(app->user_handle,
>> +diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
>> +index 6d0098d..e432e26 100644
>> +--- a/src/lib/dlt_user.c
>> ++++ b/src/lib/dlt_user.c
>> +@@ -5106,8 +5106,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int *
>> +                 return DLT_RETURN_ERROR;
>> +             }
>> +
>> +-            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
>> +-                     st.st_size);
>> ++            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
>> ++                     (long long int)st.st_size);
>> +             /* Check filesize */
>> +             /* Return error if the file size has reached to maximum */
>> +             unsigned int msg_size = (unsigned int)st.st_size + (unsigned int)msg.headersize +
>> +@@ -5115,8 +5115,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int *
>> +             if (msg_size > dlt_user.filesize_max) {
>> +                 dlt_user_file_reach_max = true;
>> +                 dlt_vlog(LOG_ERR,
>> +-                         "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n",
>> +-                         __func__, st.st_size, dlt_user.filesize_max);
>> ++                         "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n",
>> ++                         __func__, (long long int)st.st_size, dlt_user.filesize_max);
>> +                 dlt_mutex_unlock();
>> +                 return DLT_RETURN_FILESZERR;
>> +             }
>> +@@ -5612,21 +5612,21 @@ DltReturnValue dlt_user_log_send_log_v2(DltContextData *log, const int mtype, Dl
>> +                 return DLT_RETURN_ERROR;
>> +             }
>> +
>> +-            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
>> +-                     st.st_size);
>> ++            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
>> ++                     (long long int)st.st_size);
>> +             /* Check filesize */
>> +             /* Return error if the file size has reached to maximum */
>> +             unsigned int msg_size = 0;
>> +             if (st.st_size < 0 || st.st_size > UINT_MAX) {
>> +-                dlt_vlog(LOG_ERR, "%s: File size (%ld bytes) is invalid or too large for unsigned int\n", __func__, st.st_size);
>> ++                dlt_vlog(LOG_ERR, "%s: File size (%lld bytes) is invalid or too large for unsigned int\n", __func__, (long long int)st.st_size);
>> +                 return DLT_RETURN_FILESZERR;
>> +             }
>> +             msg_size = (unsigned int)st.st_size + (unsigned int) msg.headersizev2 + (unsigned int) log->size;
>> +             if (msg_size > dlt_user.filesize_max) {
>> +                 dlt_user_file_reach_max = true;
>> +                 dlt_vlog(LOG_ERR,
>> +-                         "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n",
>> +-                         __func__, st.st_size, dlt_user.filesize_max);
>> ++                         "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n",
>> ++                         __func__, (long long int)st.st_size, dlt_user.filesize_max);
>> +                 return DLT_RETURN_FILESZERR;
>> +             }
>> +             else {
>> +diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
>> +index 6ad354b..aa0aaaa 100644
>> +--- a/src/shared/dlt_common.c
>> ++++ b/src/shared/dlt_common.c
>> +@@ -1220,7 +1220,7 @@ DltReturnValue dlt_message_header_flags_v2(DltMessageV2 *msg, char *text, size_t
>> +             for (int i = 0; i<5; ++i){
>> +                 tt = (tt << 8) | msg->headerextrav2.seconds[i];
>> +             }
>> +-            snprintf(text + strlen(text), textlength - strlen(text), "%ld.%.9u ", tt, msg->headerextrav2.nanoseconds);
>> ++            snprintf(text + strlen(text), textlength - strlen(text), "%lld.%.9u ", (long long int)tt, msg->headerextrav2.nanoseconds);
>> +         }
>> +         else
>> +             snprintf(text + strlen(text), textlength - strlen(text), "---------- ");
>> +diff --git a/src/shared/dlt_multiple_files.c b/src/shared/dlt_multiple_files.c
>> +index c4019e5..65529ff 100644
>> +--- a/src/shared/dlt_multiple_files.c
>> ++++ b/src/shared/dlt_multiple_files.c
>> +@@ -257,7 +257,7 @@ ssize_t multiple_files_buffer_get_total_size(const MultipleFilesRingBuffer *file
>> +             if (((unsigned int)res < sizeof(filename)) && (res > 0)) {
>> +                 errno = 0;
>> +                 if (0 == stat(filename, &status))
>> +-                    size += status.st_size;
>> ++                    size += (ssize_t)status.st_size;
>> +                 else
>> +                     fprintf(stderr, "file %s cannot be stat-ed, error=%s\n", filename, strerror(errno));
>> +             }
>> +diff --git a/src/tests/dlt-test-multi-process-client-v2.c b/src/tests/dlt-test-multi-process-client-v2.c
>> +index 2bb1158..ec99720 100644
>> +--- a/src/tests/dlt-test-multi-process-client-v2.c
>> ++++ b/src/tests/dlt-test-multi-process-client-v2.c
>> +@@ -299,10 +299,10 @@ void print_stats(s_statistics stats, s_parameters params)
>> +     printf(" Messages received             : %d\n", stats.messages_received);
>> +     printf(" Broken messages received      : %d\n", stats.broken_messages_received);
>> +     printf(" Bytes received                : %d\n", stats.bytes_received);
>> +-    printf(" Time running (seconds)        : %ld\n", time(NULL) - stats.first_message_time);
>> +-    printf(" Throughput (msgs/sec)/(B/sec) : %ld/%ld\n",
>> +-           stats.messages_received / ((time(NULL) - stats.first_message_time) + 1),
>> +-           (stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1));
>> ++    printf(" Time running (seconds)        : %lld\n", (long long int)(time(NULL) - stats.first_message_time));
>> ++    printf(" Throughput (msgs/sec)/(B/sec) : %lld/%lld\n",
>> ++           (long long int)(stats.messages_received / ((time(NULL) - stats.first_message_time) + 1)),
>> ++           (long long int)((stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1)));
>> +
>> +     if (params.messages_left == 0) {
>> +         if (stats.broken_messages_received == 0)
>> +diff --git a/src/tests/dlt-test-multi-process-v2.c b/src/tests/dlt-test-multi-process-v2.c
>> +index 44a8622..1d3a54a 100644
>> +--- a/src/tests/dlt-test-multi-process-v2.c
>> ++++ b/src/tests/dlt-test-multi-process-v2.c
>> +@@ -393,7 +393,7 @@ void *do_logging(void *arg)
>> +
>> +         sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge);
>> +         ts.tv_sec = sleep_time / 1000000000;
>> +-        ts.tv_nsec = sleep_time % 1000000000;
>> ++        ts.tv_nsec = (long int)(sleep_time % 1000000000);
>> +         nanosleep(&ts, NULL);
>> +     }
>> +
>> +diff --git a/src/tests/dlt-test-multi-process.c b/src/tests/dlt-test-multi-process.c
>> +index 016c8b4..00fb11c 100644
>> +--- a/src/tests/dlt-test-multi-process.c
>> ++++ b/src/tests/dlt-test-multi-process.c
>> +@@ -370,7 +370,7 @@ void *do_logging(void *arg)
>> +
>> +         sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge);
>> +         ts.tv_sec = sleep_time / 1000000000;
>> +-        ts.tv_nsec = sleep_time % 1000000000;
>> ++        ts.tv_nsec = (long int)(sleep_time % 1000000000);
>> +         nanosleep(&ts, NULL);
>> +     }
>> +
>> +--
>> +2.34.1
>> +
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
>> new file mode 100644
>> index 0000000000..f9692d9f4d
>> --- /dev/null
>> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
>> @@ -0,0 +1,69 @@
>> +From bee9bce043c72de1d27a4251333ace9fe66bcc74 Mon Sep 17 00:00:00 2001
>> +From: Changqing Li <changqing.li@windriver.com>
>> +Date: Thu, 12 Mar 2026 19:37:11 +0800
>> +Subject: [PATCH] Fix compile failure related to gzlog
>> +MIME-Version: 1.0
>> +Content-Type: text/plain; charset=UTF-8
>> +Content-Transfer-Encoding: 8bit
>> +
>> +* In commit [1], gzlog is changed from gzFile to gzFile*, this cause
>> +  failure:
>> +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:88:21: error: passing argument 1 of ‘gzclose’ from incompatible pointer type [-Werror=incompatible-pointer-types]
>> +   88 |         gzclose(data->gzlog);
>> +      |                 ~~~~^~~~~~~
>> +      |                     |
>> +      |                     struct gzFile_s **
>> +compilation terminated due to -Wfatal-errors.
>> +
>> +so change gzlog back to gzFile, so that all the gzxxx function can work
>> +well.
>> +
>> +* Change to gzFile causes the following failure, since fileno need
>> +  FILE*, according to code "config->gzlog = gzdopen(config->fd, mode)",
>> +  seems we don't need to use fileno, just use config->fd is ok.
>> +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:1133:48: error: passing argument 1 of ‘fileno’ from incompatible pointer type [-Werror=incompatible-pointer-types]
>> + 1133 |                         if (fsync(fileno(config->gzlog)) != 0) {
>> +      |                                          ~~~~~~^~~~~~~
>> +      |                                                |
>> +      |                                                gzFile {aka struct gzFile_s *}
>> +compilation terminated due to -Wfatal-errors.
>> +
>> +[1] https://github.com/COVESA/dlt-daemon/commit/543087ba98c103dc576edadeccf614c9dab1b9b3
>> +
>> +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
>> +
>> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> +---
>> + src/offlinelogstorage/dlt_offline_logstorage.h          | 2 +-
>> + src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 2 +-
>> + 2 files changed, 2 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h
>> +index fe38687..09ea5ce 100644
>> +--- a/src/offlinelogstorage/dlt_offline_logstorage.h
>> ++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
>> +@@ -217,7 +217,7 @@ struct DltLogStorageFilterConfig
>> +     FILE *log;                      /* current open log file */
>> +     int fd;                         /* The file descriptor for the active log file */
>> + #ifdef DLT_LOGSTORAGE_USE_GZIP
>> +-    gzFile *gzlog;                  /* current open gz log file */
>> ++    gzFile gzlog;                   /* current open gz log file */
>> + #endif
>> +     void *cache;                    /* log data cache */
>> +     unsigned int specific_size;     /* cache size used for specific_size sync strategy */
>> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
>> +index f17fbb2..ff09c9e 100644
>> +--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
>> ++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
>> +@@ -1130,7 +1130,7 @@ int dlt_logstorage_prepare_on_msg(DltLogStorageFilterConfig *config,
>> +                     (config->sync == DLT_LOGSTORAGE_SYNC_UNSET)) {
>> + #ifdef DLT_LOGSTORAGE_USE_GZIP
>> +                     if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
>> +-                        if (fsync(fileno(config->gzlog)) != 0) {
>> ++                        if (fsync(config->fd) != 0) {
>> +                             if (errno != ENOSYS) {
>> +                                 dlt_vlog(LOG_ERR, "%s: failed to sync gzip log file\n", __func__);
>> +                             }
>> +--
>> +2.34.1
>> +
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
>> new file mode 100644
>> index 0000000000..403d1089e2
>> --- /dev/null
>> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
>> @@ -0,0 +1,174 @@
>> +From 3d713358fe19ce02e7c580d26222ec2386c94bc9 Mon Sep 17 00:00:00 2001
>> +From: Changqing Li <changqing.li@windriver.com>
>> +Date: Thu, 12 Mar 2026 20:06:34 +0800
>> +Subject: [PATCH] Fix kinds of build failure
>> +MIME-Version: 1.0
>> +Content-Type: text/plain; charset=UTF-8
>> +Content-Transfer-Encoding: 8bit
>> +
>> +Fix kinds of build failures caused by -Werror=sign-conversion,
>> +-Werror=cast-qual, -Werror=conversion etc.
>> +Eg:
>> +src/offlinelogstorage/dlt_offline_logstorage.h:129:49: error: unsigned conversion from ‘int’ to ‘unsigned int’ changes value from ‘-1’ to ‘4294967295’ [-Werror=sign-conversion]
>> +  129 | #define DLT_LOGSTORAGE_GZIP_ERROR               -1 /* error case */
>> +      |                                                 ^
>> +/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:1303:36: note: in expansion of macro ‘DLT_LOGSTORAGE_GZIP_ERROR’
>> + 1303 |         config->gzip_compression = DLT_LOGSTORAGE_GZIP_ERROR;
>> +
>> +      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
>> +
>> +src/offlinelogstorage/dlt_offline_logstorage_behavior.c:851:16: error: conversion from ‘z_size_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Werror=conversion]
>> +  851 |         return gzfwrite(ptr, size, nmemb, config->gzlog);
>> +      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> +
>> +src/console/dlt-control-common.c:922:25: error: cast discards 'const' qualifier from pointer target type [-Werror=cast-qual]
>> +  922 |     json_object_to_file((char*)filename, json_filter_obj);
>> +      |
>> +
>> +Use explicit type conversion to make the build can pass
>> +
>> +Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
>> +
>> +Signed-off-by: Changqing Li <changqing.li@windriver.com>
>> +---
>> + src/console/dlt-control-common.c                       |  2 +-
>> + src/daemon/dlt-daemon.c                                |  4 ++--
>> + src/daemon/udp_connection/dlt_daemon_udp_socket.c      | 10 +++++-----
>> + src/examples/dlt-example-multicast-clientmsg-view.c    |  8 ++++----
>> + src/offlinelogstorage/dlt_offline_logstorage.h         |  2 +-
>> + .../dlt_offline_logstorage_behavior.c                  |  4 ++--
>> + 6 files changed, 15 insertions(+), 15 deletions(-)
>> +
>> +diff --git a/src/console/dlt-control-common.c b/src/console/dlt-control-common.c
>> +index 2aeea280..4f9e95b4 100644
>> +--- a/src/console/dlt-control-common.c
>> ++++ b/src/console/dlt-control-common.c
>> +@@ -919,7 +919,7 @@ DltReturnValue dlt_json_filter_save(DltFilter *filter, const char *filename, int
>> +     }
>> +
>> +     printf("Saving current filter into '%s'\n", filename);
>> +-    json_object_to_file((char*)filename, json_filter_obj);
>> ++    json_object_to_file(filename, json_filter_obj);
>> +
>> +     return DLT_RETURN_OK;
>> + }
>> +diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
>> +index 97af1cd9..94024eb4 100644
>> +--- a/src/daemon/dlt-daemon.c
>> ++++ b/src/daemon/dlt-daemon.c
>> +@@ -867,7 +867,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
>> +
>> +                         if ((longval == MULTICAST_CONNECTION_DISABLED)
>> +                             || (longval == MULTICAST_CONNECTION_ENABLED)) {
>> +-                            daemon_local->UDPConnectionSetup = longval;
>> ++                            daemon_local->UDPConnectionSetup = (int)longval;
>> +                             printf("Option: %s=%s\n", token, value);
>> +                         }
>> +                         else {
>> +@@ -884,7 +884,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
>> +                     }
>> +                     else if (strcmp(token, "UDPMulticastIPPort") == 0)
>> +                     {
>> +-                        daemon_local->UDPMulticastIPPort = strtol(value, NULL, 10);
>> ++                        daemon_local->UDPMulticastIPPort = (int)strtol(value, NULL, 10);
>> +                     }
>> + #endif
>> +                     else if (strcmp(token, "BindAddress") == 0)
>> +diff --git a/src/daemon/udp_connection/dlt_daemon_udp_socket.c b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
>> +index 4c40cda8..b3408773 100644
>> +--- a/src/daemon/udp_connection/dlt_daemon_udp_socket.c
>> ++++ b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
>> +@@ -66,7 +66,7 @@ void dlt_daemon_udp_setmulticast_addr(DltDaemonLocal *daemon_local)
>> +     struct sockaddr_in clientaddr;
>> +     clientaddr.sin_family = AF_INET;
>> +     inet_pton(AF_INET, daemon_local->UDPMulticastIPAddress, &clientaddr.sin_addr);
>> +-    clientaddr.sin_port = htons(daemon_local->UDPMulticastIPPort);
>> ++    clientaddr.sin_port = htons((uint16_t)daemon_local->UDPMulticastIPPort);
>> +     memcpy(&g_udpmulticast_addr.clientaddr, &clientaddr, sizeof(struct sockaddr_in));
>> +     g_udpmulticast_addr.clientaddr_size = sizeof(g_udpmulticast_addr.clientaddr);
>> +     g_udpmulticast_addr.isvalidflag = ADDRESS_VALID;
>> +@@ -224,17 +224,17 @@ void dlt_daemon_udp_clientmsg_send(DltDaemonClientSockInfo *clientinfo,
>> +
>> +     if ((clientinfo->isvalidflag == ADDRESS_VALID) &&
>> +         (size1 > 0) && (size2 > 0)) {
>> +-        void *data = (void *)calloc(size1 + size2, sizeof(char));
>> ++        void *data = (void *)calloc((size_t)(size1 + size2), sizeof(char));
>> +
>> +         if (data == NULL) {
>> +             dlt_vlog(LOG_ERR, "%s: calloc failure\n", __func__);
>> +             return;
>> +         }
>> +
>> +-        memcpy(data, data1, size1);
>> +-        memcpy(data + size1, data2, size2);
>> ++        memcpy(data, data1, (size_t)size1);
>> ++        memcpy((int*)data + size1, data2, (size_t)size2);
>> +
>> +-        if (sendto(g_udp_sock_fd, data, size1 + size2, 0, (struct sockaddr *)&clientinfo->clientaddr,
>> ++        if (sendto(g_udp_sock_fd, data, (size_t)(size1 + size2), 0, (struct sockaddr *)&clientinfo->clientaddr,
>> +                    clientinfo->clientaddr_size) < 0)
>> +             dlt_vlog(LOG_ERR, "%s: Send UDP Packet Data failed\n", __func__);
>> +
>> +diff --git a/src/examples/dlt-example-multicast-clientmsg-view.c b/src/examples/dlt-example-multicast-clientmsg-view.c
>> +index c00537e5..f8920453 100644
>> +--- a/src/examples/dlt-example-multicast-clientmsg-view.c
>> ++++ b/src/examples/dlt-example-multicast-clientmsg-view.c
>> +@@ -74,9 +74,9 @@ int dlt_receiver_receive_socket_udp(struct clientinfostruct *clientinfo, DltRece
>> +     /* wait for data from socket */
>> +     unsigned int addrlen = sizeof(clientinfo->addr);
>> +
>> +-    if ((receiver->bytesRcvd = recvfrom(clientinfo->fd,
>> ++    if ((receiver->bytesRcvd = (int32_t)recvfrom(clientinfo->fd,
>> +                                         receiver->buf + receiver->lastBytesRcvd,
>> +-                                        receiver->buffersize - receiver->lastBytesRcvd,
>> ++                                        (size_t)(receiver->buffersize - receiver->lastBytesRcvd),
>> +                                         0,
>> +                                         (struct sockaddr *)&(clientinfo->addr), &addrlen))
>> +         <= 0) {
>> +@@ -177,11 +177,11 @@ int main()
>> +         dlt_receiver_receive_socket_udp(&clientinfo, &(clientinfo.receiver));
>> +
>> +         while (dlt_message_read(&msg, (unsigned char *)(clientinfo.receiver.buf),
>> +-                                clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) {
>> ++                                (unsigned int)clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) {
>> +             dlt_receive_message_callback_udp(&msg);
>> +
>> +             if (dlt_receiver_remove(&(clientinfo.receiver),
>> +-                                    msg.headersize + msg.datasize - sizeof(DltStorageHeader))
>> ++                                    msg.headersize + msg.datasize - ((int32_t)(sizeof(DltStorageHeader))))
>> +                 == DLT_RETURN_ERROR) {
>> +                 /* Return value ignored */
>> +                 dlt_message_free(&msg, 0);
>> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h
>> +index 09ea5ce4..cfb70f33 100644
>> +--- a/src/offlinelogstorage/dlt_offline_logstorage.h
>> ++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
>> +@@ -192,7 +192,7 @@ struct DltLogStorageFilterConfig
>> +     int overwrite;                  /* Overwrite strategy */
>> +     int skip;                       /* Flag to skip file logging if DISCARD_NEW */
>> +     char *ecuid;                    /* ECU identifier */
>> +-    unsigned int gzip_compression;  /* Toggle if log files should be gzip compressed */
>> ++    int gzip_compression;           /* Toggle if log files should be gzip compressed */
>> +     /* callback function for filter configurations */
>> +     int (*dlt_logstorage_prepare)(DltLogStorageFilterConfig *config,
>> +                                   DltLogStorageUserConfig *file_config,
>> +diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
>> +index ff09c9eb..ae8f4442 100644
>> +--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
>> ++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
>> +@@ -848,10 +848,10 @@ DLT_STATIC int dlt_logstorage_write_to_log(void *ptr, size_t size, size_t nmemb,
>> + {
>> + #ifdef DLT_LOGSTORAGE_USE_GZIP
>> +     if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
>> +-        return gzfwrite(ptr, size, nmemb, config->gzlog);
>> ++        return (int)gzfwrite(ptr, size, nmemb, config->gzlog);
>> +     }
>> +     else {
>> +-        return fwrite(ptr, size, nmemb, config->log);
>> ++        return (int)fwrite(ptr, size, nmemb, config->log);
>> +     }
>> + #else
>> +     return (int)fwrite(ptr, size, nmemb, config->log);
>> +--
>> +2.34.1
>> +
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
>> deleted file mode 100644
>> index ac5fec5684..0000000000
>> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
>> +++ /dev/null
>> @@ -1,99 +0,0 @@
>> -From ae23f2cccc169874d89903cad24bf36e19bef659 Mon Sep 17 00:00:00 2001
>> -From: Alper Ak <alperyasinak1@gmail.com>
>> -Date: Wed, 9 Jul 2025 18:18:33 +0300
>> -Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+
>> - compatibility
>> -
>> -Fix:
>> -
>> -| CMake Error at CMakeLists.txt:17 (cmake_minimum_required):
>> -|   Compatibility with CMake < 3.5 has been removed from CMake.
>> -|
>> -|   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
>> -|   to tell CMake that the project requires at least <min> but has been updated
>> -|   to work with policies introduced by <max> or earlier.
>> -|
>> -|   Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
>> -|
>> -|
>> -| -- Configuring incomplete, errors occurred!
>> -
>> -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/755]
>> -
>> -Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
>> ----
>> - CMakeLists.txt                   | 2 +-
>> - examples/example1/CMakeLists.txt | 2 +-
>> - examples/example2/CMakeLists.txt | 2 +-
>> - examples/example3/CMakeLists.txt | 2 +-
>> - examples/example4/CMakeLists.txt | 2 +-
>> - 5 files changed, 5 insertions(+), 5 deletions(-)
>> -
>> -diff --git a/CMakeLists.txt b/CMakeLists.txt
>> -index 94185b8..2a0f619 100644
>> ---- a/CMakeLists.txt
>> -+++ b/CMakeLists.txt
>> -@@ -14,7 +14,7 @@
>> - #######
>> -
>> - # Set minimum Cmake version and setup policy behavior
>> --cmake_minimum_required(VERSION 3.3)
>> -+cmake_minimum_required(VERSION 3.5)
>> -
>> - if(${CMAKE_VERSION} VERSION_GREATER "3.20" OR ${CMAKE_VERSION} VERSION_EQUAL "3.20")
>> -     cmake_policy(SET CMP0115 OLD)
>> -diff --git a/examples/example1/CMakeLists.txt b/examples/example1/CMakeLists.txt
>> -index 60644a1..44cd053 100644
>> ---- a/examples/example1/CMakeLists.txt
>> -+++ b/examples/example1/CMakeLists.txt
>> -@@ -17,7 +17,7 @@
>> - # DLT example implementation
>> - #
>> -
>> --cmake_minimum_required( VERSION 2.6 )
>> -+cmake_minimum_required( VERSION 3.5 )
>> - project( automotive-dlt-example1 )
>> -
>> - #
>> -diff --git a/examples/example2/CMakeLists.txt b/examples/example2/CMakeLists.txt
>> -index 66a4f24..a8efbcf 100644
>> ---- a/examples/example2/CMakeLists.txt
>> -+++ b/examples/example2/CMakeLists.txt
>> -@@ -17,7 +17,7 @@
>> - # DLT example implementation
>> - #
>> -
>> --cmake_minimum_required( VERSION 2.6 )
>> -+cmake_minimum_required( VERSION 3.5 )
>> - project( automotive-dlt-example2 )
>> -
>> - #
>> -diff --git a/examples/example3/CMakeLists.txt b/examples/example3/CMakeLists.txt
>> -index 45b7467..4d4958d 100644
>> ---- a/examples/example3/CMakeLists.txt
>> -+++ b/examples/example3/CMakeLists.txt
>> -@@ -17,7 +17,7 @@
>> - # DLT example implementation
>> - #
>> -
>> --cmake_minimum_required( VERSION 2.6 )
>> -+cmake_minimum_required( VERSION 3.5 )
>> - project( automotive-dlt-example3 )
>> -
>> - #
>> -diff --git a/examples/example4/CMakeLists.txt b/examples/example4/CMakeLists.txt
>> -index 53a4fad..161c333 100644
>> ---- a/examples/example4/CMakeLists.txt
>> -+++ b/examples/example4/CMakeLists.txt
>> -@@ -17,7 +17,7 @@
>> - # DLT example implementation
>> - #
>> -
>> --cmake_minimum_required( VERSION 2.6 )
>> -+cmake_minimum_required( VERSION 3.5 )
>> - project( automotive-dlt-example4 )
>> -
>> - #
>> ---
>> -2.43.0
>> -
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
>> deleted file mode 100644
>> index 3699b8c83a..0000000000
>> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
>> +++ /dev/null
>> @@ -1,80 +0,0 @@
>> -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544]
>> -
>> -From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001
>> -From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
>> -Date: Thu, 28 Sep 2023 12:54:23 +0200
>> -Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64
>> - and i386 arcs
>> -
>> ----
>> - src/core_dump_handler/dlt_cdh.h         |  2 ++
>> - src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++
>> - src/core_dump_handler/dlt_cdh_crashid.c |  2 +-
>> - 3 files changed, 36 insertions(+), 1 deletion(-)
>> - create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c
>> -
>> -diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
>> -index d572ecf3..8608c6c4 100644
>> ---- a/src/core_dump_handler/dlt_cdh.h
>> -+++ b/src/core_dump_handler/dlt_cdh.h
>> -@@ -55,6 +55,8 @@ typedef struct
>> -     uint64_t pc;
>> -     uint64_t ip;
>> -     uint64_t lr;
>> -+    uint64_t sp;
>> -+    uint64_t fp;
>> -
>> - } cdh_registers_t;
>> -
>> -diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c b/src/core_dump_handler/dlt_cdh_cpuinfo.c
>> -new file mode 100644
>> -index 00000000..03509fda
>> ---- /dev/null
>> -+++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c
>> -@@ -0,0 +1,33 @@
>> -+/*
>> -+ * SPDX license identifier: MPL-2.0
>> -+ *
>> -+ * Copyright (C) 2011-2015, BMW AG
>> -+ *
>> -+ * This file is part of COVESA Project DLT - Diagnostic Log and Trace.
>> -+ *
>> -+ * This Source Code Form is subject to the terms of the
>> -+ * Mozilla Public License (MPL), v. 2.0.
>> -+ * If a copy of the MPL was not distributed with this file,
>> -+ * You can obtain one at http://mozilla.org/MPL/2.0/.
>> -+ *
>> -+ * For further information see http://www.covesa.org/.
>> -+ */
>> -+
>> -+/*!
>> -+ * \author Gianfranco Costamagna <locutusofborg@debian.org>
>> -+ *
>> -+ * \copyright Copyright © 2011-2015 BMW AG. \n
>> -+ * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
>> -+ *
>> -+ * \file dlt_cdh_cpuinfo.c
>> -+ */
>> -+
>> -+#include "dlt_cdh_cpuinfo.h"
>> -+
>> -+void get_registers(prstatus_t *prstatus, cdh_registers_t *registers)
>> -+{
>> -+/*    struct user_regs_struct *ptr_reg = (struct user_regs_struct *)prstatus->pr_reg;
>> -+
>> -+    registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */
>> -+
>> -+}
>> -diff --git a/src/core_dump_handler/dlt_cdh_crashid.c b/src/core_dump_handler/dlt_cdh_crashid.c
>> -index bca44e0e..8dd98d70 100644
>> ---- a/src/core_dump_handler/dlt_cdh_crashid.c
>> -+++ b/src/core_dump_handler/dlt_cdh_crashid.c
>> -@@ -30,7 +30,7 @@
>> - #include <stdio.h>
>> - #include <string.h>
>> - #include <errno.h>
>> --#include <asm/prctl.h>
>> -+#include <sys/prctl.h>
>> - #include <inttypes.h>
>> -
>> - #include "dlt_cdh.h"
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
>> deleted file mode 100644
>> index fd36480456..0000000000
>> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
>> +++ /dev/null
>> @@ -1,36 +0,0 @@
>> -Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567]
>> -
>> -From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001
>> -From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
>> -Date: Mon, 13 Nov 2023 12:37:23 +0100
>> -Subject: [PATCH] dlt_cdh:
>> -
>> -Make sure on 64 bit we read an ELF64 structure.
>> -Otherwise we get a read error, and the context file is missing some good
>> -to know information
>> ----
>> - src/core_dump_handler/dlt_cdh.h | 7 +++++++
>> - 1 file changed, 7 insertions(+)
>> -
>> -diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
>> -index 8608c6c4..3dac480a 100644
>> ---- a/src/core_dump_handler/dlt_cdh.h
>> -+++ b/src/core_dump_handler/dlt_cdh.h
>> -@@ -45,10 +45,17 @@
>> - #define CORE_FILE_PATTERN           "%s/core.%d.%s.%d.gz"
>> - #define CONTEXT_FILE_PATTERN        "%s/context.%d.%s.%d.txt"
>> -
>> -+#if ((__SIZEOF_POINTER) == 4)
>> - #define ELF_Ehdr    Elf32_Ehdr
>> - #define ELF_Phdr    Elf32_Phdr
>> - #define ELF_Shdr    Elf32_Shdr
>> - #define ELF_Nhdr    Elf32_Nhdr
>> -+#else
>> -+#define ELF_Ehdr    Elf64_Ehdr
>> -+#define ELF_Phdr    Elf64_Phdr
>> -+#define ELF_Shdr    Elf64_Shdr
>> -+#define ELF_Nhdr    Elf64_Nhdr
>> -+#endif
>> -
>> - typedef struct
>> - {
>> diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
>> similarity index 91%
>> rename from meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
>> rename to meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
>> index 82edde6c9d..838a619a42 100644
>> --- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
>> +++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
>> @@ -17,12 +17,11 @@ DEPENDS = "zlib gzip-native json-c"
>>   SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
>>              file://0002-Don-t-execute-processes-as-a-specific-user.patch \
>>              file://0004-Modify-systemd-config-directory.patch \
>> -           file://544.patch \
>> -           file://567.patch \
>> -           file://0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch \
>> -           file://0003-allow-build-with-cmake-4.patch \
>> +           file://0001-Fix-compile-failure-related-to-gzlog.patch \
>> +           file://0001-Fix-kinds-of-build-failure.patch \
>> +           file://0001-Fix-build-failures.patch \
>>              "
>> -SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
>> +SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320"
>>
>>
>>   PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \
>> @@ -71,4 +70,5 @@ FILES:${PN}-doc += "${datadir}/dlt-filetransfer"
>>
>>   do_install:append() {
>>       rm -f ${D}${bindir}/dlt-test-*
>> +    sed -i -e 's:${RECIPE_SYSROOT}::g' ${D}/usr/lib/pkgconfig/automotive-dlt.pc
>>   }
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#125263): https://lists.openembedded.org/g/openembedded-devel/message/125263
>> Mute This Topic: https://lists.openembedded.org/mt/118341597/6084445
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [skandigraun@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Changqing Li March 17, 2026, 9:25 a.m. UTC | #4
On 3/16/26 19:29, Gyorgy Sarvari wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On 3/16/26 09:57, Gyorgy Sarvari wrote:
>>
>> On 3/16/26 09:38, Changqing Li via lists.openembedded.org wrote:
>>> Changes:
>>> https://github.com/COVESA/dlt-daemon/releases
>>>
>>> Remove patches already in 3.0.0:
>>> 544.patch
>>> 567.patch
>>> 0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>>> 0003-allow-build-with-cmake-4.patch
>>>
>>> Add 3 patches to fix build failures
>>> 0001-Fix-compile-failure-related-to-gzlog.patch
>>> 0001-Fix-kinds-of-build-failure.patch
>>> 0001-Fix-build-failures.patch
>>>
>>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>>> ---
>>>   .../glib-2.0/glibmm-2.68_2.86.0.bb            |   4 +-
>>
>> Is this glibmm change intentional in this patch?
>>
>>
> It seems that there are some compilation failures (different errors with
> different libc implementations):
>
> musl:
> https://gist.github.com/OldManYellsAtCloud/9ec67b1fae3daa99f2a8d20baba3a19a
after research,  this is reproduced since systemd init manager used, so 
the PACKAGECONFIG is different.
>
> glibc:
> https://gist.github.com/OldManYellsAtCloud/4cd6a4d28156eb486efff83381394913

I cannot reproduce this.   strrchar return char* is aligned with return 
type. seems should not have this error.

I build with sysvinit + musl , systemd + musl , sysvinit+glibc , systemd 
+glibc with V2 patch, all can build successfully.

//Changqing
Gyorgy Sarvari March 17, 2026, 10:33 a.m. UTC | #5
On 3/17/26 10:25, Changqing Li wrote:
> 
> On 3/16/26 19:29, Gyorgy Sarvari wrote:
>> CAUTION: This email comes from a non Wind River email account!
>> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>>
>> On 3/16/26 09:57, Gyorgy Sarvari wrote:
>>>
>>> On 3/16/26 09:38, Changqing Li via lists.openembedded.org wrote:
>>>> Changes:
>>>> https://github.com/COVESA/dlt-daemon/releases
>>>>
>>>> Remove patches already in 3.0.0:
>>>> 544.patch
>>>> 567.patch
>>>> 0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
>>>> 0003-allow-build-with-cmake-4.patch
>>>>
>>>> Add 3 patches to fix build failures
>>>> 0001-Fix-compile-failure-related-to-gzlog.patch
>>>> 0001-Fix-kinds-of-build-failure.patch
>>>> 0001-Fix-build-failures.patch
>>>>
>>>> Signed-off-by: Changqing Li <changqing.li@windriver.com>
>>>> ---
>>>>   .../glib-2.0/glibmm-2.68_2.86.0.bb            |   4 +-
>>>
>>> Is this glibmm change intentional in this patch?
>>>
>>>
>> It seems that there are some compilation failures (different errors with
>> different libc implementations):
>>
>> musl:
>> https://gist.github.com/OldManYellsAtCloud/9ec67b1fae3daa99f2a8d20baba3a19a
> after research,  this is reproduced since systemd init manager used, so 
> the PACKAGECONFIG is different.
>>
>> glibc:
>> https://gist.github.com/OldManYellsAtCloud/4cd6a4d28156eb486efff83381394913
> 
> I cannot reproduce this.   strrchar return char* is aligned with return 
> type. seems should not have this error.
> 
> I build with sysvinit + musl , systemd + musl , sysvinit+glibc , systemd 
> +glibc with V2 patch, all can build successfully.
> 
> //Changqing
> 


Did you try it with glibc 2.43[1] in oe-core? That error indicates a
failed new restriction that came with this version

[1]:
https://git.openembedded.org/openembedded-core/commit/?id=f791d6c52870f3571e740ff7818d45bb0a717934
diff mbox series

Patch

diff --git a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
index 621a85456d..b0c83f7eba 100644
--- a/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
+++ b/meta-oe/recipes-core/glib-2.0/glibmm-2.68_2.86.0.bb
@@ -2,8 +2,8 @@  SUMMARY = "C++ bindings for the glib library"
 HOMEPAGE = "http://www.gtkmm.org/"
 SECTION = "libs"
 LICENSE = "LGPL-2.1-only & GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
-                    file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
+LIC_FILES_CHKSUM = "file://COPYING;md5=4bf661c1e3793e55c8d1051bc5e0ae21 \
+                    file://COPYING.tools;md5=570a9b3749dd0463a1778803b12a6dce"
 
 DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
 
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
deleted file mode 100644
index 335872c40f..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch
+++ /dev/null
@@ -1,40 +0,0 @@ 
-From bc03f142507da92add8ba325fdf8187d47a7d719 Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Fri, 13 Dec 2024 16:37:24 +0800
-Subject: [PATCH] CMakeLists.txt: make DLT_WatchdogSec can be set by user
-
-In my test env, WatchdogSec default value 2 is not enough, manually
-changed to 3 is ok. This makes dlt.service/dlt-system.service start
-failed during boot time. So, make DLT_WatchdogSec can be set by user, so
-user can set them to proper value at build time, then service can start
-successfully in boot time.
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
-Upstream-Status: Backport [https://github.com/COVESA/dlt-daemon/pull/720/commits/bc03f142507da92add8ba325fdf8187d47a7d719]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- systemd/CMakeLists.txt | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
-index 16cbe86b5..659378d16 100644
---- a/systemd/CMakeLists.txt
-+++ b/systemd/CMakeLists.txt
-@@ -18,10 +18,14 @@ if(WITH_SYSTEMD)
-     set(SYSTEMD_CONFIGURATIONS_FILES_DIR ${SYSTEMD_UNITDIR} )
- 
-     if(WITH_SYSTEMD_WATCHDOG)
--        set( DLT_WatchdogSec 2 )
-+        if(NOT DEFINED DLT_WatchdogSec)
-+            set(DLT_WatchdogSec 2 CACHE STRING "Watchdog timeout in seconds")
-+        endif()
-         message( STATUS "The systemd watchdog is enabled - timeout is set to ${DLT_WatchdogSec} seconds")
-     else(WITH_SYSTEMD_WATCHDOG)
--        set( DLT_WatchdogSec 0 )
-+        if(NOT DEFINED DLT_WatchdogSec)
-+             set(DLT_WatchdogSec 0 CACHE STRING "Watchdog timeout in seconds")
-+        endif()
-         message( STATUS "The systemd watchdog is disabled")
-     endif(WITH_SYSTEMD_WATCHDOG)
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
new file mode 100644
index 0000000000..6cfa3a5482
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-failures.patch
@@ -0,0 +1,360 @@ 
+From 4813b72cfe82062db41dd1d8cfa7069634d78d9e Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Mon, 16 Mar 2026 13:28:40 +0800
+Subject: [PATCH] Fix build failures
+
+Fix the following similar build failures, some of the build failure
+reproduced with arm64/riscv64, some of the build reproduced with 32bit
+x86/arm.
+
+dlt_daemon_common.c:2785:26: error: conversion to 'int8_t' {aka 'signed char'} from 'char' may change the sign of the result [-Werror=sign-conversion]
+
+src/tests/dlt-test-multi-process-client-v2.c:302:49: error: format '%lld' expects argument of type 'long long int', but argument 2 has type 'time_t' {aka 'long int'} [-Werror=format=]
+  302 |     printf(" Time running (seconds)        : %lld\n", time(NULL) - stats.first_message_time);
+      |                                              ~~~^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+      |                                                 |                |
+      |                                                 long long int    time_t {aka long int}
+      |                                              %ld
+
+src/lib/dlt_user.c:5109:60: error: format '%lld' expects argument of type 'long long int', but argument 4 has type '__off_t' {aka 'long int'} [-Werror=format=]
+ 5109 |             dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
+      |                                                         ~~~^
+      |                                                            |
+      |                                                            long long int
+      |                                                         %ld
+ 5110 |                      st.st_size);
+      |                      ~~~~~~~~~~
+      |                        |
+      |                        __off_t {aka long int}
+
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/827]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/daemon/dlt-daemon.c                      |  8 ++---
+ src/daemon/dlt_daemon_client.c               | 32 ++++++++++----------
+ src/daemon/dlt_daemon_common.c               |  4 +--
+ src/lib/dlt_user.c                           | 18 +++++------
+ src/shared/dlt_common.c                      |  2 +-
+ src/shared/dlt_multiple_files.c              |  2 +-
+ src/tests/dlt-test-multi-process-client-v2.c |  8 ++---
+ src/tests/dlt-test-multi-process-v2.c        |  2 +-
+ src/tests/dlt-test-multi-process.c           |  2 +-
+ 9 files changed, 39 insertions(+), 39 deletions(-)
+
+diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
+index 523bf33..2ae5bc9 100644
+--- a/src/daemon/dlt-daemon.c
++++ b/src/daemon/dlt-daemon.c
+@@ -457,7 +457,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
+ 
+     if (n < 0 || (size_t)n > sizeof(daemon_local->flags.loggingFilename)) {
+         dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
+-                __func__, n, daemon_local->flags.loggingFilename);
++                __func__, (long int)n, daemon_local->flags.loggingFilename);
+     }
+     daemon_local->flags.enableLoggingFileLimit = false;
+     daemon_local->flags.loggingFileSize = 250000;
+@@ -2501,7 +2501,7 @@ void dlt_daemon_exit_trigger()
+     n = snprintf(tmp, DLT_PATH_MAX, "%s/dlt", dltFifoBaseDir);
+     if (n < 0 || (size_t)n > DLT_PATH_MAX) {
+         dlt_vlog(LOG_WARNING, "%s: snprintf truncation/error(%ld) %s\n",
+-                __func__, n, tmp);
++                __func__, (long int)n, tmp);
+     }
+ 
+     (void)unlink(tmp);
+@@ -2878,8 +2878,8 @@ int dlt_daemon_log_internal(DltDaemon *daemon, DltDaemonLocal *daemon_local,
+         dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon,daemon_local,
+                             msg.headerbuffer, sizeof(DltStorageHeader),
+                             msg.headerbuffer + sizeof(DltStorageHeader),
+-                            (size_t)(msg.headersize - (int32_t)sizeof(DltStorageHeader)),
+-                            msg.databuffer, (size_t)msg.datasize, verbose);
++                            (int)(msg.headersize - (int32_t)sizeof(DltStorageHeader)),
++                            msg.databuffer, (int)msg.datasize, verbose);
+ 
+         free(msg.databuffer);
+     }else {
+diff --git a/src/daemon/dlt_daemon_client.c b/src/daemon/dlt_daemon_client.c
+index 50d8f19..20a512b 100644
+--- a/src/daemon/dlt_daemon_client.c
++++ b/src/daemon/dlt_daemon_client.c
+@@ -551,8 +551,8 @@ int dlt_daemon_client_send_message_to_all_client(DltDaemon *daemon,
+     return dlt_daemon_client_send(DLT_DAEMON_SEND_TO_ALL, daemon, daemon_local,
+                 daemon_local->msg.headerbuffer, sizeof(DltStorageHeader),
+                 daemon_local->msg.headerbuffer + sizeof(DltStorageHeader),
+-                (size_t)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)),
+-                daemon_local->msg.databuffer, (size_t)daemon_local->msg.datasize, verbose);
++                (int)(daemon_local->msg.headersize - (int32_t)sizeof(DltStorageHeader)),
++                daemon_local->msg.databuffer, (int)daemon_local->msg.datasize, verbose);
+ 
+ }
+ 
+@@ -771,8 +771,8 @@ int dlt_daemon_client_send_control_message(int sock,
+     if ((ret =
+              dlt_daemon_client_send(sock, daemon, daemon_local, msg->headerbuffer, sizeof(DltStorageHeader),
+                                     msg->headerbuffer + sizeof(DltStorageHeader),
+-                                    (size_t)(msg->headersize - (int32_t)sizeof(DltStorageHeader)),
+-                                    msg->databuffer, (size_t)msg->datasize, verbose))) {
++                                    (int)(msg->headersize - (int32_t)sizeof(DltStorageHeader)),
++                                    msg->databuffer, (int)msg->datasize, verbose))) {
+         dlt_log(LOG_DEBUG, "dlt_daemon_control_send_control_message: DLT message send to all failed!.\n");
+         return ret;
+     }
+@@ -1919,7 +1919,7 @@ void dlt_daemon_control_get_log_info(int sock,
+ 
+     /* Allocate buffer for response message */
+     resp.databuffer = (uint8_t *)malloc((size_t)resp.datasize);
+-    resp.databuffersize = (size_t)resp.datasize;
++    resp.databuffersize = resp.datasize;
+ 
+     if (resp.databuffer == 0) {
+         dlt_daemon_control_service_response(sock,
+@@ -2572,7 +2572,7 @@ int dlt_daemon_control_message_buffer_overflow(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -2633,7 +2633,7 @@ int dlt_daemon_control_message_buffer_overflow_v2(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -2686,7 +2686,7 @@ void dlt_daemon_control_service_response(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -2732,7 +2732,7 @@ void dlt_daemon_control_service_response_v2(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -2779,7 +2779,7 @@ int dlt_daemon_control_message_unregister_context(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -2842,7 +2842,7 @@ int dlt_daemon_control_message_unregister_context_v2(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -2909,7 +2909,7 @@ int dlt_daemon_control_message_connection_info(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -2962,7 +2962,7 @@ int dlt_daemon_control_message_connection_info_v2(int sock,
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -3010,7 +3010,7 @@ int dlt_daemon_control_message_timezone(int sock, DltDaemon *daemon, DltDaemonLo
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -3072,7 +3072,7 @@ int dlt_daemon_control_message_timezone_v2(int sock, DltDaemon *daemon, DltDaemo
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+@@ -3127,7 +3127,7 @@ int dlt_daemon_control_message_marker(int sock, DltDaemon *daemon, DltDaemonLoca
+ 
+     if (msg.databuffer == 0) {
+         msg.databuffer = (uint8_t *)malloc((size_t)msg.datasize);
+-        msg.databuffersize = (size_t)msg.datasize;
++        msg.databuffersize = msg.datasize;
+     }
+ 
+     if (msg.databuffer == 0)
+diff --git a/src/daemon/dlt_daemon_common.c b/src/daemon/dlt_daemon_common.c
+index 2f08c6a..65b264a 100644
+--- a/src/daemon/dlt_daemon_common.c
++++ b/src/daemon/dlt_daemon_common.c
+@@ -2782,7 +2782,7 @@ int dlt_daemon_user_send_log_state(DltDaemon *daemon, DltDaemonApplication *app,
+     if (dlt_user_set_userheader(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK)
+         return -1;
+ 
+-    logstate.log_state = daemon->connectionState;
++    logstate.log_state = (int8_t)daemon->connectionState;
+ 
+     /* log to FIFO */
+     ret = dlt_user_log_out2_with_timeout(app->user_handle,
+@@ -2811,7 +2811,7 @@ int dlt_daemon_user_send_log_state_v2(DltDaemon *daemon, DltDaemonApplication *a
+     if (dlt_user_set_userheader_v2(&userheader, DLT_USER_MESSAGE_LOG_STATE) < DLT_RETURN_OK)
+         return -1;
+ 
+-    logstate.log_state = daemon->connectionState;
++    logstate.log_state = (int8_t)daemon->connectionState;
+ 
+     /* log to FIFO */
+     ret = dlt_user_log_out2_with_timeout(app->user_handle,
+diff --git a/src/lib/dlt_user.c b/src/lib/dlt_user.c
+index 6d0098d..e432e26 100644
+--- a/src/lib/dlt_user.c
++++ b/src/lib/dlt_user.c
+@@ -5106,8 +5106,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int *
+                 return DLT_RETURN_ERROR;
+             }
+ 
+-            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
+-                     st.st_size);
++            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
++                     (long long int)st.st_size);
+             /* Check filesize */
+             /* Return error if the file size has reached to maximum */
+             unsigned int msg_size = (unsigned int)st.st_size + (unsigned int)msg.headersize +
+@@ -5115,8 +5115,8 @@ DltReturnValue dlt_user_log_send_log(DltContextData *log, const int mtype, int *
+             if (msg_size > dlt_user.filesize_max) {
+                 dlt_user_file_reach_max = true;
+                 dlt_vlog(LOG_ERR,
+-                         "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n",
+-                         __func__, st.st_size, dlt_user.filesize_max);
++                         "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n",
++                         __func__, (long long int)st.st_size, dlt_user.filesize_max);
+                 dlt_mutex_unlock();
+                 return DLT_RETURN_FILESZERR;
+             }
+@@ -5612,21 +5612,21 @@ DltReturnValue dlt_user_log_send_log_v2(DltContextData *log, const int mtype, Dl
+                 return DLT_RETURN_ERROR;
+             }
+ 
+-            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%ld]\n", __func__,
+-                     st.st_size);
++            dlt_vlog(LOG_DEBUG, "%s: Current file size=[%lld]\n", __func__,
++                     (long long int)st.st_size);
+             /* Check filesize */
+             /* Return error if the file size has reached to maximum */
+             unsigned int msg_size = 0;
+             if (st.st_size < 0 || st.st_size > UINT_MAX) {
+-                dlt_vlog(LOG_ERR, "%s: File size (%ld bytes) is invalid or too large for unsigned int\n", __func__, st.st_size);
++                dlt_vlog(LOG_ERR, "%s: File size (%lld bytes) is invalid or too large for unsigned int\n", __func__, (long long int)st.st_size);
+                 return DLT_RETURN_FILESZERR;
+             }
+             msg_size = (unsigned int)st.st_size + (unsigned int) msg.headersizev2 + (unsigned int) log->size;
+             if (msg_size > dlt_user.filesize_max) {
+                 dlt_user_file_reach_max = true;
+                 dlt_vlog(LOG_ERR,
+-                         "%s: File size (%ld bytes) reached to defined maximum size (%d bytes)\n",
+-                         __func__, st.st_size, dlt_user.filesize_max);
++                         "%s: File size (%lld bytes) reached to defined maximum size (%d bytes)\n",
++                         __func__, (long long int)st.st_size, dlt_user.filesize_max);
+                 return DLT_RETURN_FILESZERR;
+             }
+             else {
+diff --git a/src/shared/dlt_common.c b/src/shared/dlt_common.c
+index 6ad354b..aa0aaaa 100644
+--- a/src/shared/dlt_common.c
++++ b/src/shared/dlt_common.c
+@@ -1220,7 +1220,7 @@ DltReturnValue dlt_message_header_flags_v2(DltMessageV2 *msg, char *text, size_t
+             for (int i = 0; i<5; ++i){
+                 tt = (tt << 8) | msg->headerextrav2.seconds[i];
+             }
+-            snprintf(text + strlen(text), textlength - strlen(text), "%ld.%.9u ", tt, msg->headerextrav2.nanoseconds);
++            snprintf(text + strlen(text), textlength - strlen(text), "%lld.%.9u ", (long long int)tt, msg->headerextrav2.nanoseconds);
+         }
+         else
+             snprintf(text + strlen(text), textlength - strlen(text), "---------- ");
+diff --git a/src/shared/dlt_multiple_files.c b/src/shared/dlt_multiple_files.c
+index c4019e5..65529ff 100644
+--- a/src/shared/dlt_multiple_files.c
++++ b/src/shared/dlt_multiple_files.c
+@@ -257,7 +257,7 @@ ssize_t multiple_files_buffer_get_total_size(const MultipleFilesRingBuffer *file
+             if (((unsigned int)res < sizeof(filename)) && (res > 0)) {
+                 errno = 0;
+                 if (0 == stat(filename, &status))
+-                    size += status.st_size;
++                    size += (ssize_t)status.st_size;
+                 else
+                     fprintf(stderr, "file %s cannot be stat-ed, error=%s\n", filename, strerror(errno));
+             }
+diff --git a/src/tests/dlt-test-multi-process-client-v2.c b/src/tests/dlt-test-multi-process-client-v2.c
+index 2bb1158..ec99720 100644
+--- a/src/tests/dlt-test-multi-process-client-v2.c
++++ b/src/tests/dlt-test-multi-process-client-v2.c
+@@ -299,10 +299,10 @@ void print_stats(s_statistics stats, s_parameters params)
+     printf(" Messages received             : %d\n", stats.messages_received);
+     printf(" Broken messages received      : %d\n", stats.broken_messages_received);
+     printf(" Bytes received                : %d\n", stats.bytes_received);
+-    printf(" Time running (seconds)        : %ld\n", time(NULL) - stats.first_message_time);
+-    printf(" Throughput (msgs/sec)/(B/sec) : %ld/%ld\n",
+-           stats.messages_received / ((time(NULL) - stats.first_message_time) + 1),
+-           (stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1));
++    printf(" Time running (seconds)        : %lld\n", (long long int)(time(NULL) - stats.first_message_time));
++    printf(" Throughput (msgs/sec)/(B/sec) : %lld/%lld\n",
++           (long long int)(stats.messages_received / ((time(NULL) - stats.first_message_time) + 1)),
++           (long long int)((stats.bytes_received) / ((time(NULL) - stats.first_message_time) + 1)));
+ 
+     if (params.messages_left == 0) {
+         if (stats.broken_messages_received == 0)
+diff --git a/src/tests/dlt-test-multi-process-v2.c b/src/tests/dlt-test-multi-process-v2.c
+index 44a8622..1d3a54a 100644
+--- a/src/tests/dlt-test-multi-process-v2.c
++++ b/src/tests/dlt-test-multi-process-v2.c
+@@ -393,7 +393,7 @@ void *do_logging(void *arg)
+ 
+         sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge);
+         ts.tv_sec = sleep_time / 1000000000;
+-        ts.tv_nsec = sleep_time % 1000000000;
++        ts.tv_nsec = (long int)(sleep_time % 1000000000);
+         nanosleep(&ts, NULL);
+     }
+ 
+diff --git a/src/tests/dlt-test-multi-process.c b/src/tests/dlt-test-multi-process.c
+index 016c8b4..00fb11c 100644
+--- a/src/tests/dlt-test-multi-process.c
++++ b/src/tests/dlt-test-multi-process.c
+@@ -370,7 +370,7 @@ void *do_logging(void *arg)
+ 
+         sleep_time = mksleep_time(data->params.delay, data->params.delay_fudge);
+         ts.tv_sec = sleep_time / 1000000000;
+-        ts.tv_nsec = sleep_time % 1000000000;
++        ts.tv_nsec = (long int)(sleep_time % 1000000000);
+         nanosleep(&ts, NULL);
+     }
+ 
+-- 
+2.34.1
+
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
new file mode 100644
index 0000000000..f9692d9f4d
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-compile-failure-related-to-gzlog.patch
@@ -0,0 +1,69 @@ 
+From bee9bce043c72de1d27a4251333ace9fe66bcc74 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 12 Mar 2026 19:37:11 +0800
+Subject: [PATCH] Fix compile failure related to gzlog
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* In commit [1], gzlog is changed from gzFile to gzFile*, this cause
+  failure:
+/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:88:21: error: passing argument 1 of ‘gzclose’ from incompatible pointer type [-Werror=incompatible-pointer-types]
+   88 |         gzclose(data->gzlog);
+      |                 ~~~~^~~~~~~
+      |                     |
+      |                     struct gzFile_s **
+compilation terminated due to -Wfatal-errors.
+
+so change gzlog back to gzFile, so that all the gzxxx function can work
+well.
+
+* Change to gzFile causes the following failure, since fileno need
+  FILE*, according to code "config->gzlog = gzdopen(config->fd, mode)",
+  seems we don't need to use fileno, just use config->fd is ok.
+/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage_behavior.c:1133:48: error: passing argument 1 of ‘fileno’ from incompatible pointer type [-Werror=incompatible-pointer-types]
+ 1133 |                         if (fsync(fileno(config->gzlog)) != 0) {
+      |                                          ~~~~~~^~~~~~~
+      |                                                |
+      |                                                gzFile {aka struct gzFile_s *}
+compilation terminated due to -Wfatal-errors.
+
+[1] https://github.com/COVESA/dlt-daemon/commit/543087ba98c103dc576edadeccf614c9dab1b9b3
+
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/offlinelogstorage/dlt_offline_logstorage.h          | 2 +-
+ src/offlinelogstorage/dlt_offline_logstorage_behavior.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h
+index fe38687..09ea5ce 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage.h
++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
+@@ -217,7 +217,7 @@ struct DltLogStorageFilterConfig
+     FILE *log;                      /* current open log file */
+     int fd;                         /* The file descriptor for the active log file */
+ #ifdef DLT_LOGSTORAGE_USE_GZIP
+-    gzFile *gzlog;                  /* current open gz log file */
++    gzFile gzlog;                   /* current open gz log file */
+ #endif
+     void *cache;                    /* log data cache */
+     unsigned int specific_size;     /* cache size used for specific_size sync strategy */
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+index f17fbb2..ff09c9e 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+@@ -1130,7 +1130,7 @@ int dlt_logstorage_prepare_on_msg(DltLogStorageFilterConfig *config,
+                     (config->sync == DLT_LOGSTORAGE_SYNC_UNSET)) {
+ #ifdef DLT_LOGSTORAGE_USE_GZIP
+                     if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
+-                        if (fsync(fileno(config->gzlog)) != 0) {
++                        if (fsync(config->fd) != 0) {
+                             if (errno != ENOSYS) {
+                                 dlt_vlog(LOG_ERR, "%s: failed to sync gzip log file\n", __func__);
+                             }
+-- 
+2.34.1
+
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
new file mode 100644
index 0000000000..403d1089e2
--- /dev/null
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-kinds-of-build-failure.patch
@@ -0,0 +1,174 @@ 
+From 3d713358fe19ce02e7c580d26222ec2386c94bc9 Mon Sep 17 00:00:00 2001
+From: Changqing Li <changqing.li@windriver.com>
+Date: Thu, 12 Mar 2026 20:06:34 +0800
+Subject: [PATCH] Fix kinds of build failure
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fix kinds of build failures caused by -Werror=sign-conversion,
+-Werror=cast-qual, -Werror=conversion etc.
+Eg:
+src/offlinelogstorage/dlt_offline_logstorage.h:129:49: error: unsigned conversion from ‘int’ to ‘unsigned int’ changes value from ‘-1’ to ‘4294967295’ [-Werror=sign-conversion]
+  129 | #define DLT_LOGSTORAGE_GZIP_ERROR               -1 /* error case */
+      |                                                 ^
+/dlt-daemon/src/offlinelogstorage/dlt_offline_logstorage.c:1303:36: note: in expansion of macro ‘DLT_LOGSTORAGE_GZIP_ERROR’
+ 1303 |         config->gzip_compression = DLT_LOGSTORAGE_GZIP_ERROR;
+
+      |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~
+
+src/offlinelogstorage/dlt_offline_logstorage_behavior.c:851:16: error: conversion from ‘z_size_t’ {aka ‘long unsigned int’} to ‘int’ may change value [-Werror=conversion]
+  851 |         return gzfwrite(ptr, size, nmemb, config->gzlog);
+      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+src/console/dlt-control-common.c:922:25: error: cast discards 'const' qualifier from pointer target type [-Werror=cast-qual]
+  922 |     json_object_to_file((char*)filename, json_filter_obj);
+      |
+
+Use explicit type conversion to make the build can pass
+
+Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/826]
+
+Signed-off-by: Changqing Li <changqing.li@windriver.com>
+---
+ src/console/dlt-control-common.c                       |  2 +-
+ src/daemon/dlt-daemon.c                                |  4 ++--
+ src/daemon/udp_connection/dlt_daemon_udp_socket.c      | 10 +++++-----
+ src/examples/dlt-example-multicast-clientmsg-view.c    |  8 ++++----
+ src/offlinelogstorage/dlt_offline_logstorage.h         |  2 +-
+ .../dlt_offline_logstorage_behavior.c                  |  4 ++--
+ 6 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/src/console/dlt-control-common.c b/src/console/dlt-control-common.c
+index 2aeea280..4f9e95b4 100644
+--- a/src/console/dlt-control-common.c
++++ b/src/console/dlt-control-common.c
+@@ -919,7 +919,7 @@ DltReturnValue dlt_json_filter_save(DltFilter *filter, const char *filename, int
+     }
+ 
+     printf("Saving current filter into '%s'\n", filename);
+-    json_object_to_file((char*)filename, json_filter_obj);
++    json_object_to_file(filename, json_filter_obj);
+ 
+     return DLT_RETURN_OK;
+ }
+diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
+index 97af1cd9..94024eb4 100644
+--- a/src/daemon/dlt-daemon.c
++++ b/src/daemon/dlt-daemon.c
+@@ -867,7 +867,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
+ 
+                         if ((longval == MULTICAST_CONNECTION_DISABLED)
+                             || (longval == MULTICAST_CONNECTION_ENABLED)) {
+-                            daemon_local->UDPConnectionSetup = longval;
++                            daemon_local->UDPConnectionSetup = (int)longval;
+                             printf("Option: %s=%s\n", token, value);
+                         }
+                         else {
+@@ -884,7 +884,7 @@ int option_file_parser(DltDaemonLocal *daemon_local)
+                     }
+                     else if (strcmp(token, "UDPMulticastIPPort") == 0)
+                     {
+-                        daemon_local->UDPMulticastIPPort = strtol(value, NULL, 10);
++                        daemon_local->UDPMulticastIPPort = (int)strtol(value, NULL, 10);
+                     }
+ #endif
+                     else if (strcmp(token, "BindAddress") == 0)
+diff --git a/src/daemon/udp_connection/dlt_daemon_udp_socket.c b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
+index 4c40cda8..b3408773 100644
+--- a/src/daemon/udp_connection/dlt_daemon_udp_socket.c
++++ b/src/daemon/udp_connection/dlt_daemon_udp_socket.c
+@@ -66,7 +66,7 @@ void dlt_daemon_udp_setmulticast_addr(DltDaemonLocal *daemon_local)
+     struct sockaddr_in clientaddr;
+     clientaddr.sin_family = AF_INET;
+     inet_pton(AF_INET, daemon_local->UDPMulticastIPAddress, &clientaddr.sin_addr);
+-    clientaddr.sin_port = htons(daemon_local->UDPMulticastIPPort);
++    clientaddr.sin_port = htons((uint16_t)daemon_local->UDPMulticastIPPort);
+     memcpy(&g_udpmulticast_addr.clientaddr, &clientaddr, sizeof(struct sockaddr_in));
+     g_udpmulticast_addr.clientaddr_size = sizeof(g_udpmulticast_addr.clientaddr);
+     g_udpmulticast_addr.isvalidflag = ADDRESS_VALID;
+@@ -224,17 +224,17 @@ void dlt_daemon_udp_clientmsg_send(DltDaemonClientSockInfo *clientinfo,
+ 
+     if ((clientinfo->isvalidflag == ADDRESS_VALID) &&
+         (size1 > 0) && (size2 > 0)) {
+-        void *data = (void *)calloc(size1 + size2, sizeof(char));
++        void *data = (void *)calloc((size_t)(size1 + size2), sizeof(char));
+ 
+         if (data == NULL) {
+             dlt_vlog(LOG_ERR, "%s: calloc failure\n", __func__);
+             return;
+         }
+ 
+-        memcpy(data, data1, size1);
+-        memcpy(data + size1, data2, size2);
++        memcpy(data, data1, (size_t)size1);
++        memcpy((int*)data + size1, data2, (size_t)size2);
+ 
+-        if (sendto(g_udp_sock_fd, data, size1 + size2, 0, (struct sockaddr *)&clientinfo->clientaddr,
++        if (sendto(g_udp_sock_fd, data, (size_t)(size1 + size2), 0, (struct sockaddr *)&clientinfo->clientaddr,
+                    clientinfo->clientaddr_size) < 0)
+             dlt_vlog(LOG_ERR, "%s: Send UDP Packet Data failed\n", __func__);
+ 
+diff --git a/src/examples/dlt-example-multicast-clientmsg-view.c b/src/examples/dlt-example-multicast-clientmsg-view.c
+index c00537e5..f8920453 100644
+--- a/src/examples/dlt-example-multicast-clientmsg-view.c
++++ b/src/examples/dlt-example-multicast-clientmsg-view.c
+@@ -74,9 +74,9 @@ int dlt_receiver_receive_socket_udp(struct clientinfostruct *clientinfo, DltRece
+     /* wait for data from socket */
+     unsigned int addrlen = sizeof(clientinfo->addr);
+ 
+-    if ((receiver->bytesRcvd = recvfrom(clientinfo->fd,
++    if ((receiver->bytesRcvd = (int32_t)recvfrom(clientinfo->fd,
+                                         receiver->buf + receiver->lastBytesRcvd,
+-                                        receiver->buffersize - receiver->lastBytesRcvd,
++                                        (size_t)(receiver->buffersize - receiver->lastBytesRcvd),
+                                         0,
+                                         (struct sockaddr *)&(clientinfo->addr), &addrlen))
+         <= 0) {
+@@ -177,11 +177,11 @@ int main()
+         dlt_receiver_receive_socket_udp(&clientinfo, &(clientinfo.receiver));
+ 
+         while (dlt_message_read(&msg, (unsigned char *)(clientinfo.receiver.buf),
+-                                clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) {
++                                (unsigned int)clientinfo.receiver.bytesRcvd, 0, 0) == DLT_MESSAGE_ERROR_OK) {
+             dlt_receive_message_callback_udp(&msg);
+ 
+             if (dlt_receiver_remove(&(clientinfo.receiver),
+-                                    msg.headersize + msg.datasize - sizeof(DltStorageHeader))
++                                    msg.headersize + msg.datasize - ((int32_t)(sizeof(DltStorageHeader))))
+                 == DLT_RETURN_ERROR) {
+                 /* Return value ignored */
+                 dlt_message_free(&msg, 0);
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage.h b/src/offlinelogstorage/dlt_offline_logstorage.h
+index 09ea5ce4..cfb70f33 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage.h
++++ b/src/offlinelogstorage/dlt_offline_logstorage.h
+@@ -192,7 +192,7 @@ struct DltLogStorageFilterConfig
+     int overwrite;                  /* Overwrite strategy */
+     int skip;                       /* Flag to skip file logging if DISCARD_NEW */
+     char *ecuid;                    /* ECU identifier */
+-    unsigned int gzip_compression;  /* Toggle if log files should be gzip compressed */
++    int gzip_compression;           /* Toggle if log files should be gzip compressed */
+     /* callback function for filter configurations */
+     int (*dlt_logstorage_prepare)(DltLogStorageFilterConfig *config,
+                                   DltLogStorageUserConfig *file_config,
+diff --git a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+index ff09c9eb..ae8f4442 100644
+--- a/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
++++ b/src/offlinelogstorage/dlt_offline_logstorage_behavior.c
+@@ -848,10 +848,10 @@ DLT_STATIC int dlt_logstorage_write_to_log(void *ptr, size_t size, size_t nmemb,
+ {
+ #ifdef DLT_LOGSTORAGE_USE_GZIP
+     if (config->gzip_compression == DLT_LOGSTORAGE_GZIP_ON) {
+-        return gzfwrite(ptr, size, nmemb, config->gzlog);
++        return (int)gzfwrite(ptr, size, nmemb, config->gzlog);
+     }
+     else {
+-        return fwrite(ptr, size, nmemb, config->log);
++        return (int)fwrite(ptr, size, nmemb, config->log);
+     }
+ #else
+     return (int)fwrite(ptr, size, nmemb, config->log);
+-- 
+2.34.1
+
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
deleted file mode 100644
index ac5fec5684..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/0003-allow-build-with-cmake-4.patch
+++ /dev/null
@@ -1,99 +0,0 @@ 
-From ae23f2cccc169874d89903cad24bf36e19bef659 Mon Sep 17 00:00:00 2001
-From: Alper Ak <alperyasinak1@gmail.com>
-Date: Wed, 9 Jul 2025 18:18:33 +0300
-Subject: [PATCH] cmake: Set minimum required version to 3.5 for CMake 4+
- compatibility
-
-Fix:
-
-| CMake Error at CMakeLists.txt:17 (cmake_minimum_required):
-|   Compatibility with CMake < 3.5 has been removed from CMake.
-|
-|   Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
-|   to tell CMake that the project requires at least <min> but has been updated
-|   to work with policies introduced by <max> or earlier.
-|
-|   Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
-|
-|
-| -- Configuring incomplete, errors occurred!
-
-Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/755]
-
-Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
----
- CMakeLists.txt                   | 2 +-
- examples/example1/CMakeLists.txt | 2 +-
- examples/example2/CMakeLists.txt | 2 +-
- examples/example3/CMakeLists.txt | 2 +-
- examples/example4/CMakeLists.txt | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 94185b8..2a0f619 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -14,7 +14,7 @@
- #######
- 
- # Set minimum Cmake version and setup policy behavior
--cmake_minimum_required(VERSION 3.3)
-+cmake_minimum_required(VERSION 3.5)
- 
- if(${CMAKE_VERSION} VERSION_GREATER "3.20" OR ${CMAKE_VERSION} VERSION_EQUAL "3.20")
-     cmake_policy(SET CMP0115 OLD)
-diff --git a/examples/example1/CMakeLists.txt b/examples/example1/CMakeLists.txt
-index 60644a1..44cd053 100644
---- a/examples/example1/CMakeLists.txt
-+++ b/examples/example1/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
- 
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example1 )
- 
- #
-diff --git a/examples/example2/CMakeLists.txt b/examples/example2/CMakeLists.txt
-index 66a4f24..a8efbcf 100644
---- a/examples/example2/CMakeLists.txt
-+++ b/examples/example2/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
- 
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example2 )
- 
- #
-diff --git a/examples/example3/CMakeLists.txt b/examples/example3/CMakeLists.txt
-index 45b7467..4d4958d 100644
---- a/examples/example3/CMakeLists.txt
-+++ b/examples/example3/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
- 
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example3 )
- 
- #
-diff --git a/examples/example4/CMakeLists.txt b/examples/example4/CMakeLists.txt
-index 53a4fad..161c333 100644
---- a/examples/example4/CMakeLists.txt
-+++ b/examples/example4/CMakeLists.txt
-@@ -17,7 +17,7 @@
- # DLT example implementation
- #
- 
--cmake_minimum_required( VERSION 2.6 )
-+cmake_minimum_required( VERSION 3.5 )
- project( automotive-dlt-example4 )
- 
- #
--- 
-2.43.0
-
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
deleted file mode 100644
index 3699b8c83a..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/544.patch
+++ /dev/null
@@ -1,80 +0,0 @@ 
-Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/544]
-
-From 8121a979026d5fcb05bd4e5d3a0647f321b56106 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Thu, 28 Sep 2023 12:54:23 +0200
-Subject: [PATCH] Add common dlt_cdh_cpuinfo.c to unblock build on non amd64
- and i386 arcs
-
----
- src/core_dump_handler/dlt_cdh.h         |  2 ++
- src/core_dump_handler/dlt_cdh_cpuinfo.c | 33 +++++++++++++++++++++++++
- src/core_dump_handler/dlt_cdh_crashid.c |  2 +-
- 3 files changed, 36 insertions(+), 1 deletion(-)
- create mode 100644 src/core_dump_handler/dlt_cdh_cpuinfo.c
-
-diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
-index d572ecf3..8608c6c4 100644
---- a/src/core_dump_handler/dlt_cdh.h
-+++ b/src/core_dump_handler/dlt_cdh.h
-@@ -55,6 +55,8 @@ typedef struct
-     uint64_t pc;
-     uint64_t ip;
-     uint64_t lr;
-+    uint64_t sp;
-+    uint64_t fp;
- 
- } cdh_registers_t;
- 
-diff --git a/src/core_dump_handler/dlt_cdh_cpuinfo.c b/src/core_dump_handler/dlt_cdh_cpuinfo.c
-new file mode 100644
-index 00000000..03509fda
---- /dev/null
-+++ b/src/core_dump_handler/dlt_cdh_cpuinfo.c
-@@ -0,0 +1,33 @@
-+/*
-+ * SPDX license identifier: MPL-2.0
-+ *
-+ * Copyright (C) 2011-2015, BMW AG
-+ *
-+ * This file is part of COVESA Project DLT - Diagnostic Log and Trace.
-+ *
-+ * This Source Code Form is subject to the terms of the
-+ * Mozilla Public License (MPL), v. 2.0.
-+ * If a copy of the MPL was not distributed with this file,
-+ * You can obtain one at http://mozilla.org/MPL/2.0/.
-+ *
-+ * For further information see http://www.covesa.org/.
-+ */
-+
-+/*!
-+ * \author Gianfranco Costamagna <locutusofborg@debian.org>
-+ *
-+ * \copyright Copyright © 2011-2015 BMW AG. \n
-+ * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
-+ *
-+ * \file dlt_cdh_cpuinfo.c
-+ */
-+
-+#include "dlt_cdh_cpuinfo.h"
-+
-+void get_registers(prstatus_t *prstatus, cdh_registers_t *registers)
-+{
-+/*    struct user_regs_struct *ptr_reg = (struct user_regs_struct *)prstatus->pr_reg;
-+
-+    registers->pc = ptr_reg->pc;*/ /* [REG_PROC_COUNTER]; */
-+
-+}
-diff --git a/src/core_dump_handler/dlt_cdh_crashid.c b/src/core_dump_handler/dlt_cdh_crashid.c
-index bca44e0e..8dd98d70 100644
---- a/src/core_dump_handler/dlt_cdh_crashid.c
-+++ b/src/core_dump_handler/dlt_cdh_crashid.c
-@@ -30,7 +30,7 @@
- #include <stdio.h>
- #include <string.h>
- #include <errno.h>
--#include <asm/prctl.h>
-+#include <sys/prctl.h>
- #include <inttypes.h>
- 
- #include "dlt_cdh.h"
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
deleted file mode 100644
index fd36480456..0000000000
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon/567.patch
+++ /dev/null
@@ -1,36 +0,0 @@ 
-Upstream-Status: Submitted [https://github.com/COVESA/dlt-daemon/pull/567]
-
-From c84e48f6986054cf8b9459e608235b7bd1635746 Mon Sep 17 00:00:00 2001
-From: Gianfranco Costamagna <costamagnagianfranco@yahoo.it>
-Date: Mon, 13 Nov 2023 12:37:23 +0100
-Subject: [PATCH] dlt_cdh:
-
-Make sure on 64 bit we read an ELF64 structure.
-Otherwise we get a read error, and the context file is missing some good
-to know information
----
- src/core_dump_handler/dlt_cdh.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/core_dump_handler/dlt_cdh.h b/src/core_dump_handler/dlt_cdh.h
-index 8608c6c4..3dac480a 100644
---- a/src/core_dump_handler/dlt_cdh.h
-+++ b/src/core_dump_handler/dlt_cdh.h
-@@ -45,10 +45,17 @@
- #define CORE_FILE_PATTERN           "%s/core.%d.%s.%d.gz"
- #define CONTEXT_FILE_PATTERN        "%s/context.%d.%s.%d.txt"
- 
-+#if ((__SIZEOF_POINTER) == 4)
- #define ELF_Ehdr    Elf32_Ehdr
- #define ELF_Phdr    Elf32_Phdr
- #define ELF_Shdr    Elf32_Shdr
- #define ELF_Nhdr    Elf32_Nhdr
-+#else
-+#define ELF_Ehdr    Elf64_Ehdr
-+#define ELF_Phdr    Elf64_Phdr
-+#define ELF_Shdr    Elf64_Shdr
-+#define ELF_Nhdr    Elf64_Nhdr
-+#endif
- 
- typedef struct
- {
diff --git a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
similarity index 91%
rename from meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
rename to meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
index 82edde6c9d..838a619a42 100644
--- a/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_2.18.10.bb
+++ b/meta-oe/recipes-extended/dlt-daemon/dlt-daemon_3.0.0.bb
@@ -17,12 +17,11 @@  DEPENDS = "zlib gzip-native json-c"
 SRC_URI = "git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
            file://0002-Don-t-execute-processes-as-a-specific-user.patch \
            file://0004-Modify-systemd-config-directory.patch \
-           file://544.patch \
-           file://567.patch \
-           file://0001-CMakeLists-txt-make-DLT_WatchdogSec-can-be-set-by-user.patch \
-           file://0003-allow-build-with-cmake-4.patch \
+           file://0001-Fix-compile-failure-related-to-gzlog.patch \
+           file://0001-Fix-kinds-of-build-failure.patch \
+           file://0001-Fix-build-failures.patch \
            "
-SRCREV = "0f2d4cfffada6f8448a2cb27995b38eb4271044f"
+SRCREV = "f595ea29d1007ca1c3b2d1fd3a88adf7d3db6320"
 
 
 PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' systemd systemd-watchdog systemd-journal ', '', d)} \
@@ -71,4 +70,5 @@  FILES:${PN}-doc += "${datadir}/dlt-filetransfer"
 
 do_install:append() {
     rm -f ${D}${bindir}/dlt-test-*
+    sed -i -e 's:${RECIPE_SYSROOT}::g' ${D}/usr/lib/pkgconfig/automotive-dlt.pc
 }