Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Patrick Wicki <patrick.wicki@subset.ch>
To: Niko Mauno <niko.mauno@vaisala.com>, raj.khem@gmail.com
Cc: openembedded-devel@lists.openembedded.org
Subject: Re: [oe] [meta-oe][PATCH v2] fluentbit: fix building with wasm support
Date: Mon, 21 Oct 2024 23:06:40 +0200	[thread overview]
Message-ID: <cbd176e32e63fe8e4351c6374eef55ed44e8ddb5.camel@subset.ch> (raw)
In-Reply-To: <dcd59bb1-3893-4b77-8792-10e13217c3d7@vaisala.com>

You are right. Creating /usr/share/upstart on my build host was enough
to reproduce the issue.

Thanks for spotting (and fixing) this!
I will send a v3 that should apply on top of your patch.

On Mon, 2024-10-21 at 20:00 +0300, Niko Mauno wrote:
> The CMake failure which occurs during fluentbit do_configure, seems
> to be
> 
>    | CMake Error at src/CMakeLists.txt:550 (install):
>    |   install DIRECTORY given unknown argument "/etc/fluent-bit/".
> 
> which occurs inside "upstart" specific segment at
> https://github.com/fluent/fluent-bit/blob/v3.1.9/src/CMakeLists.txt#L550
> 
> I looked to me like the preceding condition on line 543:
> 
>     elseif(IS_DIRECTORY /usr/share/upstart)
> 
> is not cross-compile friendly, and during the failed test, presumably
> the build host happened to have a /usr/share/upstart directory which
> caused the condition being evaluated as true.
> 
> I've now submitted a patch which should mitigate this issue, and also
> fixes potential for similar kind of issue with systemd init manager
> case, when the build host does not have systemd specific
> /lib/systemd/system directory.
> 
> -Niko
> 
> On 21.10.2024 15.29, Patrick Wicki via lists.openembedded.org wrote:
> > I've been unable to reproduce this failure on my end unfortunately.
> > In
> > my understanding, the contents of the patched file should not even
> > affect the build at all unless the "wasm" PACKAGECONFIG is enabled,
> > which is not the case by default.
> > 
> > I'm open to suggestions. Otherwise, I think we can skip this patch
> > and
> > wait for upstream to update the WASM runtime, which should fix it
> > too.
> > 
> > On Thu, 2024-10-17 at 11:54 -0700, Khem Raj via
> > lists.openembedded.org
> > wrote:
> > > it fails in configure -
> > > https://valkyrie.yoctoproject.org/#/builders/81/builds/66/steps/14/logs/stdio
> > > 
> > > On Thu, Oct 17, 2024 at 12:09 AM Patrick Wicki via
> > > lists.openembedded.org
> > > <patrick.wicki=subset.ch@lists.openembedded.org> wrote:
> > > > 
> > > > From: Patrick Wicki <patrick.wicki@siemens.com>
> > > > 
> > > > Add patch for the wasm runtime that fixes building for x86.
> > > > 
> > > > Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
> > > > ---
> > > >   ...d-cmake-try_run-when-cross-compiling.patch | 42
> > > > +++++++++++++++++++
> > > >   .../fluentbit/fluentbit_3.1.9.bb              |  1 +
> > > >   2 files changed, 43 insertions(+)
> > > >   create mode 100644 meta-oe/recipes-
> > > > extended/fluentbit/fluentbit/0002-wasm-avoid-cmake-try_run-
> > > > when-
> > > > cross-compiling.patch
> > > > 
> > > > diff --git a/meta-oe/recipes-extended/fluentbit/fluentbit/0002-
> > > > wasm-avoid-cmake-try_run-when-cross-compiling.patch b/meta-
> > > > oe/recipes-extended/fluentbit/fluentbit/0002-wasm-avoid-cmake-
> > > > try_run-when-cross-compiling.patch
> > > > new file mode 100644
> > > > index 000000000..419e85903
> > > > --- /dev/null
> > > > +++ b/meta-oe/recipes-extended/fluentbit/fluentbit/0002-wasm-
> > > > avoid-
> > > > cmake-try_run-when-cross-compiling.patch
> > > > @@ -0,0 +1,42 @@
> > > > +From 5b6d274664f92a6c6083f4d27a1b1604a326f22c Mon Sep 17
> > > > 00:00:00
> > > > 2001
> > > > +From: Patrick Wicki <patrick.wicki@siemens.com>
> > > > +Date: Sat, 5 Oct 2024 21:36:12 +0200
> > > > +Subject: [PATCH] wasm: avoid cmake try_run when cross-
> > > > compiling
> > > > for x86
> > > > +
> > > > +This fixes building the wasm micro runtime used when enabling
> > > > wasm
> > > > +support in fluentbit.
> > > > +cmake try_run does not work when cross-compiling because the
> > > > test
> > > > program
> > > > +cannot be executed:
> > > > +
> > > > +| CMake Error: try_run() invoked in cross-compiling mode,
> > > > please
> > > > set the following cache variables appropriately:
> > > > +|    TEST_WRGSBASE_RESULT (advanced)
> > > > +| For details see
> > > > .../fluentbit/3.1.9/build/TryRunResults.cmake
> > > > +|      Write linear memory base addr to x86 GS register
> > > > disabled
> > > > +| -- Configuring incomplete, errors occurred!
> > > > +
> > > > +Since we cannot run the test program, assume that the
> > > > instruction
> > > > is not
> > > > +available and disable the option.
> > > > +
> > > > +This patch is no longer needed once fluentbit updates WAMR, as
> > > > it's been
> > > > +fixed in
> > > > https://github.com/bytecodealliance/wasm-micro-runtime/pull/3066
> > > > .
> > > > +
> > > > +Upstream-Status: Pending
> > > > [https://github.com/fluent/fluent-bit/pull/8744]
> > > > +
> > > > +Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com>
> > > > +---
> > > > + .../build-
> > > > scripts/config_common.cmake                           |
> > > > 2 +-
> > > > + 1 file changed, 1 insertion(+), 1 deletion(-)
> > > > +
> > > > +diff --git a/lib/wasm-micro-runtime-WAMR-1.3.0/build-
> > > > scripts/config_common.cmake b/lib/wasm-micro-runtime-WAMR-
> > > > 1.3.0/build-scripts/config_common.cmake
> > > > +index e73ebc85f..c2504e007 100644
> > > > +--- a/lib/wasm-micro-runtime-WAMR-1.3.0/build-
> > > > scripts/config_common.cmake
> > > > ++++ b/lib/wasm-micro-runtime-WAMR-1.3.0/build-
> > > > scripts/config_common.cmake
> > > > +@@ -408,7 +408,7 @@ if (WAMR_BUILD_STATIC_PGO EQUAL 1)
> > > > +   add_definitions (-DWASM_ENABLE_STATIC_PGO=1)
> > > > +   message ("     AOT static PGO enabled")
> > > > + endif ()
> > > > +-if (WAMR_DISABLE_WRITE_GS_BASE EQUAL 1)
> > > > ++if (WAMR_DISABLE_WRITE_GS_BASE EQUAL 1 OR
> > > > CMAKE_CROSSCOMPILING)
> > > > +   add_definitions (-DWASM_DISABLE_WRITE_GS_BASE=1)
> > > > +   message ("     Write linear memory base addr to x86 GS
> > > > register
> > > > disabled")
> > > > + elseif (WAMR_BUILD_TARGET STREQUAL "X86_64"
> > > > diff --git a/meta-oe/recipes-
> > > > extended/fluentbit/fluentbit_3.1.9.bb
> > > > b/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb
> > > > index fc67236d3..d42a9a964 100644
> > > > --- a/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb
> > > > +++ b/meta-oe/recipes-extended/fluentbit/fluentbit_3.1.9.bb
> > > > @@ -21,6 +21,7 @@ SRCREV =
> > > > "431fa79ae27edaef8d050a7af6f038f4400193a1"
> > > >   SRC_URI = "\
> > > >       git://github.com/fluent/fluent-
> > > > bit.git;branch=3.1;protocol=https \
> > > >      
> > > > file://0001-lib-Do-not-use-private-makefile-targets-in-CMakelist.patch
> > > >   \
> > > > +
> > > > file://0002-wasm-avoid-cmake-try_run-when-cross-compiling.patch
> > > >  \
> > > >      
> > > > file://0002-flb_info.h.in-Do-not-hardcode-compilation-directorie.patch
> > > >   \
> > > >       ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '',
> > > > '
> > > > file://0003-Disable-installing-systemd-service-file.patch', d)}
> > > > \
> > > >   "
> > > > --
> > > > 2.47.0
> > > > 
> > > > 
> > > > 
> > > > 
> > > 
> > > 
> > > 
> > 
> > 
> > 
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#113076):
> > https://lists.openembedded.org/g/openembedded-devel/message/113076
> > Mute This Topic:
> > https://lists.openembedded.org/mt/109059531/3618471
> > Group Owner: openembedded-devel+owner@lists.openembedded.org
> > Unsubscribe:
> > https://lists.openembedded.org/g/openembedded-devel/unsub [
> > niko.mauno@vaisala.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> > 



      reply	other threads:[~2024-10-21 21:07 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-17  7:08 [meta-oe][PATCH v2] fluentbit: fix building with wasm support patrick
2024-10-17 18:54 ` [oe] " Khem Raj
2024-10-21 12:29   ` Patrick Wicki
2024-10-21 17:00     ` Niko Mauno
2024-10-21 21:06       ` Patrick Wicki [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cbd176e32e63fe8e4351c6374eef55ed44e8ddb5.camel@subset.ch \
    --to=patrick.wicki@subset.ch \
    --cc=niko.mauno@vaisala.com \
    --cc=openembedded-devel@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox