diff mbox series

[meta-networking] ot-br-posix: Fix Musl build error

Message ID 20241203054957.1925390-1-deepan.shivap@lge.com
State Accepted
Headers show
Series [meta-networking] ot-br-posix: Fix Musl build error | expand

Commit Message

deepan.shivap@lge.com Dec. 3, 2024, 5:49 a.m. UTC
From: "deepan.shivap" <deepan.shivap@lge.com>

Mistakenly removed musl-fixes.patch in previous commit.

update & Include 0001-Musl-build-fix.patch based on latest upstream of ot-br-posix

Remove CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare
-Wno-error=unused-but-set-variable", as issue is not reproducible with
current SRCREV of ot-br-posix.

Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
---
 .../ot-br-posix/0001-Musl-build-fix.patch     | 27 +++++++++++++++++++
 .../openthread/ot-br-posix_git.bb             |  4 +--
 2 files changed, 28 insertions(+), 3 deletions(-)
 create mode 100644 meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch

Comments

Khem Raj Dec. 5, 2024, 4:54 p.m. UTC | #1
On Mon, Dec 2, 2024 at 9:50 PM deepan.shivap via
lists.openembedded.org <deepan.shivap=lge.com@lists.openembedded.org>
wrote:
>
> From: "deepan.shivap" <deepan.shivap@lge.com>
>
> Mistakenly removed musl-fixes.patch in previous commit.
>
> update & Include 0001-Musl-build-fix.patch based on latest upstream of ot-br-posix
>
> Remove CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare
> -Wno-error=unused-but-set-variable", as issue is not reproducible with
> current SRCREV of ot-br-posix.
>
> Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> ---
>  .../ot-br-posix/0001-Musl-build-fix.patch     | 27 +++++++++++++++++++
>  .../openthread/ot-br-posix_git.bb             |  4 +--
>  2 files changed, 28 insertions(+), 3 deletions(-)
>  create mode 100644 meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
>
> diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> new file mode 100644
> index 000000000..108ed76b3
> --- /dev/null
> +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> @@ -0,0 +1,27 @@
> +From 502aa4ab4bbc790fb2999ff2b5f10dabd7085190 Mon Sep 17 00:00:00 2001
> +From: "deepan.shivap" <deepan.shivap@lge.com>
> +Date: Mon, 2 Dec 2024 23:12:17 +0900
> +Subject: [PATCH] Musl build fix
> +
> +usage of getaddrinfo_a creates dependency on libanl, which is  specific
> +to glibc.
> +
> +Upstream-Status: Pending
> +Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> +---
> + src/posix/platform/CMakeLists.txt | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/posix/platform/CMakeLists.txt b/src/posix/platform/CMakeLists.txt
> +index b4ac241f5..7b2028e45 100644
> +--- a/src/posix/platform/CMakeLists.txt
> ++++ b/src/posix/platform/CMakeLists.txt
> +@@ -175,7 +175,7 @@ target_link_libraries(openthread-posix
> + )
> +
> + option(OT_TARGET_OPENWRT "enable openthread posix for OpenWRT" OFF)
> +-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT)
> ++if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT AND NOT OT_TARGET_MUSL)
> +     target_compile_definitions(ot-posix-config
> +         INTERFACE "OPENTHREAD_POSIX_CONFIG_NAT64_AIL_PREFIX_ENABLE=1"
> +     )
> diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> index 8183f5203..f4c193a8e 100644
> --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> @@ -19,15 +19,13 @@ SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=m
>             file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
>             file://default-cxx-std.patch \
>             file://0001-fix-build-on-GCC-14-for-yocto.patch;patchdir=third_party/openthread/repo \
> +           file://0001-Musl-build-fix.patch;patchdir=third_party/openthread/repo \
>             "
>
>  S = "${WORKDIR}/git"
>  SYSTEMD_SERVICE:${PN} = "otbr-agent.service"
>
>  inherit pkgconfig cmake systemd
> -# openthread/repo/src/cli/cli.cpp:1786:18: fatal error: variable 'i' set but not used [-Wunused-but-set-variable]
> -#    for (uint8_t i = 0;; i++)
> -CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare -Wno-error=unused-but-set-variable"
>

While this fixes one problem it exposes another error seen in couple of places

| /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/git/src/backbone_router/nd_proxy.cpp:187:67:
fatal error: comparison of integers of
   ↪ different signs: 'unsigned long' and 'int' [-Wsign-compare]
   |   187 |         for (cmsghdr = CMSG_FIRSTHDR(&msghdr); cmsghdr;
cmsghdr = CMSG_NXTHDR(&msghdr, cmsghdr))
   |       |
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   | /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/recipe-sysroot/usr/include/sys/socket.h:358:44:
note: expanded from macro 'CMSG_NXTHDR'
   ↪
   |   358 |         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >=
__MHDR_END(mhdr) - (unsigned char *)(cmsg) \
   |       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   | 1 error generated.



>  LDFLAGS:append:riscv32 = " -latomic"
>
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#114179): https://lists.openembedded.org/g/openembedded-devel/message/114179
> Mute This Topic: https://lists.openembedded.org/mt/109895644/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Martin Jansa Dec. 5, 2024, 4:59 p.m. UTC | #2
I've asked to deepan to test it with musl, but not with musl+clang, so
the CXXFLAGS:append:libc-musl:toolchain-clang line in the recipe is
still needed (at least for the sign-compare, maybe both).

Deepan please send v2.

On Thu, Dec 5, 2024 at 5:55 PM Khem Raj via lists.openembedded.org
<raj.khem=gmail.com@lists.openembedded.org> wrote:
>
> On Mon, Dec 2, 2024 at 9:50 PM deepan.shivap via
> lists.openembedded.org <deepan.shivap=lge.com@lists.openembedded.org>
> wrote:
> >
> > From: "deepan.shivap" <deepan.shivap@lge.com>
> >
> > Mistakenly removed musl-fixes.patch in previous commit.
> >
> > update & Include 0001-Musl-build-fix.patch based on latest upstream of ot-br-posix
> >
> > Remove CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare
> > -Wno-error=unused-but-set-variable", as issue is not reproducible with
> > current SRCREV of ot-br-posix.
> >
> > Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> > ---
> >  .../ot-br-posix/0001-Musl-build-fix.patch     | 27 +++++++++++++++++++
> >  .../openthread/ot-br-posix_git.bb             |  4 +--
> >  2 files changed, 28 insertions(+), 3 deletions(-)
> >  create mode 100644 meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> >
> > diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > new file mode 100644
> > index 000000000..108ed76b3
> > --- /dev/null
> > +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > @@ -0,0 +1,27 @@
> > +From 502aa4ab4bbc790fb2999ff2b5f10dabd7085190 Mon Sep 17 00:00:00 2001
> > +From: "deepan.shivap" <deepan.shivap@lge.com>
> > +Date: Mon, 2 Dec 2024 23:12:17 +0900
> > +Subject: [PATCH] Musl build fix
> > +
> > +usage of getaddrinfo_a creates dependency on libanl, which is  specific
> > +to glibc.
> > +
> > +Upstream-Status: Pending
> > +Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> > +---
> > + src/posix/platform/CMakeLists.txt | 2 +-
> > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > +
> > +diff --git a/src/posix/platform/CMakeLists.txt b/src/posix/platform/CMakeLists.txt
> > +index b4ac241f5..7b2028e45 100644
> > +--- a/src/posix/platform/CMakeLists.txt
> > ++++ b/src/posix/platform/CMakeLists.txt
> > +@@ -175,7 +175,7 @@ target_link_libraries(openthread-posix
> > + )
> > +
> > + option(OT_TARGET_OPENWRT "enable openthread posix for OpenWRT" OFF)
> > +-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT)
> > ++if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT AND NOT OT_TARGET_MUSL)
> > +     target_compile_definitions(ot-posix-config
> > +         INTERFACE "OPENTHREAD_POSIX_CONFIG_NAT64_AIL_PREFIX_ENABLE=1"
> > +     )
> > diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > index 8183f5203..f4c193a8e 100644
> > --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > @@ -19,15 +19,13 @@ SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=m
> >             file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
> >             file://default-cxx-std.patch \
> >             file://0001-fix-build-on-GCC-14-for-yocto.patch;patchdir=third_party/openthread/repo \
> > +           file://0001-Musl-build-fix.patch;patchdir=third_party/openthread/repo \
> >             "
> >
> >  S = "${WORKDIR}/git"
> >  SYSTEMD_SERVICE:${PN} = "otbr-agent.service"
> >
> >  inherit pkgconfig cmake systemd
> > -# openthread/repo/src/cli/cli.cpp:1786:18: fatal error: variable 'i' set but not used [-Wunused-but-set-variable]
> > -#    for (uint8_t i = 0;; i++)
> > -CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare -Wno-error=unused-but-set-variable"
> >
>
> While this fixes one problem it exposes another error seen in couple of places
>
> | /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/git/src/backbone_router/nd_proxy.cpp:187:67:
> fatal error: comparison of integers of
>    ↪ different signs: 'unsigned long' and 'int' [-Wsign-compare]
>    |   187 |         for (cmsghdr = CMSG_FIRSTHDR(&msghdr); cmsghdr;
> cmsghdr = CMSG_NXTHDR(&msghdr, cmsghdr))
>    |       |
>         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    | /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/recipe-sysroot/usr/include/sys/socket.h:358:44:
> note: expanded from macro 'CMSG_NXTHDR'
>    ↪
>    |   358 |         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >=
> __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
>    |       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    | 1 error generated.
>
>
>
> >  LDFLAGS:append:riscv32 = " -latomic"
> >
> > --
> > 2.34.1
> >
> >
> >
> >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#114208): https://lists.openembedded.org/g/openembedded-devel/message/114208
> Mute This Topic: https://lists.openembedded.org/mt/109895644/3617156
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj Dec. 5, 2024, 5:05 p.m. UTC | #3
On Thu, Dec 5, 2024 at 8:59 AM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> I've asked to deepan to test it with musl, but not with musl+clang, so
> the CXXFLAGS:append:libc-musl:toolchain-clang line in the recipe is
> still needed (at least for the sign-compare, maybe both).
>
> Deepan please send v2.

I think a separate patch is in order since I have accepted v1.
right way to fix might be to initialize  msghdr elements individually see

https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-extended/canopenterm/canopenterm/0001-can_linux-initialize-msghdr-in-a-portable-way.patch

this might be upstreamable as well.

>
> On Thu, Dec 5, 2024 at 5:55 PM Khem Raj via lists.openembedded.org
> <raj.khem=gmail.com@lists.openembedded.org> wrote:
> >
> > On Mon, Dec 2, 2024 at 9:50 PM deepan.shivap via
> > lists.openembedded.org <deepan.shivap=lge.com@lists.openembedded.org>
> > wrote:
> > >
> > > From: "deepan.shivap" <deepan.shivap@lge.com>
> > >
> > > Mistakenly removed musl-fixes.patch in previous commit.
> > >
> > > update & Include 0001-Musl-build-fix.patch based on latest upstream of ot-br-posix
> > >
> > > Remove CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare
> > > -Wno-error=unused-but-set-variable", as issue is not reproducible with
> > > current SRCREV of ot-br-posix.
> > >
> > > Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> > > ---
> > >  .../ot-br-posix/0001-Musl-build-fix.patch     | 27 +++++++++++++++++++
> > >  .../openthread/ot-br-posix_git.bb             |  4 +--
> > >  2 files changed, 28 insertions(+), 3 deletions(-)
> > >  create mode 100644 meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > >
> > > diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > > new file mode 100644
> > > index 000000000..108ed76b3
> > > --- /dev/null
> > > +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > > @@ -0,0 +1,27 @@
> > > +From 502aa4ab4bbc790fb2999ff2b5f10dabd7085190 Mon Sep 17 00:00:00 2001
> > > +From: "deepan.shivap" <deepan.shivap@lge.com>
> > > +Date: Mon, 2 Dec 2024 23:12:17 +0900
> > > +Subject: [PATCH] Musl build fix
> > > +
> > > +usage of getaddrinfo_a creates dependency on libanl, which is  specific
> > > +to glibc.
> > > +
> > > +Upstream-Status: Pending
> > > +Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> > > +---
> > > + src/posix/platform/CMakeLists.txt | 2 +-
> > > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > > +
> > > +diff --git a/src/posix/platform/CMakeLists.txt b/src/posix/platform/CMakeLists.txt
> > > +index b4ac241f5..7b2028e45 100644
> > > +--- a/src/posix/platform/CMakeLists.txt
> > > ++++ b/src/posix/platform/CMakeLists.txt
> > > +@@ -175,7 +175,7 @@ target_link_libraries(openthread-posix
> > > + )
> > > +
> > > + option(OT_TARGET_OPENWRT "enable openthread posix for OpenWRT" OFF)
> > > +-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT)
> > > ++if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT AND NOT OT_TARGET_MUSL)
> > > +     target_compile_definitions(ot-posix-config
> > > +         INTERFACE "OPENTHREAD_POSIX_CONFIG_NAT64_AIL_PREFIX_ENABLE=1"
> > > +     )
> > > diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > > index 8183f5203..f4c193a8e 100644
> > > --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > > +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > > @@ -19,15 +19,13 @@ SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=m
> > >             file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
> > >             file://default-cxx-std.patch \
> > >             file://0001-fix-build-on-GCC-14-for-yocto.patch;patchdir=third_party/openthread/repo \
> > > +           file://0001-Musl-build-fix.patch;patchdir=third_party/openthread/repo \
> > >             "
> > >
> > >  S = "${WORKDIR}/git"
> > >  SYSTEMD_SERVICE:${PN} = "otbr-agent.service"
> > >
> > >  inherit pkgconfig cmake systemd
> > > -# openthread/repo/src/cli/cli.cpp:1786:18: fatal error: variable 'i' set but not used [-Wunused-but-set-variable]
> > > -#    for (uint8_t i = 0;; i++)
> > > -CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare -Wno-error=unused-but-set-variable"
> > >
> >
> > While this fixes one problem it exposes another error seen in couple of places
> >
> > | /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/git/src/backbone_router/nd_proxy.cpp:187:67:
> > fatal error: comparison of integers of
> >    ↪ different signs: 'unsigned long' and 'int' [-Wsign-compare]
> >    |   187 |         for (cmsghdr = CMSG_FIRSTHDR(&msghdr); cmsghdr;
> > cmsghdr = CMSG_NXTHDR(&msghdr, cmsghdr))
> >    |       |
> >         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >    | /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/recipe-sysroot/usr/include/sys/socket.h:358:44:
> > note: expanded from macro 'CMSG_NXTHDR'
> >    ↪
> >    |   358 |         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >=
> > __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
> >    |       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >    | 1 error generated.
> >
> >
> >
> > >  LDFLAGS:append:riscv32 = " -latomic"
> > >
> > > --
> > > 2.34.1
> > >
> > >
> > >
> > >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#114208): https://lists.openembedded.org/g/openembedded-devel/message/114208
> > Mute This Topic: https://lists.openembedded.org/mt/109895644/3617156
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [martin.jansa@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
Khem Raj Dec. 6, 2024, 1:43 a.m. UTC | #4
On Thu, Dec 5, 2024 at 9:05 AM Khem Raj <raj.khem@gmail.com> wrote:
>
> On Thu, Dec 5, 2024 at 8:59 AM Martin Jansa <martin.jansa@gmail.com> wrote:
> >
> > I've asked to deepan to test it with musl, but not with musl+clang, so
> > the CXXFLAGS:append:libc-musl:toolchain-clang line in the recipe is
> > still needed (at least for the sign-compare, maybe both).
> >
> > Deepan please send v2.
>
> I think a separate patch is in order since I have accepted v1.
> right way to fix might be to initialize  msghdr elements individually see
>
> https://git.openembedded.org/meta-openembedded/tree/meta-oe/recipes-extended/canopenterm/canopenterm/0001-can_linux-initialize-msghdr-in-a-portable-way.patch
>
> this might be upstreamable as well.
>

meanwhile I have staged a fix in meta-clang
https://github.com/kraj/meta-clang/pull/1038

> >
> > On Thu, Dec 5, 2024 at 5:55 PM Khem Raj via lists.openembedded.org
> > <raj.khem=gmail.com@lists.openembedded.org> wrote:
> > >
> > > On Mon, Dec 2, 2024 at 9:50 PM deepan.shivap via
> > > lists.openembedded.org <deepan.shivap=lge.com@lists.openembedded.org>
> > > wrote:
> > > >
> > > > From: "deepan.shivap" <deepan.shivap@lge.com>
> > > >
> > > > Mistakenly removed musl-fixes.patch in previous commit.
> > > >
> > > > update & Include 0001-Musl-build-fix.patch based on latest upstream of ot-br-posix
> > > >
> > > > Remove CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare
> > > > -Wno-error=unused-but-set-variable", as issue is not reproducible with
> > > > current SRCREV of ot-br-posix.
> > > >
> > > > Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> > > > ---
> > > >  .../ot-br-posix/0001-Musl-build-fix.patch     | 27 +++++++++++++++++++
> > > >  .../openthread/ot-br-posix_git.bb             |  4 +--
> > > >  2 files changed, 28 insertions(+), 3 deletions(-)
> > > >  create mode 100644 meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > > >
> > > > diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > > > new file mode 100644
> > > > index 000000000..108ed76b3
> > > > --- /dev/null
> > > > +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
> > > > @@ -0,0 +1,27 @@
> > > > +From 502aa4ab4bbc790fb2999ff2b5f10dabd7085190 Mon Sep 17 00:00:00 2001
> > > > +From: "deepan.shivap" <deepan.shivap@lge.com>
> > > > +Date: Mon, 2 Dec 2024 23:12:17 +0900
> > > > +Subject: [PATCH] Musl build fix
> > > > +
> > > > +usage of getaddrinfo_a creates dependency on libanl, which is  specific
> > > > +to glibc.
> > > > +
> > > > +Upstream-Status: Pending
> > > > +Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
> > > > +---
> > > > + src/posix/platform/CMakeLists.txt | 2 +-
> > > > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > > > +
> > > > +diff --git a/src/posix/platform/CMakeLists.txt b/src/posix/platform/CMakeLists.txt
> > > > +index b4ac241f5..7b2028e45 100644
> > > > +--- a/src/posix/platform/CMakeLists.txt
> > > > ++++ b/src/posix/platform/CMakeLists.txt
> > > > +@@ -175,7 +175,7 @@ target_link_libraries(openthread-posix
> > > > + )
> > > > +
> > > > + option(OT_TARGET_OPENWRT "enable openthread posix for OpenWRT" OFF)
> > > > +-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT)
> > > > ++if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT AND NOT OT_TARGET_MUSL)
> > > > +     target_compile_definitions(ot-posix-config
> > > > +         INTERFACE "OPENTHREAD_POSIX_CONFIG_NAT64_AIL_PREFIX_ENABLE=1"
> > > > +     )
> > > > diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > > > index 8183f5203..f4c193a8e 100644
> > > > --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > > > +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
> > > > @@ -19,15 +19,13 @@ SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=m
> > > >             file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
> > > >             file://default-cxx-std.patch \
> > > >             file://0001-fix-build-on-GCC-14-for-yocto.patch;patchdir=third_party/openthread/repo \
> > > > +           file://0001-Musl-build-fix.patch;patchdir=third_party/openthread/repo \
> > > >             "
> > > >
> > > >  S = "${WORKDIR}/git"
> > > >  SYSTEMD_SERVICE:${PN} = "otbr-agent.service"
> > > >
> > > >  inherit pkgconfig cmake systemd
> > > > -# openthread/repo/src/cli/cli.cpp:1786:18: fatal error: variable 'i' set but not used [-Wunused-but-set-variable]
> > > > -#    for (uint8_t i = 0;; i++)
> > > > -CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare -Wno-error=unused-but-set-variable"
> > > >
> > >
> > > While this fixes one problem it exposes another error seen in couple of places
> > >
> > > | /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/git/src/backbone_router/nd_proxy.cpp:187:67:
> > > fatal error: comparison of integers of
> > >    ↪ different signs: 'unsigned long' and 'int' [-Wsign-compare]
> > >    |   187 |         for (cmsghdr = CMSG_FIRSTHDR(&msghdr); cmsghdr;
> > > cmsghdr = CMSG_NXTHDR(&msghdr, cmsghdr))
> > >    |       |
> > >         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >    | /home/kraj01/yoe/build/tmp/work/riscv32-yoe-linux-musl/ot-br-posix/0.3.0+git/recipe-sysroot/usr/include/sys/socket.h:358:44:
> > > note: expanded from macro 'CMSG_NXTHDR'
> > >    ↪
> > >    |   358 |         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >=
> > > __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
> > >    |       |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > >    | 1 error generated.
> > >
> > >
> > >
> > > >  LDFLAGS:append:riscv32 = " -latomic"
> > > >
> > > > --
> > > > 2.34.1
> > > >
> > > >
> > > >
> > > >
> > >
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > > Links: You receive all messages sent to this group.
> > > View/Reply Online (#114208): https://lists.openembedded.org/g/openembedded-devel/message/114208
> > > Mute This Topic: https://lists.openembedded.org/mt/109895644/3617156
> > > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > > Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [martin.jansa@gmail.com]
> > > -=-=-=-=-=-=-=-=-=-=-=-
> > >
diff mbox series

Patch

diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
new file mode 100644
index 000000000..108ed76b3
--- /dev/null
+++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-Musl-build-fix.patch
@@ -0,0 +1,27 @@ 
+From 502aa4ab4bbc790fb2999ff2b5f10dabd7085190 Mon Sep 17 00:00:00 2001
+From: "deepan.shivap" <deepan.shivap@lge.com>
+Date: Mon, 2 Dec 2024 23:12:17 +0900
+Subject: [PATCH] Musl build fix
+
+usage of getaddrinfo_a creates dependency on libanl, which is  specific
+to glibc.
+
+Upstream-Status: Pending
+Signed-off-by: deepan.shivap <deepan.shivap@lge.com>
+---
+ src/posix/platform/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/posix/platform/CMakeLists.txt b/src/posix/platform/CMakeLists.txt
+index b4ac241f5..7b2028e45 100644
+--- a/src/posix/platform/CMakeLists.txt
++++ b/src/posix/platform/CMakeLists.txt
+@@ -175,7 +175,7 @@ target_link_libraries(openthread-posix
+ )
+ 
+ option(OT_TARGET_OPENWRT "enable openthread posix for OpenWRT" OFF)
+-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT)
++if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT AND NOT OT_TARGET_MUSL)
+     target_compile_definitions(ot-posix-config
+         INTERFACE "OPENTHREAD_POSIX_CONFIG_NAT64_AIL_PREFIX_ENABLE=1"
+     )
diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
index 8183f5203..f4c193a8e 100644
--- a/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
+++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix_git.bb
@@ -19,15 +19,13 @@  SRC_URI = "gitsm://github.com/openthread/ot-br-posix.git;protocol=https;branch=m
            file://0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch \
            file://default-cxx-std.patch \
            file://0001-fix-build-on-GCC-14-for-yocto.patch;patchdir=third_party/openthread/repo \
+           file://0001-Musl-build-fix.patch;patchdir=third_party/openthread/repo \
            "
 
 S = "${WORKDIR}/git"
 SYSTEMD_SERVICE:${PN} = "otbr-agent.service"
 
 inherit pkgconfig cmake systemd
-# openthread/repo/src/cli/cli.cpp:1786:18: fatal error: variable 'i' set but not used [-Wunused-but-set-variable]
-#    for (uint8_t i = 0;; i++)
-CXXFLAGS:append:libc-musl:toolchain-clang = " -Wno-error=sign-compare -Wno-error=unused-but-set-variable"
 
 LDFLAGS:append:riscv32 = " -latomic"