All of lore.kernel.org
 help / color / mirror / Atom feed
* 回覆: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
@ 2022-06-28 15:03 Chris Chen (TPI)
  2022-06-28 15:49 ` Willy Tu
  2022-06-28 15:51 ` Brandon Kim
  0 siblings, 2 replies; 9+ messages in thread
From: Chris Chen (TPI) @ 2022-06-28 15:03 UTC (permalink / raw)
  To: Patrick Williams; +Cc: openbmc

[-- Attachment #1: Type: text/plain, Size: 6115 bytes --]

Hi Patrick,

Thanks for your prompt reply, and the issue is solved after installing Ubuntu "libfmt-dev" package.

>> Do you know why you disabled C++20?  This shouldn't have been necessary
>> and some of our code now requires C++20.

I disabled C++20 of the "ipmi-blob-tool" package because I got errors below:
=====
archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
+ autoreconf -v -f -i
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
configure.ac:38: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX
/usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is expanded from...
configure.ac:38: the top level
autom4te: error: /usr/bin/m4 failed with exit status: 1
aclocal: error: /usr/bin/autom4te failed with exit status: 1
autoreconf: error: aclocal failed with exit status: 1
=====
Do you have ideas about how to solve it correctly?

In addition, i have started to build the burn_my_bmc (the host-tool) on the Host by cloning the "phosphor-ipmi-flash" source. There are some questions came out:

  *   The "phosphor-ipmi-flash" package seems became to use "meson" rather than "bootstrap.sh", so I run these commands in the source directory. Is it correct?
-----
meson setup -Dbmc-blob-handler=disabled builddir
ninja -C builddir
ninja -C builddir install
  *   -----

  *
After running "meson setup -Dbmc-blob-handler=disabled builddir", it occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces', 'libipmid', and so on is required respectively, is it correct?

  *   I for now have tried to install these dependencies one-by-one, but be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run "meson builddir" command to build it, however, I got an error in blow and I can't solve it. Could you please give me some suggestions?
  *   =====
  *   Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
Dependency systemd found: YES 249 (cached)
Run-time dependency libcrypto found: YES 3.0.2

meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
=====

Thanks.

Regards,
Chris Chen

________________________________
寄件者: Patrick Williams
已傳送: 星期二, 2022 6 月 28 日 下午 07:20
收件者: Chris Chen (TPI)
副本: openbmc@lists.ozlabs.org
主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host

On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
> And each library and tool is built successful(only one thing that is I had to disable C++20 for the ipmi-blob-tool, others were fine) untilI started to build the stdplus. I encountered a build failed issue as below. It looks like there is a problem for using libfmt.a, I tried to figure out a solution on google but nothing is related to this. Could anyone help on this? Thanks.

Do you know why you disabled C++20?  This shouldn't have been necessary
and some of our code now requires C++20.

>
> =====
> archer@archer-ArcherCityM:stdplus$
> archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false -Dtests=disabled builddir
> The Meson build system
> Version: 0.61.2
> Source dir: /home/archer/Downloads/host-tool/stdplus
> Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
> Build type: native build
> Project name: stdplus
> Project version: 0.1
> C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> C++ linker for the host machine: c++ ld.bfd 2.38
> Host machine cpu family: x86_64
> Host machine cpu: x86_64
> Found pkg-config: /usr/bin/pkg-config (0.29.2)
> Run-time dependency fmt found: YES 8.1.2

Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
install which is version 8.1.1 on Jammy right now.

> Library dl found: YES
> Run-time dependency liburing found: YES 2.0
> Build targets in project: 1
>
> stdplus 0.1
>
>   User defined options
>     examples: false
>     tests   : disabled
>
> Found ninja-1.10.1 at /usr/bin/ninja
> archer@archer-ArcherCityM:stdplus$
> archer@archer-ArcherCityM:stdplus$
> archer@archer-ArcherCityM:stdplus$ ninja -C builddir
> ninja: Entering directory `builddir'
> [9/9] Linking target src/libstdplus.so.0.1
> FAILED: src/libstdplus.so.0.1
> c++  -o src/libstdplus.so.0.1 src/libstdplus.so.0.1.p/stdplus_exception.cpp.o src/libstdplus.so.0.1.p/stdplus_signal.cpp.o src/libstdplus.so.0.1.p/stdplus_dl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
> /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
> /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC

However you obtained your libfmt, it was compiled incorrectly.  It
shouldn't have a static library but a dynamic one.

The `libfmt-dev` package has `libfmt.so` which should be sufficient for
linking as a shared library.

--
Patrick Williams

Legal Disclaimer :
The information contained in this message may be privileged and confidential. 
It is intended to be read only by the individual or entity to whom it is addressed 
or by their designee. If the reader of this message is not the intended recipient, 
you are on notice that any distribution of this message, in any form, 
is strictly prohibited. If you have received this message in error, 
please immediately notify the sender and delete or destroy any copy of this message!

[-- Attachment #2: Type: text/html, Size: 10186 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
  2022-06-28 15:03 回覆: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host Chris Chen (TPI)
@ 2022-06-28 15:49 ` Willy Tu
  2022-06-28 15:51 ` Brandon Kim
  1 sibling, 0 replies; 9+ messages in thread
From: Willy Tu @ 2022-06-28 15:49 UTC (permalink / raw)
  To: Chris Chen (TPI); +Cc: openbmc

[-- Attachment #1: Type: text/plain, Size: 7358 bytes --]

Hi Chris,

Are you building these locally? I would recommend using the docker that
setup all the required environments for the build.

See
https://github.com/openbmc/openbmc-build-scripts/blob/master/scripts/build-unit-test-docker
for
reference.

If you insist to build locally,

For
```
configure.ac:38: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX
/usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is
expanded from...
configure.ac:38: the top level
```, you will need to setup with the command in
https://github.com/openbmc/openbmc-build-scripts/commit/3ea4cd7e18d607de59fedc5eae4f3e536e0632a4

For the `pam ` issue, you will need to install `libpam0g-dev`.

Best,

Willy Tu

On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com>
wrote:

> Hi Patrick,
>
> Thanks for your prompt reply, and the issue is solved after installing
> Ubuntu "libfmt-dev" package.
>
> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> >> and some of our code now requires C++20.
>
> I disabled C++20 of the "ipmi-blob-tool" package because I got errors
> below:
> =====
> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
> + autoreconf -v -f -i
> autoreconf: export WARNINGS=
> autoreconf: Entering directory '.'
> autoreconf: configure.ac: not using Gettext
> autoreconf: running: aclocal --force -I m4
> configure.ac:38: error: invalid first argument `20' to
> AX_CXX_COMPILE_STDCXX
> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is
> expanded from...
> configure.ac:38: the top level
> autom4te: error: /usr/bin/m4 failed with exit status: 1
> aclocal: error: /usr/bin/autom4te failed with exit status: 1
> autoreconf: error: aclocal failed with exit status: 1
> =====
> Do you have ideas about how to solve it correctly?
>
> In addition, i have started to build the burn_my_bmc (the host-tool) on
> the Host by cloning the "phosphor-ipmi-flash" source. There are some
> questions came out:
>
>    - The "phosphor-ipmi-flash" package seems became to use "meson" rather
>    than "bootstrap.sh", so I run these commands in the source directory. Is it
>    correct?
>    -----
>    meson setup -Dbmc-blob-handler=disabled builddir
>    ninja -C builddir
>    ninja -C builddir install
>    - -----
>
>    - After running "meson setup -Dbmc-blob-handler=disabled builddir", it
>    occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces',
>    'libipmid', and so on is required respectively, is it correct?
>
>    - I for now have tried to install these dependencies one-by-one, but
>    be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run
>    "meson builddir" command to build it, however, I got an error in blow and I
>    can't solve it. Could you please give me some suggestions?
>    - =====
>    - Dependency sdeventplus from subproject subprojects/sdeventplus
>    found: YES 0.1
>    Dependency systemd found: YES 249 (cached)
>    Run-time dependency libcrypto found: YES 3.0.2
>
>    meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
>    =====
>
> Thanks.
>
> Regards,
> Chris Chen
>
> ------------------------------
> *寄件者:* Patrick Williams
> *已傳送:* 星期二, 2022 6 月 28 日 下午 07:20
> *收件者:* Chris Chen (TPI)
> *副本:* openbmc@lists.ozlabs.org
> *主旨:* Re: [phosphor-ipmi-flash]: stdplus build failed before building the
> host-tool on the Host
>
> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
> > And each library and tool is built successful(only one thing that is I
> had to disable C++20 for the ipmi-blob-tool, others were fine) untilI
> started to build the stdplus. I encountered a build failed issue as below.
> It looks like there is a problem for using libfmt.a, I tried to figure out
> a solution on google but nothing is related to this. Could anyone help on
> this? Thanks.
>
> Do you know why you disabled C++20?  This shouldn't have been necessary
> and some of our code now requires C++20.
>
> >
> > =====
> > archer@archer-ArcherCityM:stdplus$
> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false
> -Dtests=disabled builddir
> > The Meson build system
> > Version: 0.61.2
> > Source dir: /home/archer/Downloads/host-tool/stdplus
> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
> > Build type: native build
> > Project name: stdplus
> > Project version: 0.1
> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu
> 11.2.0-19ubuntu1) 11.2.0")
> > C++ linker for the host machine: c++ ld.bfd 2.38
> > Host machine cpu family: x86_64
> > Host machine cpu: x86_64
> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
> > Run-time dependency fmt found: YES 8.1.2
>
> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
> install which is version 8.1.1 on Jammy right now.
>
> > Library dl found: YES
> > Run-time dependency liburing found: YES 2.0
> > Build targets in project: 1
> >
> > stdplus 0.1
> >
> >   User defined options
> >     examples: false
> >     tests   : disabled
> >
> > Found ninja-1.10.1 at /usr/bin/ninja
> > archer@archer-ArcherCityM:stdplus$
> > archer@archer-ArcherCityM:stdplus$
> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
> > ninja: Entering directory `builddir'
> > [9/9] Linking target src/libstdplus.so.0.1
> > FAILED: src/libstdplus.so.0.1
> > c++  -o src/libstdplus.so.0.1
> src/libstdplus.so.0.1.p/stdplus_exception.cpp.o
> src/libstdplus.so.0.1.p/stdplus_signal.cpp.o
> src/libstdplus.so.0.1.p/stdplus_dl.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o
> src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed
> -Wl,--no-undefined -shared -fPIC -Wl,--start-group
> -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl
> /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation
> against `stdout@@GLIBC_2.2.5' in read-only section `.text'
> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation
> R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when
> making a shared object; recompile with -fPIC
>
> However you obtained your libfmt, it was compiled incorrectly.  It
> shouldn't have a static library but a dynamic one.
>
> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
> linking as a shared library.
>
> --
> Patrick Williams
> Legal Disclaimer :
> The information contained in this message may be privileged and
> confidential.
> It is intended to be read only by the individual or entity to whom it is
> addressed
> or by their designee. If the reader of this message is not the intended
> recipient,
> you are on notice that any distribution of this message, in any form,
> is strictly prohibited. If you have received this message in error,
> please immediately notify the sender and delete or destroy any copy of
> this message!
>

[-- Attachment #2: Type: text/html, Size: 11493 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
  2022-06-28 15:03 回覆: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host Chris Chen (TPI)
  2022-06-28 15:49 ` Willy Tu
@ 2022-06-28 15:51 ` Brandon Kim
  2022-06-28 15:56   ` Willy Tu
  1 sibling, 1 reply; 9+ messages in thread
From: Brandon Kim @ 2022-06-28 15:51 UTC (permalink / raw)
  To: Chris Chen (TPI), Willy Tu; +Cc: openbmc

[-- Attachment #1: Type: text/plain, Size: 7640 bytes --]

Ah, it seems like the email chains were broken up for some reason - seeing
this now after I replied to the other email chain.

It is totally possible that our instructions in the README is not up to
date anymore, but just to make sure - are you building each of the
components as specified by
https://github.com/openbmc/phosphor-ipmi-flash#building-the-host-tool ?

It details the commands to use for each of the dependencies.

Good point on the burn_my_bmc command in the README description not being
not up to date and still using automake (
https://github.com/openbmc/phosphor-ipmi-flash#building-the-host-tool) -
I'll try to run this to verify when I get time later today, but in the
meantime perhaps @Willy Tu <wltu@google.com> may know the command off the
top of his head as he performed the big meson migration. As a first glance
the command looks correct.

Willy recently also migrated phospohr-host-ipmid to meson, so he may know
more about the PAM dependency as well.

Thanks,
Brandon


On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com>
wrote:

> Hi Patrick,
>
> Thanks for your prompt reply, and the issue is solved after installing
> Ubuntu "libfmt-dev" package.
>
> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> >> and some of our code now requires C++20.
>
> I disabled C++20 of the "ipmi-blob-tool" package because I got errors
> below:
> =====
> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
> + autoreconf -v -f -i
> autoreconf: export WARNINGS=
> autoreconf: Entering directory '.'
> autoreconf: configure.ac: not using Gettext
> autoreconf: running: aclocal --force -I m4
> configure.ac:38: error: invalid first argument `20' to
> AX_CXX_COMPILE_STDCXX
> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is
> expanded from...
> configure.ac:38: the top level
> autom4te: error: /usr/bin/m4 failed with exit status: 1
> aclocal: error: /usr/bin/autom4te failed with exit status: 1
> autoreconf: error: aclocal failed with exit status: 1
> =====
> Do you have ideas about how to solve it correctly?
>
> In addition, i have started to build the burn_my_bmc (the host-tool) on
> the Host by cloning the "phosphor-ipmi-flash" source. There are some
> questions came out:
>
>    - The "phosphor-ipmi-flash" package seems became to use "meson" rather
>    than "bootstrap.sh", so I run these commands in the source directory. Is it
>    correct?
>    -----
>    meson setup -Dbmc-blob-handler=disabled builddir
>    ninja -C builddir
>    ninja -C builddir install
>    - -----
>
>    - After running "meson setup -Dbmc-blob-handler=disabled builddir", it
>    occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces',
>    'libipmid', and so on is required respectively, is it correct?
>
>    - I for now have tried to install these dependencies one-by-one, but
>    be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run
>    "meson builddir" command to build it, however, I got an error in blow and I
>    can't solve it. Could you please give me some suggestions?
>    - =====
>    - Dependency sdeventplus from subproject subprojects/sdeventplus
>    found: YES 0.1
>    Dependency systemd found: YES 249 (cached)
>    Run-time dependency libcrypto found: YES 3.0.2
>
>    meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
>    =====
>
> Thanks.
>
> Regards,
> Chris Chen
>
> ------------------------------
> *寄件者:* Patrick Williams
> *已傳送:* 星期二, 2022 6 月 28 日 下午 07:20
> *收件者:* Chris Chen (TPI)
> *副本:* openbmc@lists.ozlabs.org
> *主旨:* Re: [phosphor-ipmi-flash]: stdplus build failed before building the
> host-tool on the Host
>
> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
> > And each library and tool is built successful(only one thing that is I
> had to disable C++20 for the ipmi-blob-tool, others were fine) untilI
> started to build the stdplus. I encountered a build failed issue as below.
> It looks like there is a problem for using libfmt.a, I tried to figure out
> a solution on google but nothing is related to this. Could anyone help on
> this? Thanks.
>
> Do you know why you disabled C++20?  This shouldn't have been necessary
> and some of our code now requires C++20.
>
> >
> > =====
> > archer@archer-ArcherCityM:stdplus$
> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false
> -Dtests=disabled builddir
> > The Meson build system
> > Version: 0.61.2
> > Source dir: /home/archer/Downloads/host-tool/stdplus
> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
> > Build type: native build
> > Project name: stdplus
> > Project version: 0.1
> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu
> 11.2.0-19ubuntu1) 11.2.0")
> > C++ linker for the host machine: c++ ld.bfd 2.38
> > Host machine cpu family: x86_64
> > Host machine cpu: x86_64
> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
> > Run-time dependency fmt found: YES 8.1.2
>
> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
> install which is version 8.1.1 on Jammy right now.
>
> > Library dl found: YES
> > Run-time dependency liburing found: YES 2.0
> > Build targets in project: 1
> >
> > stdplus 0.1
> >
> >   User defined options
> >     examples: false
> >     tests   : disabled
> >
> > Found ninja-1.10.1 at /usr/bin/ninja
> > archer@archer-ArcherCityM:stdplus$
> > archer@archer-ArcherCityM:stdplus$
> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
> > ninja: Entering directory `builddir'
> > [9/9] Linking target src/libstdplus.so.0.1
> > FAILED: src/libstdplus.so.0.1
> > c++  -o src/libstdplus.so.0.1
> src/libstdplus.so.0.1.p/stdplus_exception.cpp.o
> src/libstdplus.so.0.1.p/stdplus_signal.cpp.o
> src/libstdplus.so.0.1.p/stdplus_dl.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o
> src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed
> -Wl,--no-undefined -shared -fPIC -Wl,--start-group
> -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl
> /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation
> against `stdout@@GLIBC_2.2.5' in read-only section `.text'
> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation
> R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when
> making a shared object; recompile with -fPIC
>
> However you obtained your libfmt, it was compiled incorrectly.  It
> shouldn't have a static library but a dynamic one.
>
> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
> linking as a shared library.
>
> --
> Patrick Williams
> Legal Disclaimer :
> The information contained in this message may be privileged and
> confidential.
> It is intended to be read only by the individual or entity to whom it is
> addressed
> or by their designee. If the reader of this message is not the intended
> recipient,
> you are on notice that any distribution of this message, in any form,
> is strictly prohibited. If you have received this message in error,
> please immediately notify the sender and delete or destroy any copy of
> this message!
>

[-- Attachment #2: Type: text/html, Size: 11316 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
  2022-06-28 15:51 ` Brandon Kim
@ 2022-06-28 15:56   ` Willy Tu
  2022-06-29  7:57     ` 回覆: " Chris Chen (TPI)
  0 siblings, 1 reply; 9+ messages in thread
From: Willy Tu @ 2022-06-28 15:56 UTC (permalink / raw)
  To: Brandon Kim; +Cc: openbmc, Chris Chen (TPI)

Oh yeah, the README is 100% outdated. We have moved to meson and we
should update it at some point in life.

I think your command to build burn_my_bmc should be fine. The
`host-tool` should be enabled by default.

Can try the following, just in case.
```
meson setup -Dhost-tool=enabled builddir
ninja -C builddir
ninja -C builddir install
```

Willy Tu


On Tue, Jun 28, 2022 at 8:51 AM Brandon Kim <brandonkim@google.com> wrote:
>
> Ah, it seems like the email chains were broken up for some reason - seeing this now after I replied to the other email chain.
>
> It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://github.com/openbmc/phosphor-ipmi-flash#building-the-host-tool ?
>
> It details the commands to use for each of the dependencies.
>
> Good point on the burn_my_bmc command in the README description not being not up to date and still using automake (https://github.com/openbmc/phosphor-ipmi-flash#building-the-host-tool) - I'll try to run this to verify when I get time later today, but in the meantime perhaps @Willy Tu may know the command off the top of his head as he performed the big meson migration. As a first glance the command looks correct.
>
> Willy recently also migrated phospohr-host-ipmid to meson, so he may know more about the PAM dependency as well.
>
> Thanks,
> Brandon
>
>
> On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>>
>> Hi Patrick,
>>
>> Thanks for your prompt reply, and the issue is solved after installing Ubuntu "libfmt-dev" package.
>>
>> >> Do you know why you disabled C++20?  This shouldn't have been necessary
>> >> and some of our code now requires C++20.
>>
>> I disabled C++20 of the "ipmi-blob-tool" package because I got errors below:
>> =====
>> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
>> + autoreconf -v -f -i
>> autoreconf: export WARNINGS=
>> autoreconf: Entering directory '.'
>> autoreconf: configure.ac: not using Gettext
>> autoreconf: running: aclocal --force -I m4
>> configure.ac:38: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX
>> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is expanded from...
>> configure.ac:38: the top level
>> autom4te: error: /usr/bin/m4 failed with exit status: 1
>> aclocal: error: /usr/bin/autom4te failed with exit status: 1
>> autoreconf: error: aclocal failed with exit status: 1
>> =====
>> Do you have ideas about how to solve it correctly?
>>
>> In addition, i have started to build the burn_my_bmc (the host-tool) on the Host by cloning the "phosphor-ipmi-flash" source. There are some questions came out:
>>
>> The "phosphor-ipmi-flash" package seems became to use "meson" rather than "bootstrap.sh", so I run these commands in the source directory. Is it correct?
>> -----
>> meson setup -Dbmc-blob-handler=disabled builddir
>> ninja -C builddir
>> ninja -C builddir install
>> -----
>>
>> After running "meson setup -Dbmc-blob-handler=disabled builddir", it occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces', 'libipmid', and so on is required respectively, is it correct?
>>
>> I for now have tried to install these dependencies one-by-one, but be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run "meson builddir" command to build it, however, I got an error in blow and I can't solve it. Could you please give me some suggestions?
>> =====
>> Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
>> Dependency systemd found: YES 249 (cached)
>> Run-time dependency libcrypto found: YES 3.0.2
>>
>> meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
>> =====
>>
>> Thanks.
>>
>> Regards,
>> Chris Chen
>>
>> ________________________________ 寄件者: Patrick Williams
>> 已傳送: 星期二, 2022 6 月 28 日 下午 07:20
>> 收件者: Chris Chen (TPI)
>> 副本: openbmc@lists.ozlabs.org
>> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
>>
>> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
>> > And each library and tool is built successful(only one thing that is I had to disable C++20 for the ipmi-blob-tool, others were fine) untilI started to build the stdplus. I encountered a build failed issue as below. It looks like there is a problem for using libfmt.a, I tried to figure out a solution on google but nothing is related to this. Could anyone help on this? Thanks.
>>
>> Do you know why you disabled C++20?  This shouldn't have been necessary
>> and some of our code now requires C++20.
>>
>> >
>> > =====
>> > archer@archer-ArcherCityM:stdplus$
>> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false -Dtests=disabled builddir
>> > The Meson build system
>> > Version: 0.61.2
>> > Source dir: /home/archer/Downloads/host-tool/stdplus
>> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
>> > Build type: native build
>> > Project name: stdplus
>> > Project version: 0.1
>> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>> > C++ linker for the host machine: c++ ld.bfd 2.38
>> > Host machine cpu family: x86_64
>> > Host machine cpu: x86_64
>> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
>> > Run-time dependency fmt found: YES 8.1.2
>>
>> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
>> install which is version 8.1.1 on Jammy right now.
>>
>> > Library dl found: YES
>> > Run-time dependency liburing found: YES 2.0
>> > Build targets in project: 1
>> >
>> > stdplus 0.1
>> >
>> >   User defined options
>> >     examples: false
>> >     tests   : disabled
>> >
>> > Found ninja-1.10.1 at /usr/bin/ninja
>> > archer@archer-ArcherCityM:stdplus$
>> > archer@archer-ArcherCityM:stdplus$
>> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
>> > ninja: Entering directory `builddir'
>> > [9/9] Linking target src/libstdplus.so.0.1
>> > FAILED: src/libstdplus.so.0.1
>> > c++  -o src/libstdplus.so.0.1 src/libstdplus.so.0.1.p/stdplus_exception.cpp.o src/libstdplus.so.0.1.p/stdplus_signal.cpp.o src/libstdplus.so.0.1.p/stdplus_dl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
>> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
>> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
>>
>> However you obtained your libfmt, it was compiled incorrectly.  It
>> shouldn't have a static library but a dynamic one.
>>
>> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
>> linking as a shared library.
>>
>> --
>> Patrick Williams
>> Legal Disclaimer :
>> The information contained in this message may be privileged and confidential.
>> It is intended to be read only by the individual or entity to whom it is addressed
>> or by their designee. If the reader of this message is not the intended recipient,
>> you are on notice that any distribution of this message, in any form,
>> is strictly prohibited. If you have received this message in error,
>> please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* 回覆: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
  2022-06-28 15:56   ` Willy Tu
@ 2022-06-29  7:57     ` Chris Chen (TPI)
  2022-06-29 17:19       ` Brandon Kim
  0 siblings, 1 reply; 9+ messages in thread
From: Chris Chen (TPI) @ 2022-06-29  7:57 UTC (permalink / raw)
  To: Willy Tu, Brandon Kim; +Cc: openbmc

[-- Attachment #1: Type: text/plain, Size: 15223 bytes --]

Hi Brandon and Willy,

  *   First of all, I would like to say thanks for your answer and confirmation, the problems I listed are solved.

  *   For Brandon's question,
  *   > It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://github.com/openbmc/phosphor-ipmi-flash#building-the-host-tool?
  *
Yes, I followed the README.md to build each of the components.

  *   However, I encountered other fatal errors when building the "phosphor-host-ipmid" package as below. (Overall there are three kinds of fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured in several files, so I just list one message of each error for reference.)
  *   =====
  *   ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
  *       4 | #include <gtest/gtest.h>
  *   ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
  *       5 | #include <nlohmann/json.hpp>
  *   ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp: No such file or directory
  *      26 | #include <phosphor-logging/log.hpp>
  *   =====
  *
  *   Do you have any suggestions on this?
  *
  *   BTW. I use following commands to build the "phosphor-host-ipmid" package, it should be correct, right?
  *   -----
  *   meson setup -Dtests=disabled builddir
  *   ninja -C builddir
  *   ninja -C builddir install
  *   -----

  *   I don't insist to build locally, so as per your recommendation I'm trying to build it by using docker. However, I have limit capability with docker, I for now met a question on building docker image by using the "build-unit-test-docker" script you mentioned, that is after installing the docker-desktop on my Host, I referred to https://github.com/openbmc/docs/blob/master/testing/run-test-docker.md#build-docker-image to build the docker image, of course, I replace the command as below,

./scripts/build-qemu-robot-docker.sh

  *   Then, the error came out after several minutes. (I retried few times, some images are already exists.) Could you help to take a look at this, and give me some suggestions as well?
  *   =====
  *   archer@archer-ArcherCityM:openbmc-build-scripts$ ./scripts/build-unit-test-docker
  *   Image openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f already exists.  Skipping.
Image openbmc/ubuntu-unit-test-uscilab-cereal:2022-W26-ab72d4495979e830 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-nlohmann-json:2022-W26-ffba809170eb0a41 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-naios-function2:2022-W26-3b876756bb76be23 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-cliutils-cli11:2022-W26-f53b55bea30b21c6 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-libvnc-libvncserver:2022-W26-90d3acb2a0df9617 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-cppalliance-url:2022-W26-460f317503ba9422 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-boost:2022-W26-d87626309071f65f already exists.  Skipping.
Image openbmc/ubuntu-unit-test-catchorg-catch2:2022-W26-3439038e67e82304 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-leethomason-tinyxml2:2022-W26-323efeff9db53382 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-facebookexperimental-libunifex:2022-W26-1eff6ee41b25d7e1 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-linux-test-project-lcov:2022-W26-13690675d4cda956 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-fmtlib-fmt:2022-W26-8c08817ee76f296a already exists.  Skipping.
Image openbmc/ubuntu-unit-test-google-googletest:2022-W26-41755ba7fe770d1e already exists.  Skipping.
Image openbmc/ubuntu-unit-test-tristanpenman-valijson:2022-W26-2d55955ffea82018 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-open-power-pdbg:2022-W26-ea1338b7d5bcf717 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-openbmc-sdbusplus:2022-W26-4de3de6a7dd74c72 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-openbmc-stdplus:2022-W26-fcc6d0d878d82435 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-openbmc-gpioplus:2022-W26-6e12ea9e28a38a45 already exists.  Skipping.
Image openbmc/ubuntu-unit-test-openbmc-sdeventplus:2022-W26-077c15efe62026d9 already exists.  Skipping.
  *   Package openbmc/linux failed!
Traceback (most recent call last):
  File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 852, in <module>
    Package.generate_all()
  File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 396, in generate_all
    raise t.exception
  File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 365, in run
    Docker.build(self.package, tag, dockerfile)
  File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 620, in build
    docker.build(
  File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 1566, in __call__
    return RunningCommand(cmd, call_args, stdin, stdout, stderr)
  File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 822, in __init__
    self.wait()
  File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 879, in wait
    self.handle_command_exit_code(exit_code)
  File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 905, in handle_command_exit_code
    raise exc
sh.ErrorReturnCode_1:

  RAN: /usr/local/bin/docker build --network=host --force-rm --no-cache=false -t openbmc/ubuntu-unit-test-openbmc-linux:2022-W26-4d748d691e37a3f6 -

  STDOUT:


  STDERR:
#1 [internal] load build definition from Dockerfile
#1 sha256:7b1d92eec8d42e247f2bb4fd1260a7b209eb6af9dab84c342a27d5cdd089f3f8
#1 transferring dockerfile: 307B 0.0s done
#1 DONE 0.1s

#2 [internal] load .dockerignore
#2 sha256:c8396637158fe442f7870c427fb14a5e1f1f71b781353fcff1a75b6301070bcb
#2 transferring context: 2B done
#2 DONE 0.0s

#3 [internal] load metadata for docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
#3 sha256:053b27ec734906a3cbf79dc0bc99b133a80abc1aa2fd5545010138b72cf16ee0
#3 DONE 0.0s

#4 [1/2] FROM docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
#4 sha256:e6e9b48a100df776a75b8dc934e85d3f5282ade34c031f25e3dd74a0ecd13842
#4 CACHED

#5 [2/2] RUN curl -L https://github.com/openbmc/linux/arch... (3475 more, please see e.stderr)
  *   =====

Regards,
Chris Chen

________________________________
寄件者: Willy Tu <wltu@google.com>
寄件日期: 2022年6月28日 下午 11:56
收件者: Brandon Kim <brandonkim@google.com>
副本: Chris Chen (TPI) <Chris.Chen3@flex.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host

Oh yeah, the README is 100% outdated. We have moved to meson and we
should update it at some point in life.

I think your command to build burn_my_bmc should be fine. The
`host-tool` should be enabled by default.

Can try the following, just in case.
```
meson setup -Dhost-tool=enabled builddir
ninja -C builddir
ninja -C builddir install
```

Willy Tu


On Tue, Jun 28, 2022 at 8:51 AM Brandon Kim <brandonkim@google.com> wrote:
>
> Ah, it seems like the email chains were broken up for some reason - seeing this now after I replied to the other email chain.
>
> It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$  ?
>
> It details the commands to use for each of the dependencies.
>
> Good point on the burn_my_bmc command in the README description not being not up to date and still using automake (https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$ ) - I'll try to run this to verify when I get time later today, but in the meantime perhaps @Willy Tu may know the command off the top of his head as he performed the big meson migration. As a first glance the command looks correct.
>
> Willy recently also migrated phospohr-host-ipmid to meson, so he may know more about the PAM dependency as well.
>
> Thanks,
> Brandon
>
>
> On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>>
>> Hi Patrick,
>>
>> Thanks for your prompt reply, and the issue is solved after installing Ubuntu "libfmt-dev" package.
>>
>> >> Do you know why you disabled C++20?  This shouldn't have been necessary
>> >> and some of our code now requires C++20.
>>
>> I disabled C++20 of the "ipmi-blob-tool" package because I got errors below:
>> =====
>> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
>> + autoreconf -v -f -i
>> autoreconf: export WARNINGS=
>> autoreconf: Entering directory '.'
>> autoreconf: configure.ac: not using Gettext
>> autoreconf: running: aclocal --force -I m4
>> configure.ac:38: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX
>> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is expanded from...
>> configure.ac:38: the top level
>> autom4te: error: /usr/bin/m4 failed with exit status: 1
>> aclocal: error: /usr/bin/autom4te failed with exit status: 1
>> autoreconf: error: aclocal failed with exit status: 1
>> =====
>> Do you have ideas about how to solve it correctly?
>>
>> In addition, i have started to build the burn_my_bmc (the host-tool) on the Host by cloning the "phosphor-ipmi-flash" source. There are some questions came out:
>>
>> The "phosphor-ipmi-flash" package seems became to use "meson" rather than "bootstrap.sh", so I run these commands in the source directory. Is it correct?
>> -----
>> meson setup -Dbmc-blob-handler=disabled builddir
>> ninja -C builddir
>> ninja -C builddir install
>> -----
>>
>> After running "meson setup -Dbmc-blob-handler=disabled builddir", it occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces', 'libipmid', and so on is required respectively, is it correct?
>>
>> I for now have tried to install these dependencies one-by-one, but be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run "meson builddir" command to build it, however, I got an error in blow and I can't solve it. Could you please give me some suggestions?
>> =====
>> Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
>> Dependency systemd found: YES 249 (cached)
>> Run-time dependency libcrypto found: YES 3.0.2
>>
>> meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
>> =====
>>
>> Thanks.
>>
>> Regards,
>> Chris Chen
>>
>> ________________________________ 寄件者: Patrick Williams
>> 已傳送: 星期二, 2022 6 月 28 日 下午 07:20
>> 收件者: Chris Chen (TPI)
>> 副本: openbmc@lists.ozlabs.org
>> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
>>
>> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
>> > And each library and tool is built successful(only one thing that is I had to disable C++20 for the ipmi-blob-tool, others were fine) untilI started to build the stdplus. I encountered a build failed issue as below. It looks like there is a problem for using libfmt.a, I tried to figure out a solution on google but nothing is related to this. Could anyone help on this? Thanks.
>>
>> Do you know why you disabled C++20?  This shouldn't have been necessary
>> and some of our code now requires C++20.
>>
>> >
>> > =====
>> > archer@archer-ArcherCityM:stdplus$
>> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false -Dtests=disabled builddir
>> > The Meson build system
>> > Version: 0.61.2
>> > Source dir: /home/archer/Downloads/host-tool/stdplus
>> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
>> > Build type: native build
>> > Project name: stdplus
>> > Project version: 0.1
>> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>> > C++ linker for the host machine: c++ ld.bfd 2.38
>> > Host machine cpu family: x86_64
>> > Host machine cpu: x86_64
>> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
>> > Run-time dependency fmt found: YES 8.1.2
>>
>> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
>> install which is version 8.1.1 on Jammy right now.
>>
>> > Library dl found: YES
>> > Run-time dependency liburing found: YES 2.0
>> > Build targets in project: 1
>> >
>> > stdplus 0.1
>> >
>> >   User defined options
>> >     examples: false
>> >     tests   : disabled
>> >
>> > Found ninja-1.10.1 at /usr/bin/ninja
>> > archer@archer-ArcherCityM:stdplus$
>> > archer@archer-ArcherCityM:stdplus$
>> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
>> > ninja: Entering directory `builddir'
>> > [9/9] Linking target src/libstdplus.so.0.1
>> > FAILED: src/libstdplus.so.0.1
>> > c++  -o src/libstdplus.so.0.1 src/libstdplus.so.0.1.p/stdplus_exception.cpp.o src/libstdplus.so.0.1.p/stdplus_signal.cpp.o src/libstdplus.so.0.1.p/stdplus_dl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
>> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
>> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
>>
>> However you obtained your libfmt, it was compiled incorrectly.  It
>> shouldn't have a static library but a dynamic one.
>>
>> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
>> linking as a shared library.
>>
>> --
>> Patrick Williams
>> Legal Disclaimer :
>> The information contained in this message may be privileged and confidential.
>> It is intended to be read only by the individual or entity to whom it is addressed
>> or by their designee. If the reader of this message is not the intended recipient,
>> you are on notice that any distribution of this message, in any form,
>> is strictly prohibited. If you have received this message in error,
>> please immediately notify the sender and delete or destroy any copy of this message!

[-- Attachment #2: Type: text/html, Size: 25168 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
  2022-06-29  7:57     ` 回覆: " Chris Chen (TPI)
@ 2022-06-29 17:19       ` Brandon Kim
       [not found]         ` <DM6PR08MB5514548095DC6D6C6CE6DFA0DCBD9@DM6PR08MB5514.namprd08.prod.outlook.com>
  0 siblings, 1 reply; 9+ messages in thread
From: Brandon Kim @ 2022-06-29 17:19 UTC (permalink / raw)
  To: Chris Chen (TPI); +Cc: openbmc, Willy Tu

[-- Attachment #1: Type: text/plain, Size: 17837 bytes --]

Hi Chris,

However, I encountered other fatal errors when building the
> "phosphor-host-ipmid" package as below. (Overall there are three kinds of
> fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured
> in several files, so I just list one message of each error for reference.)
> =====
> ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal
> error: gtest/gtest.h: No such file or directory
>     4 | #include <gtest/gtest.h>
>

Hmm it's strange that gtest is being pulled in when you have Dtest=disabled
for the build. Could you try `rm -rf build` directory for
phosphor-host-ipmid before doing the same command again?

../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file
> or directory
>     5 | #include <nlohmann/json.hpp>
> ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp:
> No such file or directory
>    26 | #include <phosphor-logging/log.hpp>


These should have been built as part of "subprojects". Could you make sure
phosphor-host-ipmid is pulled to the latest, clear the build directory and
build again just to make sure?

Thanks,
Brandon


On Wed, Jun 29, 2022 at 12:57 AM Chris Chen (TPI) <Chris.Chen3@flex.com>
wrote:

> Hi Brandon and Willy,
>
>    - First of all, I would like to say thanks for your answer and
>    confirmation, the problems I listed are solved.
>
>
>    - For Brandon's question,
>    - > It is totally possible that our instructions in the README is not
>    up to date anymore, but just to make sure - are you building each of the
>    components as specified by
>    https://github.com/openbmc/phosphor-ipmi-flash#building-the-host-tool?
>    -
>    Yes, I followed the README.md to build each of the components.
>
>
>    - However, I encountered other fatal errors when building the
>    "phosphor-host-ipmid" package as below. (Overall there are three kinds of
>    fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured
>    in several files, so I just list one message of each error for reference.)
>    - =====
>    - ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal
>    error: gtest/gtest.h: No such file or directory
>    -     4 | #include <gtest/gtest.h>
>    - ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such
>    file or directory
>    -     5 | #include <nlohmann/json.hpp>
>    - ../include/ipmid/message.hpp:26:10: fatal error:
>    phosphor-logging/log.hpp: No such file or directory
>    -    26 | #include <phosphor-logging/log.hpp>
>    - =====
>    -
>    - Do you have any suggestions on this?
>    -
>    - BTW. I use following commands to build the "phosphor-host-ipmid"
>    package, it should be correct, right?
>    - -----
>    - meson setup -Dtests=disabled builddir
>    - ninja -C builddir
>    - ninja -C builddir install
>    - -----
>
>
>    - I don't insist to build locally, so as per your recommendation I'm
>    trying to build it by using docker. However, I have limit capability with
>    docker, I for now met a question on building docker image by using the
>    "build-unit-test-docker" script you mentioned, that is after installing the
>    docker-desktop on my Host, I referred to
>    https://github.com/openbmc/docs/blob/master/testing/run-test-docker.md#build-docker-image to
>    build the docker image, of course, I replace the command as below,
>
>
>    ./scripts/build-qemu-robot-docker.sh
>
>
>    - Then, the error came out after several minutes. (I retried few
>    times, some images are already exists.) Could you help to take a look at
>    this, and give me some suggestions as well?
>    - =====
>    - archer@archer-ArcherCityM:openbmc-build-scripts$
>    ./scripts/build-unit-test-docker
>    - Image openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-uscilab-cereal:2022-W26-ab72d4495979e830 already
>    exists.  Skipping.
>    Image openbmc/ubuntu-unit-test-nlohmann-json:2022-W26-ffba809170eb0a41
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-naios-function2:2022-W26-3b876756bb76be23 already
>    exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-cliutils-cli11:2022-W26-f53b55bea30b21c6 already
>    exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-libvnc-libvncserver:2022-W26-90d3acb2a0df9617
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-cppalliance-url:2022-W26-460f317503ba9422 already
>    exists.  Skipping.
>    Image openbmc/ubuntu-unit-test-boost:2022-W26-d87626309071f65f already
>    exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-catchorg-catch2:2022-W26-3439038e67e82304 already
>    exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-leethomason-tinyxml2:2022-W26-323efeff9db53382
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-facebookexperimental-libunifex:2022-W26-1eff6ee41b25d7e1
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-linux-test-project-lcov:2022-W26-13690675d4cda956
>    already exists.  Skipping.
>    Image openbmc/ubuntu-unit-test-fmtlib-fmt:2022-W26-8c08817ee76f296a
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-google-googletest:2022-W26-41755ba7fe770d1e
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-tristanpenman-valijson:2022-W26-2d55955ffea82018
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-open-power-pdbg:2022-W26-ea1338b7d5bcf717 already
>    exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-openbmc-sdbusplus:2022-W26-4de3de6a7dd74c72
>    already exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-openbmc-stdplus:2022-W26-fcc6d0d878d82435 already
>    exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-openbmc-gpioplus:2022-W26-6e12ea9e28a38a45 already
>    exists.  Skipping.
>    Image
>    openbmc/ubuntu-unit-test-openbmc-sdeventplus:2022-W26-077c15efe62026d9
>    already exists.  Skipping.
>    - Package openbmc/linux failed!
>    Traceback (most recent call last):
>      File
>    "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker",
>    line 852, in <module>
>        Package.generate_all()
>      File
>    "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker",
>    line 396, in generate_all
>        raise t.exception
>      File
>    "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker",
>    line 365, in run
>        Docker.build(self.package, tag, dockerfile)
>      File
>    "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker",
>    line 620, in build
>        docker.build(
>      File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line
>    1566, in __call__
>        return RunningCommand(cmd, call_args, stdin, stdout, stderr)
>      File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line
>    822, in __init__
>        self.wait()
>      File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line
>    879, in wait
>        self.handle_command_exit_code(exit_code)
>      File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line
>    905, in handle_command_exit_code
>        raise exc
>    sh.ErrorReturnCode_1:
>
>      RAN: /usr/local/bin/docker build --network=host --force-rm
>    --no-cache=false -t
>    openbmc/ubuntu-unit-test-openbmc-linux:2022-W26-4d748d691e37a3f6 -
>
>      STDOUT:
>
>
>      STDERR:
>    #1 [internal] load build definition from Dockerfile
>    #1
>    sha256:7b1d92eec8d42e247f2bb4fd1260a7b209eb6af9dab84c342a27d5cdd089f3f8
>    #1 transferring dockerfile: 307B 0.0s done
>    #1 DONE 0.1s
>
>    #2 [internal] load .dockerignore
>    #2
>    sha256:c8396637158fe442f7870c427fb14a5e1f1f71b781353fcff1a75b6301070bcb
>    #2 transferring context: 2B done
>    #2 DONE 0.0s
>
>    #3 [internal] load metadata for
>    docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
>    #3
>    sha256:053b27ec734906a3cbf79dc0bc99b133a80abc1aa2fd5545010138b72cf16ee0
>    #3 DONE 0.0s
>
>    #4 [1/2] FROM
>    docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
>    #4
>    sha256:e6e9b48a100df776a75b8dc934e85d3f5282ade34c031f25e3dd74a0ecd13842
>    #4 CACHED
>
>    #5 [2/2] RUN curl -L https://github.com/openbmc/linux/arch... (3475
>    more, please see e.stderr)
>    - =====
>
> Regards,
> Chris Chen
>
> ------------------------------
> *寄件者:* Willy Tu <wltu@google.com>
> *寄件日期:* 2022年6月28日 下午 11:56
> *收件者:* Brandon Kim <brandonkim@google.com>
> *副本:* Chris Chen (TPI) <Chris.Chen3@flex.com>; Patrick Williams <
> patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
> *主旨:* Re: [phosphor-ipmi-flash]: stdplus build failed before building the
> host-tool on the Host
>
> Oh yeah, the README is 100% outdated. We have moved to meson and we
> should update it at some point in life.
>
> I think your command to build burn_my_bmc should be fine. The
> `host-tool` should be enabled by default.
>
> Can try the following, just in case.
> ```
> meson setup -Dhost-tool=enabled builddir
> ninja -C builddir
> ninja -C builddir install
> ```
>
> Willy Tu
>
>
> On Tue, Jun 28, 2022 at 8:51 AM Brandon Kim <brandonkim@google.com> wrote:
> >
> > Ah, it seems like the email chains were broken up for some reason -
> seeing this now after I replied to the other email chain.
> >
> > It is totally possible that our instructions in the README is not up to
> date anymore, but just to make sure - are you building each of the
> components as specified by
> https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$
> ?
> >
> > It details the commands to use for each of the dependencies.
> >
> > Good point on the burn_my_bmc command in the README description not
> being not up to date and still using automake (
> https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$
> ) - I'll try to run this to verify when I get time later today, but in the
> meantime perhaps @Willy Tu may know the command off the top of his head as
> he performed the big meson migration. As a first glance the command looks
> correct.
> >
> > Willy recently also migrated phospohr-host-ipmid to meson, so he may
> know more about the PAM dependency as well.
> >
> > Thanks,
> > Brandon
> >
> >
> > On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com>
> wrote:
> >>
> >> Hi Patrick,
> >>
> >> Thanks for your prompt reply, and the issue is solved after installing
> Ubuntu "libfmt-dev" package.
> >>
> >> >> Do you know why you disabled C++20?  This shouldn't have been
> necessary
> >> >> and some of our code now requires C++20.
> >>
> >> I disabled C++20 of the "ipmi-blob-tool" package because I got errors
> below:
> >> =====
> >> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
> >> + autoreconf -v -f -i
> >> autoreconf: export WARNINGS=
> >> autoreconf: Entering directory '.'
> >> autoreconf: configure.ac: not using Gettext
> >> autoreconf: running: aclocal --force -I m4
> >> configure.ac:38: error: invalid first argument `20' to
> AX_CXX_COMPILE_STDCXX
> >> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX
> is expanded from...
> >> configure.ac:38: the top level
> >> autom4te: error: /usr/bin/m4 failed with exit status: 1
> >> aclocal: error: /usr/bin/autom4te failed with exit status: 1
> >> autoreconf: error: aclocal failed with exit status: 1
> >> =====
> >> Do you have ideas about how to solve it correctly?
> >>
> >> In addition, i have started to build the burn_my_bmc (the host-tool) on
> the Host by cloning the "phosphor-ipmi-flash" source. There are some
> questions came out:
> >>
> >> The "phosphor-ipmi-flash" package seems became to use "meson" rather
> than "bootstrap.sh", so I run these commands in the source directory. Is it
> correct?
> >> -----
> >> meson setup -Dbmc-blob-handler=disabled builddir
> >> ninja -C builddir
> >> ninja -C builddir install
> >> -----
> >>
> >> After running "meson setup -Dbmc-blob-handler=disabled builddir", it
> occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces',
> 'libipmid', and so on is required respectively, is it correct?
> >>
> >> I for now have tried to install these dependencies one-by-one, but be
> stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run
> "meson builddir" command to build it, however, I got an error in blow and I
> can't solve it. Could you please give me some suggestions?
> >> =====
> >> Dependency sdeventplus from subproject subprojects/sdeventplus found:
> YES 0.1
> >> Dependency systemd found: YES 249 (cached)
> >> Run-time dependency libcrypto found: YES 3.0.2
> >>
> >> meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
> >> =====
> >>
> >> Thanks.
> >>
> >> Regards,
> >> Chris Chen
> >>
> >> ________________________________ 寄件者: Patrick Williams
> >> 已傳送: 星期二, 2022 6 月 28 日 下午 07:20
> >> 收件者: Chris Chen (TPI)
> >> 副本: openbmc@lists.ozlabs.org
> >> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the
> host-tool on the Host
> >>
> >> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
> >> > And each library and tool is built successful(only one thing that is
> I had to disable C++20 for the ipmi-blob-tool, others were fine) untilI
> started to build the stdplus. I encountered a build failed issue as below.
> It looks like there is a problem for using libfmt.a, I tried to figure out
> a solution on google but nothing is related to this. Could anyone help on
> this? Thanks.
> >>
> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> >> and some of our code now requires C++20.
> >>
> >> >
> >> > =====
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false
> -Dtests=disabled builddir
> >> > The Meson build system
> >> > Version: 0.61.2
> >> > Source dir: /home/archer/Downloads/host-tool/stdplus
> >> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
> >> > Build type: native build
> >> > Project name: stdplus
> >> > Project version: 0.1
> >> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu
> 11.2.0-19ubuntu1) 11.2.0")
> >> > C++ linker for the host machine: c++ ld.bfd 2.38
> >> > Host machine cpu family: x86_64
> >> > Host machine cpu: x86_64
> >> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
> >> > Run-time dependency fmt found: YES 8.1.2
> >>
> >> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
> >> install which is version 8.1.1 on Jammy right now.
> >>
> >> > Library dl found: YES
> >> > Run-time dependency liburing found: YES 2.0
> >> > Build targets in project: 1
> >> >
> >> > stdplus 0.1
> >> >
> >> >   User defined options
> >> >     examples: false
> >> >     tests   : disabled
> >> >
> >> > Found ninja-1.10.1 at /usr/bin/ninja
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
> >> > ninja: Entering directory `builddir'
> >> > [9/9] Linking target src/libstdplus.so.0.1
> >> > FAILED: src/libstdplus.so.0.1
> >> > c++  -o src/libstdplus.so.0.1
> src/libstdplus.so.0.1.p/stdplus_exception.cpp.o
> src/libstdplus.so.0.1.p/stdplus_signal.cpp.o
> src/libstdplus.so.0.1.p/stdplus_dl.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o
> src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o
> src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed
> -Wl,--no-undefined -shared -fPIC -Wl,--start-group
> -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl
> /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
> >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning:
> relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
> >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation
> R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when
> making a shared object; recompile with -fPIC
> >>
> >> However you obtained your libfmt, it was compiled incorrectly.  It
> >> shouldn't have a static library but a dynamic one.
> >>
> >> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
> >> linking as a shared library.
> >>
> >> --
> >> Patrick Williams
> >> Legal Disclaimer :
> >> The information contained in this message may be privileged and
> confidential.
> >> It is intended to be read only by the individual or entity to whom it
> is addressed
> >> or by their designee. If the reader of this message is not the intended
> recipient,
> >> you are on notice that any distribution of this message, in any form,
> >> is strictly prohibited. If you have received this message in error,
> >> please immediately notify the sender and delete or destroy any copy of
> this message!
>

[-- Attachment #2: Type: text/html, Size: 27090 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: FW: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
       [not found]             ` <DM6PR08MB55141DE74F25A04EF6F526A5DCBD9@DM6PR08MB5514.namprd08.prod.outlook.com>
@ 2022-07-01 16:34               ` Brandon Kim
  2022-07-05  8:20                 ` Chris Chen (TPI)
  0 siblings, 1 reply; 9+ messages in thread
From: Brandon Kim @ 2022-07-01 16:34 UTC (permalink / raw)
  To: Chris Chen (TPI); +Cc: openbmc, Willy Tu

Attempting to send this again, as I forgot to do "plain text" mode and
I think it held back the email send.

Ah it looks like the problem is with phosphor-objmgr build - seems
like they may not have propagated the test=disabled flag down to that
build for some reason - I wonder if it'll work if you could try
building phosphor-objmgr and do a ninja build install first.

Otherwise, we should fix the underlying problem which is that you may
not have gtest installed in your workstation:
https://stackoverflow.com/questions/13513905/how-to-set-up-googletest-as-a-shared-library-on-linux

Thanks,
Brandon


On Fri, Jul 1, 2022 at 1:42 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon,
>
>
>
> I have pulled the latest code of the phosphor-host-ipmid package and tried to clean build with -Dtests=disabled configuration a couple of times, but the error of "fatal error: gtest/gtest.h: No such file or directory" is still there.
>
> Is there an opportunity that you could give it a shot when you have free time? And it would be great if you are able to share your build environment configuration and steps with me. Thanks.
>
>
>
> Here are my completed logs for your reference.
>
> =====
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$ git log
>
> commit 25035b8898367bc25a3b5ace7ad08728de7476c6 (HEAD -> master, origin/master, origin/HEAD)
>
> Author: Patrick Williams <patrick@stwcx.xyz>
>
> Date:   Thu Jun 16 16:35:58 2022 -0500
>
>
>
>     gitignore: minor fixup for symlink workflow
>
>
>
>     It is convenient to have the subprojects source populated by symlinking
>
>     to a common workspace so that cross-repository development can be done.
>
>     The previous .gitignore caused 'untracked file' for each subproject
>
>     symlink because it was a symlink instead of a directory.  Modify the
>
>     .gitignore to match what most other meson repositories have done.
>
>
>
>     Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
>
>     Change-Id: I303effd3c8e7099aaade4a3ac1e81ac7f55cdec0
>
>
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$ meson setup -Dtests=disabled -Dwhitelist-conf=host-ipmid-whitelist.conf builddir
>
> The Meson build system
>
> Version: 0.61.2
>
> Source dir: /home/archer/Downloads/host-tool/phosphor-host-ipmid
>
> Build dir: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir
>
> Build type: native build
>
> Project name: phosphor-host-ipimd
>
> Project version: 0.1
>
> C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> C++ linker for the host machine: c++ ld.bfd 2.38
>
> Host machine cpu family: x86_64
>
> Host machine cpu: x86_64
>
> Configuring config.h using configuration
>
> Compiler for C++ supports arguments -DBOOST_ERROR_CODE_HEADER_ONLY: YES
>
> Compiler for C++ supports arguments -DBOOST_SYSTEM_NO_DEPRECATED: YES
>
> Compiler for C++ supports arguments -DBOOST_COROUTINES_NO_DEPRECATION_WARNING: YES
>
> Compiler for C++ supports arguments -DBOOST_ASIO_DISABLE_THREADS: YES
>
> Compiler for C++ supports arguments -DBOOST_ALL_NO_LIB: YES
>
> Compiler for C++ supports arguments -flto: YES
>
> Compiler for C++ supports arguments -Wno-psabi: YES
>
> Compiler for C++ supports arguments -Wno-missing-field-initializers: YES
>
> Compiler for C++ supports arguments -Wno-pedantic: YES
>
> Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
>
> Found pkg-config: /usr/bin/pkg-config (0.29.2)
>
> Found CMake: /usr/bin/cmake (3.22.1)
>
> Run-time dependency phosphor-logging found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency phosphor-logging
>
>
>
> Executing subproject phosphor-logging
>
>
>
> phosphor-logging| Project name: phosphor-logging
>
> phosphor-logging| Project version: 1.0.0
>
> phosphor-logging| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> phosphor-logging| C++ linker for the host machine: c++ ld.bfd 2.38
>
> phosphor-logging| Program python3 found: YES (/usr/bin/python3)
>
> phosphor-logging| Run-time dependency systemd found: YES 249
>
> phosphor-logging| Run-time dependency sdbusplus found: YES 1.0.0
>
> phosphor-logging| Fallback to subproject sdbusplus which provides program sdbus++
>
>
>
> Executing subproject phosphor-logging:sdbusplus
>
>
>
> sdbusplus| Project name: sdbusplus
>
> sdbusplus| Project version: 1.0.0
>
> sdbusplus| C compiler for the host machine: cc (gcc 11.2.0 "cc (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> sdbusplus| C linker for the host machine: cc ld.bfd 2.38
>
> sdbusplus| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> sdbusplus| C++ linker for the host machine: c++ ld.bfd 2.38
>
> sdbusplus| Run-time dependency libsystemd found: YES 249
>
> sdbusplus| Program python3 (inflection, yaml, mako) found: YES (/usr/bin/python3) modules: inflection, yaml, mako
>
> sdbusplus| WARNING: Python files installed by Meson might not be found by python interpreter.
>
> sdbusplus| This warning can be avoided by setting "python.platlibdir" option.
>
> sdbusplus| WARNING: Python files installed by Meson might not be found by python interpreter.
>
> sdbusplus| This warning can be avoided by setting "python.purelibdir" option.
>
> sdbusplus| Run-time dependency Boost found: YES 1.74.0 (/usr/include)
>
> sdbusplus| Program .sdbus++ found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++)
>
> sdbusplus| Program .sdbus++-gendir found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++-gendir)
>
> sdbusplus| Program .sdbus++-gen-meson found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++-gen-meson)
>
> sdbusplus| Build targets in project: 1
>
> sdbusplus| Subproject sdbusplus finished.
>
>
>
> phosphor-logging| Program .sdbus++ found: YES (overridden)
>
> phosphor-logging| Program .sdbus++-gen-meson found: YES (overridden)
>
> phosphor-logging| Run-time dependency phosphor-dbus-interfaces found: YES 1.0.0
>
> phosphor-logging| Configuring config.h using configuration
>
> phosphor-logging| Build targets in project: 3
>
> phosphor-logging| Subproject phosphor-logging finished.
>
>
>
> Dependency phosphor-logging from subproject subprojects/phosphor-logging found: YES 1.0.0
>
> Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
>
> Run-time dependency sdeventplus found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency sdeventplus
>
>
>
> Executing subproject sdeventplus
>
>
>
> sdeventplus| Project name: sdeventplus
>
> sdeventplus| Project version: 0.1
>
> sdeventplus| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> sdeventplus| C++ linker for the host machine: c++ ld.bfd 2.38
>
> sdeventplus| Run-time dependency function2 found: NO (tried pkgconfig and cmake)
>
> sdeventplus| Header <function2/function2.hpp> has symbol "fu2::unique_function" with dependency function2: NO
>
> sdeventplus| Using subprojects/sdeventplus/subprojects/function2.wrap
>
>
>
> Executing subproject sdeventplus:function2 method cmake
>
>
>
> function2| Found CMake: /usr/bin/cmake (3.22.1)
>
>
>
> | Configuring the build directory with CMake version 3.22.1
>
> | Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTING=OFF
>
> |   - build directory:          /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build
>
> |   - source directory:         /home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/function2
>
> |   - toolchain file:           /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build/CMakeMesonToolchainFile.cmake
>
> |   - preload file:             /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/meson-private/data/preload.cmake
>
> |   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
>
> |   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]
>
>
>
> | Running with expanded trace output on.
>
> | Not searching for unused variables given on the command line.
>
> | Trace will be written to cmake_trace.txt
>
> | -- The CXX compiler identification is GNU 11.2.0
>
> | -- Detecting CXX compiler ABI info
>
> | -- Detecting CXX compiler ABI info - done
>
> | -- Check for working CXX compiler: /usr/bin/c++ - skipped
>
> | -- Detecting CXX compile features
>
> | -- Detecting CXX compile features - done
>
> | -- Configuring done
>
> | -- Generating done
>
> | -- Build files have been written to: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build
>
>
>
> function2| CMake configuration: SUCCEEDED
>
> function2| CMake project function2 has 1 build targets.
>
>
>
> cmake-ast| Processing generated meson AST
>
> cmake-ast| Build file: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/meson.build
>
>
>
> function2| Project name: function2
>
> function2| Project version: undefined
>
> function2| Build targets in project: 3
>
> function2| Subproject function2 finished.
>
>
>
>
>
> sdeventplus| Dependency libsystemd found: YES 249 (cached)
>
> sdeventplus| Run-time dependency stdplus found: YES 0.1
>
> sdeventplus| Build targets in project: 4
>
> sdeventplus| Subproject sdeventplus finished.
>
>
>
> Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
>
> Dependency systemd found: YES 249 (cached)
>
> Run-time dependency libcrypto found: YES 3.0.2
>
> Library pam found: YES
>
> Run-time dependency libmapper found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency libmapper
>
>
>
> Executing subproject phosphor-objmgr
>
>
>
> phosphor-objmgr| Project name: phosphor-objmgr
>
> phosphor-objmgr| Project version: 1.0
>
> phosphor-objmgr| C compiler for the host machine: cc (gcc 11.2.0 "cc (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> phosphor-objmgr| C linker for the host machine: cc ld.bfd 2.38
>
> phosphor-objmgr| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> phosphor-objmgr| C++ linker for the host machine: c++ ld.bfd 2.38
>
> phosphor-objmgr| Dependency phosphor-logging found: YES 1.0.0 (cached)
>
> phosphor-objmgr| Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
>
> phosphor-objmgr| Dependency sdbusplus found: YES 1.0.0 (cached)
>
> phosphor-objmgr| WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
>
> phosphor-objmgr| Run-time dependency GTest found: YES (prebuilt)
>
> phosphor-objmgr| Run-time dependency GMock found: YES (prebuilt)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency boost found: YES 1.74.0 (cached)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency systemd found: YES 249 (cached)
>
> phosphor-objmgr| Run-time dependency threads found: YES
>
> phosphor-objmgr| Run-time dependency tinyxml2 found: YES 9.0.0
>
> phosphor-objmgr| Build targets in project: 14
>
> phosphor-objmgr| Subproject phosphor-objmgr finished.
>
>
>
> Dependency libmapper from subproject subprojects/phosphor-objmgr found: YES 1.0
>
> Library boost_coroutine found: YES
>
> Dependency sdbusplus found: YES 1.0.0 (cached)
>
> WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
>
> Header <nlohmann/json.hpp> has symbol "nlohmann::json::string_t" : NO
>
> Run-time dependency nlohmann-json found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency nlohmann-json
>
> Cloning into 'nlohmann-json'...
>
> remote: Enumerating objects: 90268, done.
>
> remote: Counting objects: 100% (270/270), done.
>
> remote: Compressing objects: 100% (168/168), done.
>
> Receiving objects:  48% (43386/90268), 131.73 MiB | 74.00 KiB/s
>
> Receiving objects:  48% (43386/90268), 131.85 MiB | 61.00 KiB/s
>
> Receiving objects:  48% (44154/90268), 176.82 MiB | 82.00 KiB/s
>
> Receiving objects:  48% (44154/90268), 176.96 MiB | 97.00 KiB/s
>
>
>
> remote: Total 90268 (delta 101), reused 240 (delta 83), pack-reused 89998
>
> Receiving objects: 100% (90268/90268), 289.00 MiB | 94.00 KiB/s, done.
>
> Resolving deltas: 100% (71440/71440), done.
>
>
>
> Executing subproject nlohmann-json
>
>
>
> nlohmann-json| Project name: nlohmann_json
>
> nlohmann-json| Project version: 3.10.5
>
> nlohmann-json| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> nlohmann-json| C++ linker for the host machine: c++ ld.bfd 2.38
>
> nlohmann-json| Build targets in project: 14
>
> nlohmann-json| Subproject nlohmann-json finished.
>
>
>
> Dependency nlohmann-json from subproject subprojects/nlohmann-json found: YES 3.10.5
>
> Program python3 found: YES (/usr/bin/python3)
>
> WARNING: You should add the boolean check kwarg to the run_command call.
>
>          It currently defaults to false,
>
>          but it will default to true in future releases of meson.
>
>          See also: https://github.com/mesonbuild/meson/issues/9300
>
> Program .sdbus++ found: YES (overridden)
>
> Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
>
> Dependency sdbusplus found: YES 1.0.0 (cached)
>
> WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
>
> Build targets in project: 30
>
>
>
> phosphor-host-ipimd 0.1
>
>
>
>   Subprojects
>
>     function2       : YES
>
>     nlohmann-json   : YES
>
>     phosphor-logging: YES
>
>     phosphor-objmgr : YES 1 warnings
>
>     sdbusplus       : YES 2 warnings
>
>     sdeventplus     : YES
>
>
>
>   User defined options
>
>     tests           : disabled
>
>     whitelist-conf  : host-ipmid-whitelist.conf
>
>
>
> Found ninja-1.10.1 at /usr/bin/ninja
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$ ninja -C builddir
>
> ninja: Entering directory `builddir'
>
> [1/128] Compiling C++ object sub...apper/test/mapper.p/mapper.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/libmapper/test/mapper.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o -MF subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o.d -o subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o -c ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp
>
> ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
>
>     4 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [9/128] Compiling C++ object sub...s_added.p/interfaces_added.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/interfaces_added.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o -MF subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o.d -o subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o -c ../subprojects/phosphor-objmgr/src/test/interfaces_added.cpp
>
> In file included from ../subprojects/phosphor-objmgr/src/test/interfaces_added.cpp:2:
>
> ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
>
>     9 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [11/128] Compiling C++ object su.../name_change.p/name_change.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/name_change.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o -MF subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o.d -o subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o -c ../subprojects/phosphor-objmgr/src/test/name_change.cpp
>
> In file included from ../subprojects/phosphor-objmgr/src/test/name_change.cpp:2:
>
> ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
>
>     9 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [12/128] Compiling C++ object su...ssociations.p/associations.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/associations.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o -MF subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o.d -o subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o -c ../subprojects/phosphor-objmgr/src/test/associations.cpp
>
> In file included from ../subprojects/phosphor-objmgr/src/test/associations.cpp:3:
>
> ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
>
>     9 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [13/128] Compiling C++ object su...st/well_known.p/well_known.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/well_known.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o -MF subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o.d -o subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o -c ../subprojects/phosphor-objmgr/src/test/well_known.cpp
>
> ../subprojects/phosphor-objmgr/src/test/well_known.cpp:3:10: fatal error: gtest/gtest.h: No such file or directory
>
>     3 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [14/128] Compiling C++ object su...spect.p/need_to_introspect.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/need_to_introspect.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o -MF subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o.d -o subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o -c ../subprojects/phosphor-objmgr/src/test/need_to_introspect.cpp
>
> ../subprojects/phosphor-objmgr/src/test/need_to_introspect.cpp:3:10: fatal error: gtest/gtest.h: No such file or directory
>
>     3 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [33/128] Compiling C++ object su...aces_added.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [34/128] Compiling C++ object su...introspect.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [35/128] Compiling C++ object su...ame_change.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [36/128] Compiling C++ object su...well_known.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [37/128] Compiling C++ object su...ll_known.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [38/128] Compiling C++ object su...e_change.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [39/128] Compiling C++ object su...trospect.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [40/128] Compiling C++ object su...ciations.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [41/128] Compiling C++ object su...es_added.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> ninja: build stopped: subcommand failed.
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$
>
> =====
>
>
>
> Regards,
>
> Chris Chen
>
>
>
> ________________________________
>
> 寄件者: Brandon Kim <brandonkim@google.com>
> 寄件日期: 2022年6月30日 上午 01:19
> 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> 副本: Willy Tu <wltu@google.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
>
>
>
> Hi Chris,
>
> However, I encountered other fatal errors when building the "phosphor-host-ipmid" package as below. (Overall there are three kinds of fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured in several files, so I just list one message of each error for reference.)
> =====
> ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
>     4 | #include <gtest/gtest.h>
>
>
> Hmm it's strange that gtest is being pulled in when you have Dtest=disabled for the build. Could you try `rm -rf build` directory for phosphor-host-ipmid before doing the same command again?
>
>
>
> ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
>     5 | #include <nlohmann/json.hpp>
> ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp: No such file or directory
>    26 | #include <phosphor-logging/log.hpp>
>
>
>
> These should have been built as part of "subprojects". Could you make sure phosphor-host-ipmid is pulled to the latest, clear the build directory and build again just to make sure?
>
>
>
> Thanks,
>
> Brandon
>
>
>
> On Wed, Jun 29, 2022 at 12:57 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon and Willy,
>
> ·       First of all, I would like to say thanks for your answer and confirmation, the problems I listed are solved.
>
> ·       For Brandon's question,> It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://github.com/openbmc/phosphor-ipmi-flash#building-the-host-tool?
>
> Yes, I followed the README.md to build each of the components.
>
> ·       However, I encountered other fatal errors when building the "phosphor-host-ipmid" package as below. (Overall there are three kinds of fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured in several files, so I just list one message of each error for reference.)
>
> =====
> ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
>     4 | #include <gtest/gtest.h>
> ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
>     5 | #include <nlohmann/json.hpp>
> ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp: No such file or directory
>     26 | #include <phosphor-logging/log.hpp>
> =====
>
> Do you have any suggestions on this?
> BTW. I use following commands to build the "phosphor-host-ipmid" package, it should be correct, right?
>
> -----
> meson setup -Dtests=disabled builddir
> ninja -C builddir
> ninja -C builddir install
> -----
>
> ·       I don't insist to build locally, so as per your recommendation I'm trying to build it by using docker. However, I have limit capability with docker, I for now met a question on building docker image by using the "build-unit-test-docker" script you mentioned, that is after installing the docker-desktop on my Host, I referred to https://github.com/openbmc/docs/blob/master/testing/run-test-docker.md#build-docker-image to build the docker image, of course, I replace the command as below,
>
> ./scripts/build-unit-test-docker
>
> Then, the error came out after several minutes. (I retried few times, some images are already exists.) Could you help to take a look at this, and give me some suggestions as well?
>
> =====
> archer@archer-ArcherCityM:openbmc-build-scripts$ ./scripts/build-unit-test-docker
> Image openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-uscilab-cereal:2022-W26-ab72d4495979e830 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-nlohmann-json:2022-W26-ffba809170eb0a41 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-naios-function2:2022-W26-3b876756bb76be23 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-cliutils-cli11:2022-W26-f53b55bea30b21c6 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-libvnc-libvncserver:2022-W26-90d3acb2a0df9617 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-cppalliance-url:2022-W26-460f317503ba9422 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-boost:2022-W26-d87626309071f65f already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-catchorg-catch2:2022-W26-3439038e67e82304 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-leethomason-tinyxml2:2022-W26-323efeff9db53382 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-facebookexperimental-libunifex:2022-W26-1eff6ee41b25d7e1 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-linux-test-project-lcov:2022-W26-13690675d4cda956 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-fmtlib-fmt:2022-W26-8c08817ee76f296a already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-google-googletest:2022-W26-41755ba7fe770d1e already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-tristanpenman-valijson:2022-W26-2d55955ffea82018 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-open-power-pdbg:2022-W26-ea1338b7d5bcf717 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-sdbusplus:2022-W26-4de3de6a7dd74c72 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-stdplus:2022-W26-fcc6d0d878d82435 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-gpioplus:2022-W26-6e12ea9e28a38a45 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-sdeventplus:2022-W26-077c15efe62026d9 already exists.  Skipping.
> Package openbmc/linux failed!
> Traceback (most recent call last):
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 852, in <module>
>     Package.generate_all()
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 396, in generate_all
>     raise t.exception
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 365, in run
>     Docker.build(self.package, tag, dockerfile)
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 620, in build
>     docker.build(
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 1566, in __call__
>     return RunningCommand(cmd, call_args, stdin, stdout, stderr)
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 822, in __init__
>     self.wait()
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 879, in wait
>     self.handle_command_exit_code(exit_code)
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 905, in handle_command_exit_code
>     raise exc
> sh.ErrorReturnCode_1:
>
>   RAN: /usr/local/bin/docker build --network=host --force-rm --no-cache=false -t openbmc/ubuntu-unit-test-openbmc-linux:2022-W26-4d748d691e37a3f6 -
>
>   STDOUT:
>
>   STDERR:
> #1 [internal] load build definition from Dockerfile
> #1 sha256:7b1d92eec8d42e247f2bb4fd1260a7b209eb6af9dab84c342a27d5cdd089f3f8
> #1 transferring dockerfile: 307B 0.0s done
> #1 DONE 0.1s
>
> #2 [internal] load .dockerignore
> #2 sha256:c8396637158fe442f7870c427fb14a5e1f1f71b781353fcff1a75b6301070bcb
> #2 transferring context: 2B done
> #2 DONE 0.0s
>
> #3 [internal] load metadata for docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
> #3 sha256:053b27ec734906a3cbf79dc0bc99b133a80abc1aa2fd5545010138b72cf16ee0
> #3 DONE 0.0s
>
> #4 [1/2] FROM docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
> #4 sha256:e6e9b48a100df776a75b8dc934e85d3f5282ade34c031f25e3dd74a0ecd13842
> #4 CACHED
>
> #5 [2/2] RUN curl -L https://github.com/openbmc/linux/arch... (3475 more, please see e.stderr)
> =====
>
>
>
> Regards,
>
> Chris Chen
>
>
>
> ________________________________
>
> 寄件者: Willy Tu <wltu@google.com>
> 寄件日期: 2022年6月28日 下午 11:56
> 收件者: Brandon Kim <brandonkim@google.com>
> 副本: Chris Chen (TPI) <Chris.Chen3@flex.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
>
>
>
> Oh yeah, the README is 100% outdated. We have moved to meson and we
> should update it at some point in life.
>
> I think your command to build burn_my_bmc should be fine. The
> `host-tool` should be enabled by default.
>
> Can try the following, just in case.
> ```
> meson setup -Dhost-tool=enabled builddir
> ninja -C builddir
> ninja -C builddir install
> ```
>
> Willy Tu
>
>
> On Tue, Jun 28, 2022 at 8:51 AM Brandon Kim <brandonkim@google.com> wrote:
> >
> > Ah, it seems like the email chains were broken up for some reason - seeing this now after I replied to the other email chain.
> >
>
> > It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$  ?
>
> >
> > It details the commands to use for each of the dependencies.
> >
> > Good point on the burn_my_bmc command in the README description not being not up to date and still using automake (https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$ ) - I'll try to run this to verify when I get time later today, but in the meantime perhaps @Willy Tu may know the command off the top of his head as he performed the big meson migration. As a first glance the command looks correct.
> >
> > Willy recently also migrated phospohr-host-ipmid to meson, so he may know more about the PAM dependency as well.
> >
> > Thanks,
> > Brandon
> >
> >
> > On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >>
> >> Hi Patrick,
> >>
> >> Thanks for your prompt reply, and the issue is solved after installing Ubuntu "libfmt-dev" package.
> >>
> >> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> >> >> and some of our code now requires C++20.
> >>
> >> I disabled C++20 of the "ipmi-blob-tool" package because I got errors below:
> >> =====
> >> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
> >> + autoreconf -v -f -i
> >> autoreconf: export WARNINGS=
> >> autoreconf: Entering directory '.'
> >> autoreconf: configure.ac: not using Gettext
> >> autoreconf: running: aclocal --force -I m4
> >> configure.ac:38: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX
> >> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is expanded from...
> >> configure.ac:38: the top level
> >> autom4te: error: /usr/bin/m4 failed with exit status: 1
> >> aclocal: error: /usr/bin/autom4te failed with exit status: 1
> >> autoreconf: error: aclocal failed with exit status: 1
> >> =====
> >> Do you have ideas about how to solve it correctly?
> >>
> >> In addition, i have started to build the burn_my_bmc (the host-tool) on the Host by cloning the "phosphor-ipmi-flash" source. There are some questions came out:
> >>
> >> The "phosphor-ipmi-flash" package seems became to use "meson" rather than "bootstrap.sh", so I run these commands in the source directory. Is it correct?
> >> -----
> >> meson setup -Dbmc-blob-handler=disabled builddir
> >> ninja -C builddir
> >> ninja -C builddir install
> >> -----
> >>
> >> After running "meson setup -Dbmc-blob-handler=disabled builddir", it occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces', 'libipmid', and so on is required respectively, is it correct?
> >>
> >> I for now have tried to install these dependencies one-by-one, but be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run "meson builddir" command to build it, however, I got an error in blow and I can't solve it. Could you please give me some suggestions?
> >> =====
> >> Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
> >> Dependency systemd found: YES 249 (cached)
> >> Run-time dependency libcrypto found: YES 3.0.2
> >>
> >> meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
> >> =====
> >>
> >> Thanks.
> >>
> >> Regards,
> >> Chris Chen
> >>
> >> ________________________________ 寄件者: Patrick Williams
> >> 已傳送: 星期二, 2022 6 月 28 日 下午 07:20
> >> 收件者: Chris Chen (TPI)
> >> 副本: openbmc@lists.ozlabs.org
> >> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
> >>
> >> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
> >> > And each library and tool is built successful(only one thing that is I had to disable C++20 for the ipmi-blob-tool, others were fine) untilI started to build the stdplus. I encountered a build failed issue as below. It looks like there is a problem for using libfmt.a, I tried to figure out a solution on google but nothing is related to this. Could anyone help on this? Thanks.
> >>
> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> >> and some of our code now requires C++20.
> >>
> >> >
> >> > =====
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false -Dtests=disabled builddir
> >> > The Meson build system
> >> > Version: 0.61.2
> >> > Source dir: /home/archer/Downloads/host-tool/stdplus
> >> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
> >> > Build type: native build
> >> > Project name: stdplus
> >> > Project version: 0.1
> >> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >> > C++ linker for the host machine: c++ ld.bfd 2.38
> >> > Host machine cpu family: x86_64
> >> > Host machine cpu: x86_64
> >> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
> >> > Run-time dependency fmt found: YES 8.1.2
> >>
> >> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
> >> install which is version 8.1.1 on Jammy right now.
> >>
> >> > Library dl found: YES
> >> > Run-time dependency liburing found: YES 2.0
> >> > Build targets in project: 1
> >> >
> >> > stdplus 0.1
> >> >
> >> >   User defined options
> >> >     examples: false
> >> >     tests   : disabled
> >> >
> >> > Found ninja-1.10.1 at /usr/bin/ninja
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
> >> > ninja: Entering directory `builddir'
> >> > [9/9] Linking target src/libstdplus.so.0.1
> >> > FAILED: src/libstdplus.so.0.1
> >> > c++  -o src/libstdplus.so.0.1 src/libstdplus.so.0.1.p/stdplus_exception.cpp.o src/libstdplus.so.0.1.p/stdplus_signal.cpp.o src/libstdplus.so.0.1.p/stdplus_dl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
> >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
> >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
> >>
> >> However you obtained your libfmt, it was compiled incorrectly.  It
> >> shouldn't have a static library but a dynamic one.
> >>
> >> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
> >> linking as a shared library.
> >>
> >> --
> >> Patrick Williams
> >> Legal Disclaimer :
> >> The information contained in this message may be privileged and confidential.
> >> It is intended to be read only by the individual or entity to whom it is addressed
> >> or by their designee. If the reader of this message is not the intended recipient,
> >> you are on notice that any distribution of this message, in any form,
> >> is strictly prohibited. If you have received this message in error,
> >> please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* RE: FW: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
  2022-07-01 16:34               ` FW: " Brandon Kim
@ 2022-07-05  8:20                 ` Chris Chen (TPI)
  2022-07-13 21:17                   ` Brandon Kim
  0 siblings, 1 reply; 9+ messages in thread
From: Chris Chen (TPI) @ 2022-07-05  8:20 UTC (permalink / raw)
  To: Brandon Kim; +Cc: openbmc, Willy Tu

Hi Brandom,

It's no problem when I directly built phosphor-objmgr and do a ninja build install. I for now have got the burn_my_bmc this host-tool.
Thanks for your help.

Regards,
Chris Chen


-----Original Message-----
From: Brandon Kim <brandonkim@google.com> 
Sent: Saturday, July 2, 2022 12:35 AM
To: Chris Chen (TPI) <Chris.Chen3@flex.com>
Cc: Willy Tu <wltu@google.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org
Subject: Re: FW: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host

Attempting to send this again, as I forgot to do "plain text" mode and
I think it held back the email send.

Ah it looks like the problem is with phosphor-objmgr build - seems
like they may not have propagated the test=disabled flag down to that
build for some reason - I wonder if it'll work if you could try
building phosphor-objmgr and do a ninja build install first.

Otherwise, we should fix the underlying problem which is that you may
not have gtest installed in your workstation:
https://urldefense.com/v3/__https://stackoverflow.com/questions/13513905/how-to-set-up-googletest-as-a-shared-library-on-linux__;!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7C8UxW9A$ 

Thanks,
Brandon


On Fri, Jul 1, 2022 at 1:42 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon,
>
>
>
> I have pulled the latest code of the phosphor-host-ipmid package and tried to clean build with -Dtests=disabled configuration a couple of times, but the error of "fatal error: gtest/gtest.h: No such file or directory" is still there.
>
> Is there an opportunity that you could give it a shot when you have free time? And it would be great if you are able to share your build environment configuration and steps with me. Thanks.
>
>
>
> Here are my completed logs for your reference.
>
> =====
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$ git log
>
> commit 25035b8898367bc25a3b5ace7ad08728de7476c6 (HEAD -> master, origin/master, origin/HEAD)
>
> Author: Patrick Williams <patrick@stwcx.xyz>
>
> Date:   Thu Jun 16 16:35:58 2022 -0500
>
>
>
>     gitignore: minor fixup for symlink workflow
>
>
>
>     It is convenient to have the subprojects source populated by symlinking
>
>     to a common workspace so that cross-repository development can be done.
>
>     The previous .gitignore caused 'untracked file' for each subproject
>
>     symlink because it was a symlink instead of a directory.  Modify the
>
>     .gitignore to match what most other meson repositories have done.
>
>
>
>     Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
>
>     Change-Id: I303effd3c8e7099aaade4a3ac1e81ac7f55cdec0
>
>
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$ meson setup -Dtests=disabled -Dwhitelist-conf=host-ipmid-whitelist.conf builddir
>
> The Meson build system
>
> Version: 0.61.2
>
> Source dir: /home/archer/Downloads/host-tool/phosphor-host-ipmid
>
> Build dir: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir
>
> Build type: native build
>
> Project name: phosphor-host-ipimd
>
> Project version: 0.1
>
> C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> C++ linker for the host machine: c++ ld.bfd 2.38
>
> Host machine cpu family: x86_64
>
> Host machine cpu: x86_64
>
> Configuring config.h using configuration
>
> Compiler for C++ supports arguments -DBOOST_ERROR_CODE_HEADER_ONLY: YES
>
> Compiler for C++ supports arguments -DBOOST_SYSTEM_NO_DEPRECATED: YES
>
> Compiler for C++ supports arguments -DBOOST_COROUTINES_NO_DEPRECATION_WARNING: YES
>
> Compiler for C++ supports arguments -DBOOST_ASIO_DISABLE_THREADS: YES
>
> Compiler for C++ supports arguments -DBOOST_ALL_NO_LIB: YES
>
> Compiler for C++ supports arguments -flto: YES
>
> Compiler for C++ supports arguments -Wno-psabi: YES
>
> Compiler for C++ supports arguments -Wno-missing-field-initializers: YES
>
> Compiler for C++ supports arguments -Wno-pedantic: YES
>
> Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
>
> Found pkg-config: /usr/bin/pkg-config (0.29.2)
>
> Found CMake: /usr/bin/cmake (3.22.1)
>
> Run-time dependency phosphor-logging found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency phosphor-logging
>
>
>
> Executing subproject phosphor-logging
>
>
>
> phosphor-logging| Project name: phosphor-logging
>
> phosphor-logging| Project version: 1.0.0
>
> phosphor-logging| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> phosphor-logging| C++ linker for the host machine: c++ ld.bfd 2.38
>
> phosphor-logging| Program python3 found: YES (/usr/bin/python3)
>
> phosphor-logging| Run-time dependency systemd found: YES 249
>
> phosphor-logging| Run-time dependency sdbusplus found: YES 1.0.0
>
> phosphor-logging| Fallback to subproject sdbusplus which provides program sdbus++
>
>
>
> Executing subproject phosphor-logging:sdbusplus
>
>
>
> sdbusplus| Project name: sdbusplus
>
> sdbusplus| Project version: 1.0.0
>
> sdbusplus| C compiler for the host machine: cc (gcc 11.2.0 "cc (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> sdbusplus| C linker for the host machine: cc ld.bfd 2.38
>
> sdbusplus| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> sdbusplus| C++ linker for the host machine: c++ ld.bfd 2.38
>
> sdbusplus| Run-time dependency libsystemd found: YES 249
>
> sdbusplus| Program python3 (inflection, yaml, mako) found: YES (/usr/bin/python3) modules: inflection, yaml, mako
>
> sdbusplus| WARNING: Python files installed by Meson might not be found by python interpreter.
>
> sdbusplus| This warning can be avoided by setting "python.platlibdir" option.
>
> sdbusplus| WARNING: Python files installed by Meson might not be found by python interpreter.
>
> sdbusplus| This warning can be avoided by setting "python.purelibdir" option.
>
> sdbusplus| Run-time dependency Boost found: YES 1.74.0 (/usr/include)
>
> sdbusplus| Program .sdbus++ found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++)
>
> sdbusplus| Program .sdbus++-gendir found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++-gendir)
>
> sdbusplus| Program .sdbus++-gen-meson found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++-gen-meson)
>
> sdbusplus| Build targets in project: 1
>
> sdbusplus| Subproject sdbusplus finished.
>
>
>
> phosphor-logging| Program .sdbus++ found: YES (overridden)
>
> phosphor-logging| Program .sdbus++-gen-meson found: YES (overridden)
>
> phosphor-logging| Run-time dependency phosphor-dbus-interfaces found: YES 1.0.0
>
> phosphor-logging| Configuring config.h using configuration
>
> phosphor-logging| Build targets in project: 3
>
> phosphor-logging| Subproject phosphor-logging finished.
>
>
>
> Dependency phosphor-logging from subproject subprojects/phosphor-logging found: YES 1.0.0
>
> Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
>
> Run-time dependency sdeventplus found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency sdeventplus
>
>
>
> Executing subproject sdeventplus
>
>
>
> sdeventplus| Project name: sdeventplus
>
> sdeventplus| Project version: 0.1
>
> sdeventplus| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> sdeventplus| C++ linker for the host machine: c++ ld.bfd 2.38
>
> sdeventplus| Run-time dependency function2 found: NO (tried pkgconfig and cmake)
>
> sdeventplus| Header <function2/function2.hpp> has symbol "fu2::unique_function" with dependency function2: NO
>
> sdeventplus| Using subprojects/sdeventplus/subprojects/function2.wrap
>
>
>
> Executing subproject sdeventplus:function2 method cmake
>
>
>
> function2| Found CMake: /usr/bin/cmake (3.22.1)
>
>
>
> | Configuring the build directory with CMake version 3.22.1
>
> | Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTING=OFF
>
> |   - build directory:          /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build
>
> |   - source directory:         /home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/function2
>
> |   - toolchain file:           /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build/CMakeMesonToolchainFile.cmake
>
> |   - preload file:             /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/meson-private/data/preload.cmake
>
> |   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
>
> |   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]
>
>
>
> | Running with expanded trace output on.
>
> | Not searching for unused variables given on the command line.
>
> | Trace will be written to cmake_trace.txt
>
> | -- The CXX compiler identification is GNU 11.2.0
>
> | -- Detecting CXX compiler ABI info
>
> | -- Detecting CXX compiler ABI info - done
>
> | -- Check for working CXX compiler: /usr/bin/c++ - skipped
>
> | -- Detecting CXX compile features
>
> | -- Detecting CXX compile features - done
>
> | -- Configuring done
>
> | -- Generating done
>
> | -- Build files have been written to: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build
>
>
>
> function2| CMake configuration: SUCCEEDED
>
> function2| CMake project function2 has 1 build targets.
>
>
>
> cmake-ast| Processing generated meson AST
>
> cmake-ast| Build file: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/meson.build
>
>
>
> function2| Project name: function2
>
> function2| Project version: undefined
>
> function2| Build targets in project: 3
>
> function2| Subproject function2 finished.
>
>
>
>
>
> sdeventplus| Dependency libsystemd found: YES 249 (cached)
>
> sdeventplus| Run-time dependency stdplus found: YES 0.1
>
> sdeventplus| Build targets in project: 4
>
> sdeventplus| Subproject sdeventplus finished.
>
>
>
> Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
>
> Dependency systemd found: YES 249 (cached)
>
> Run-time dependency libcrypto found: YES 3.0.2
>
> Library pam found: YES
>
> Run-time dependency libmapper found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency libmapper
>
>
>
> Executing subproject phosphor-objmgr
>
>
>
> phosphor-objmgr| Project name: phosphor-objmgr
>
> phosphor-objmgr| Project version: 1.0
>
> phosphor-objmgr| C compiler for the host machine: cc (gcc 11.2.0 "cc (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> phosphor-objmgr| C linker for the host machine: cc ld.bfd 2.38
>
> phosphor-objmgr| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> phosphor-objmgr| C++ linker for the host machine: c++ ld.bfd 2.38
>
> phosphor-objmgr| Dependency phosphor-logging found: YES 1.0.0 (cached)
>
> phosphor-objmgr| Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
>
> phosphor-objmgr| Dependency sdbusplus found: YES 1.0.0 (cached)
>
> phosphor-objmgr| WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
>
> phosphor-objmgr| Run-time dependency GTest found: YES (prebuilt)
>
> phosphor-objmgr| Run-time dependency GMock found: YES (prebuilt)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency boost found: YES 1.74.0 (cached)
>
> phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
>
> phosphor-objmgr| Dependency systemd found: YES 249 (cached)
>
> phosphor-objmgr| Run-time dependency threads found: YES
>
> phosphor-objmgr| Run-time dependency tinyxml2 found: YES 9.0.0
>
> phosphor-objmgr| Build targets in project: 14
>
> phosphor-objmgr| Subproject phosphor-objmgr finished.
>
>
>
> Dependency libmapper from subproject subprojects/phosphor-objmgr found: YES 1.0
>
> Library boost_coroutine found: YES
>
> Dependency sdbusplus found: YES 1.0.0 (cached)
>
> WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
>
> Header <nlohmann/json.hpp> has symbol "nlohmann::json::string_t" : NO
>
> Run-time dependency nlohmann-json found: NO (tried pkgconfig and cmake)
>
> Looking for a fallback subproject for the dependency nlohmann-json
>
> Cloning into 'nlohmann-json'...
>
> remote: Enumerating objects: 90268, done.
>
> remote: Counting objects: 100% (270/270), done.
>
> remote: Compressing objects: 100% (168/168), done.
>
> Receiving objects:  48% (43386/90268), 131.73 MiB | 74.00 KiB/s
>
> Receiving objects:  48% (43386/90268), 131.85 MiB | 61.00 KiB/s
>
> Receiving objects:  48% (44154/90268), 176.82 MiB | 82.00 KiB/s
>
> Receiving objects:  48% (44154/90268), 176.96 MiB | 97.00 KiB/s
>
>
>
> remote: Total 90268 (delta 101), reused 240 (delta 83), pack-reused 89998
>
> Receiving objects: 100% (90268/90268), 289.00 MiB | 94.00 KiB/s, done.
>
> Resolving deltas: 100% (71440/71440), done.
>
>
>
> Executing subproject nlohmann-json
>
>
>
> nlohmann-json| Project name: nlohmann_json
>
> nlohmann-json| Project version: 3.10.5
>
> nlohmann-json| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
>
> nlohmann-json| C++ linker for the host machine: c++ ld.bfd 2.38
>
> nlohmann-json| Build targets in project: 14
>
> nlohmann-json| Subproject nlohmann-json finished.
>
>
>
> Dependency nlohmann-json from subproject subprojects/nlohmann-json found: YES 3.10.5
>
> Program python3 found: YES (/usr/bin/python3)
>
> WARNING: You should add the boolean check kwarg to the run_command call.
>
>          It currently defaults to false,
>
>          but it will default to true in future releases of meson.
>
>          See also: https://urldefense.com/v3/__https://github.com/mesonbuild/meson/issues/9300__;!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7LoQlzXA$ 
>
> Program .sdbus++ found: YES (overridden)
>
> Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
>
> Dependency sdbusplus found: YES 1.0.0 (cached)
>
> WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
>
> Build targets in project: 30
>
>
>
> phosphor-host-ipimd 0.1
>
>
>
>   Subprojects
>
>     function2       : YES
>
>     nlohmann-json   : YES
>
>     phosphor-logging: YES
>
>     phosphor-objmgr : YES 1 warnings
>
>     sdbusplus       : YES 2 warnings
>
>     sdeventplus     : YES
>
>
>
>   User defined options
>
>     tests           : disabled
>
>     whitelist-conf  : host-ipmid-whitelist.conf
>
>
>
> Found ninja-1.10.1 at /usr/bin/ninja
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$ ninja -C builddir
>
> ninja: Entering directory `builddir'
>
> [1/128] Compiling C++ object sub...apper/test/mapper.p/mapper.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/libmapper/test/mapper.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o -MF subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o.d -o subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o -c ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp
>
> ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
>
>     4 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [9/128] Compiling C++ object sub...s_added.p/interfaces_added.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/interfaces_added.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o -MF subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o.d -o subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o -c ../subprojects/phosphor-objmgr/src/test/interfaces_added.cpp
>
> In file included from ../subprojects/phosphor-objmgr/src/test/interfaces_added.cpp:2:
>
> ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
>
>     9 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [11/128] Compiling C++ object su.../name_change.p/name_change.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/name_change.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o -MF subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o.d -o subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o -c ../subprojects/phosphor-objmgr/src/test/name_change.cpp
>
> In file included from ../subprojects/phosphor-objmgr/src/test/name_change.cpp:2:
>
> ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
>
>     9 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [12/128] Compiling C++ object su...ssociations.p/associations.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/associations.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o -MF subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o.d -o subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o -c ../subprojects/phosphor-objmgr/src/test/associations.cpp
>
> In file included from ../subprojects/phosphor-objmgr/src/test/associations.cpp:3:
>
> ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
>
>     9 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [13/128] Compiling C++ object su...st/well_known.p/well_known.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/well_known.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o -MF subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o.d -o subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o -c ../subprojects/phosphor-objmgr/src/test/well_known.cpp
>
> ../subprojects/phosphor-objmgr/src/test/well_known.cpp:3:10: fatal error: gtest/gtest.h: No such file or directory
>
>     3 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [14/128] Compiling C++ object su...spect.p/need_to_introspect.cpp.o
>
> FAILED: subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o
>
> c++ -Isubprojects/phosphor-objmgr/src/test/need_to_introspect.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o -MF subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o.d -o subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o -c ../subprojects/phosphor-objmgr/src/test/need_to_introspect.cpp
>
> ../subprojects/phosphor-objmgr/src/test/need_to_introspect.cpp:3:10: fatal error: gtest/gtest.h: No such file or directory
>
>     3 | #include <gtest/gtest.h>
>
>       |          ^~~~~~~~~~~~~~~
>
> compilation terminated.
>
> [33/128] Compiling C++ object su...aces_added.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [34/128] Compiling C++ object su...introspect.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [35/128] Compiling C++ object su...ame_change.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [36/128] Compiling C++ object su...well_known.p/.._processing.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [37/128] Compiling C++ object su...ll_known.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [38/128] Compiling C++ object su...e_change.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [39/128] Compiling C++ object su...trospect.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [40/128] Compiling C++ object su...ciations.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> [41/128] Compiling C++ object su...es_added.p/.._associations.cpp.o
>
> In file included from /usr/include/boost/config/header_deprecated.hpp:18,
>
>                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
>
>                  from /usr/include/boost/coroutine/exceptions.hpp:14,
>
>                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
>
>                  from /usr/include/boost/coroutine/coroutine.hpp:10,
>
>                  from /usr/include/boost/coroutine/all.hpp:11,
>
>                  from /usr/include/boost/asio/spawn.hpp:19,
>
>                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
>
>                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
>
>                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
>
> /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
>
>    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
>
>       | ^~~~~~~~~~~~~~~~~~~~~~~
>
> ninja: build stopped: subcommand failed.
>
> archer@archer-ArcherCityM:phosphor-host-ipmid$
>
> =====
>
>
>
> Regards,
>
> Chris Chen
>
>
>
> ________________________________
>
> 寄件者: Brandon Kim <brandonkim@google.com>
> 寄件日期: 2022年6月30日 上午 01:19
> 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> 副本: Willy Tu <wltu@google.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
>
>
>
> Hi Chris,
>
> However, I encountered other fatal errors when building the "phosphor-host-ipmid" package as below. (Overall there are three kinds of fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured in several files, so I just list one message of each error for reference.)
> =====
> ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
>     4 | #include <gtest/gtest.h>
>
>
> Hmm it's strange that gtest is being pulled in when you have Dtest=disabled for the build. Could you try `rm -rf build` directory for phosphor-host-ipmid before doing the same command again?
>
>
>
> ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
>     5 | #include <nlohmann/json.hpp>
> ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp: No such file or directory
>    26 | #include <phosphor-logging/log.hpp>
>
>
>
> These should have been built as part of "subprojects". Could you make sure phosphor-host-ipmid is pulled to the latest, clear the build directory and build again just to make sure?
>
>
>
> Thanks,
>
> Brandon
>
>
>
> On Wed, Jun 29, 2022 at 12:57 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandon and Willy,
>
> ·       First of all, I would like to say thanks for your answer and confirmation, the problems I listed are solved.
>
> ·       For Brandon's question,> It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool?__;Iw!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs5a0ndQVw$ 
>
> Yes, I followed the README.md to build each of the components.
>
> ·       However, I encountered other fatal errors when building the "phosphor-host-ipmid" package as below. (Overall there are three kinds of fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured in several files, so I just list one message of each error for reference.)
>
> =====
> ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
>     4 | #include <gtest/gtest.h>
> ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
>     5 | #include <nlohmann/json.hpp>
> ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp: No such file or directory
>     26 | #include <phosphor-logging/log.hpp>
> =====
>
> Do you have any suggestions on this?
> BTW. I use following commands to build the "phosphor-host-ipmid" package, it should be correct, right?
>
> -----
> meson setup -Dtests=disabled builddir
> ninja -C builddir
> ninja -C builddir install
> -----
>
> ·       I don't insist to build locally, so as per your recommendation I'm trying to build it by using docker. However, I have limit capability with docker, I for now met a question on building docker image by using the "build-unit-test-docker" script you mentioned, that is after installing the docker-desktop on my Host, I referred to https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/testing/run-test-docker.md*build-docker-image__;Iw!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7GBQqFpQ$  to build the docker image, of course, I replace the command as below,
>
> ./scripts/build-unit-test-docker
>
> Then, the error came out after several minutes. (I retried few times, some images are already exists.) Could you help to take a look at this, and give me some suggestions as well?
>
> =====
> archer@archer-ArcherCityM:openbmc-build-scripts$ ./scripts/build-unit-test-docker
> Image openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-uscilab-cereal:2022-W26-ab72d4495979e830 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-nlohmann-json:2022-W26-ffba809170eb0a41 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-naios-function2:2022-W26-3b876756bb76be23 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-cliutils-cli11:2022-W26-f53b55bea30b21c6 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-libvnc-libvncserver:2022-W26-90d3acb2a0df9617 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-cppalliance-url:2022-W26-460f317503ba9422 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-boost:2022-W26-d87626309071f65f already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-catchorg-catch2:2022-W26-3439038e67e82304 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-leethomason-tinyxml2:2022-W26-323efeff9db53382 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-facebookexperimental-libunifex:2022-W26-1eff6ee41b25d7e1 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-linux-test-project-lcov:2022-W26-13690675d4cda956 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-fmtlib-fmt:2022-W26-8c08817ee76f296a already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-google-googletest:2022-W26-41755ba7fe770d1e already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-tristanpenman-valijson:2022-W26-2d55955ffea82018 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-open-power-pdbg:2022-W26-ea1338b7d5bcf717 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-sdbusplus:2022-W26-4de3de6a7dd74c72 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-stdplus:2022-W26-fcc6d0d878d82435 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-gpioplus:2022-W26-6e12ea9e28a38a45 already exists.  Skipping.
> Image openbmc/ubuntu-unit-test-openbmc-sdeventplus:2022-W26-077c15efe62026d9 already exists.  Skipping.
> Package openbmc/linux failed!
> Traceback (most recent call last):
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 852, in <module>
>     Package.generate_all()
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 396, in generate_all
>     raise t.exception
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 365, in run
>     Docker.build(self.package, tag, dockerfile)
>   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 620, in build
>     docker.build(
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 1566, in __call__
>     return RunningCommand(cmd, call_args, stdin, stdout, stderr)
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 822, in __init__
>     self.wait()
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 879, in wait
>     self.handle_command_exit_code(exit_code)
>   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 905, in handle_command_exit_code
>     raise exc
> sh.ErrorReturnCode_1:
>
>   RAN: /usr/local/bin/docker build --network=host --force-rm --no-cache=false -t openbmc/ubuntu-unit-test-openbmc-linux:2022-W26-4d748d691e37a3f6 -
>
>   STDOUT:
>
>   STDERR:
> #1 [internal] load build definition from Dockerfile
> #1 sha256:7b1d92eec8d42e247f2bb4fd1260a7b209eb6af9dab84c342a27d5cdd089f3f8
> #1 transferring dockerfile: 307B 0.0s done
> #1 DONE 0.1s
>
> #2 [internal] load .dockerignore
> #2 sha256:c8396637158fe442f7870c427fb14a5e1f1f71b781353fcff1a75b6301070bcb
> #2 transferring context: 2B done
> #2 DONE 0.0s
>
> #3 [internal] load metadata for docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
> #3 sha256:053b27ec734906a3cbf79dc0bc99b133a80abc1aa2fd5545010138b72cf16ee0
> #3 DONE 0.0s
>
> #4 [1/2] FROM docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
> #4 sha256:e6e9b48a100df776a75b8dc934e85d3f5282ade34c031f25e3dd74a0ecd13842
> #4 CACHED
>
> #5 [2/2] RUN curl -L https://urldefense.com/v3/__https://github.com/openbmc/linux/arch__;!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7JcHcBSQ$ ... (3475 more, please see e.stderr)
> =====
>
>
>
> Regards,
>
> Chris Chen
>
>
>
> ________________________________
>
> 寄件者: Willy Tu <wltu@google.com>
> 寄件日期: 2022年6月28日 下午 11:56
> 收件者: Brandon Kim <brandonkim@google.com>
> 副本: Chris Chen (TPI) <Chris.Chen3@flex.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
>
>
>
> Oh yeah, the README is 100% outdated. We have moved to meson and we
> should update it at some point in life.
>
> I think your command to build burn_my_bmc should be fine. The
> `host-tool` should be enabled by default.
>
> Can try the following, just in case.
> ```
> meson setup -Dhost-tool=enabled builddir
> ninja -C builddir
> ninja -C builddir install
> ```
>
> Willy Tu
>
>
> On Tue, Jun 28, 2022 at 8:51 AM Brandon Kim <brandonkim@google.com> wrote:
> >
> > Ah, it seems like the email chains were broken up for some reason - seeing this now after I replied to the other email chain.
> >
>
> > It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$  ?
>
> >
> > It details the commands to use for each of the dependencies.
> >
> > Good point on the burn_my_bmc command in the README description not being not up to date and still using automake (https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$ ) - I'll try to run this to verify when I get time later today, but in the meantime perhaps @Willy Tu may know the command off the top of his head as he performed the big meson migration. As a first glance the command looks correct.
> >
> > Willy recently also migrated phospohr-host-ipmid to meson, so he may know more about the PAM dependency as well.
> >
> > Thanks,
> > Brandon
> >
> >
> > On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >>
> >> Hi Patrick,
> >>
> >> Thanks for your prompt reply, and the issue is solved after installing Ubuntu "libfmt-dev" package.
> >>
> >> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> >> >> and some of our code now requires C++20.
> >>
> >> I disabled C++20 of the "ipmi-blob-tool" package because I got errors below:
> >> =====
> >> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
> >> + autoreconf -v -f -i
> >> autoreconf: export WARNINGS=
> >> autoreconf: Entering directory '.'
> >> autoreconf: configure.ac: not using Gettext
> >> autoreconf: running: aclocal --force -I m4
> >> configure.ac:38: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX
> >> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is expanded from...
> >> configure.ac:38: the top level
> >> autom4te: error: /usr/bin/m4 failed with exit status: 1
> >> aclocal: error: /usr/bin/autom4te failed with exit status: 1
> >> autoreconf: error: aclocal failed with exit status: 1
> >> =====
> >> Do you have ideas about how to solve it correctly?
> >>
> >> In addition, i have started to build the burn_my_bmc (the host-tool) on the Host by cloning the "phosphor-ipmi-flash" source. There are some questions came out:
> >>
> >> The "phosphor-ipmi-flash" package seems became to use "meson" rather than "bootstrap.sh", so I run these commands in the source directory. Is it correct?
> >> -----
> >> meson setup -Dbmc-blob-handler=disabled builddir
> >> ninja -C builddir
> >> ninja -C builddir install
> >> -----
> >>
> >> After running "meson setup -Dbmc-blob-handler=disabled builddir", it occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces', 'libipmid', and so on is required respectively, is it correct?
> >>
> >> I for now have tried to install these dependencies one-by-one, but be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run "meson builddir" command to build it, however, I got an error in blow and I can't solve it. Could you please give me some suggestions?
> >> =====
> >> Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
> >> Dependency systemd found: YES 249 (cached)
> >> Run-time dependency libcrypto found: YES 3.0.2
> >>
> >> meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
> >> =====
> >>
> >> Thanks.
> >>
> >> Regards,
> >> Chris Chen
> >>
> >> ________________________________ 寄件者: Patrick Williams
> >> 已傳送: 星期二, 2022 6 月 28 日 下午 07:20
> >> 收件者: Chris Chen (TPI)
> >> 副本: openbmc@lists.ozlabs.org
> >> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
> >>
> >> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
> >> > And each library and tool is built successful(only one thing that is I had to disable C++20 for the ipmi-blob-tool, others were fine) untilI started to build the stdplus. I encountered a build failed issue as below. It looks like there is a problem for using libfmt.a, I tried to figure out a solution on google but nothing is related to this. Could anyone help on this? Thanks.
> >>
> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> >> and some of our code now requires C++20.
> >>
> >> >
> >> > =====
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false -Dtests=disabled builddir
> >> > The Meson build system
> >> > Version: 0.61.2
> >> > Source dir: /home/archer/Downloads/host-tool/stdplus
> >> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
> >> > Build type: native build
> >> > Project name: stdplus
> >> > Project version: 0.1
> >> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >> > C++ linker for the host machine: c++ ld.bfd 2.38
> >> > Host machine cpu family: x86_64
> >> > Host machine cpu: x86_64
> >> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
> >> > Run-time dependency fmt found: YES 8.1.2
> >>
> >> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
> >> install which is version 8.1.1 on Jammy right now.
> >>
> >> > Library dl found: YES
> >> > Run-time dependency liburing found: YES 2.0
> >> > Build targets in project: 1
> >> >
> >> > stdplus 0.1
> >> >
> >> >   User defined options
> >> >     examples: false
> >> >     tests   : disabled
> >> >
> >> > Found ninja-1.10.1 at /usr/bin/ninja
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$
> >> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
> >> > ninja: Entering directory `builddir'
> >> > [9/9] Linking target src/libstdplus.so.0.1
> >> > FAILED: src/libstdplus.so.0.1
> >> > c++  -o src/libstdplus.so.0.1 src/libstdplus.so.0.1.p/stdplus_exception.cpp.o src/libstdplus.so.0.1.p/stdplus_signal.cpp.o src/libstdplus.so.0.1.p/stdplus_dl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
> >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
> >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
> >>
> >> However you obtained your libfmt, it was compiled incorrectly.  It
> >> shouldn't have a static library but a dynamic one.
> >>
> >> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
> >> linking as a shared library.
> >>
> >> --
> >> Patrick Williams
> >> Legal Disclaimer :
> >> The information contained in this message may be privileged and confidential.
> >> It is intended to be read only by the individual or entity to whom it is addressed
> >> or by their designee. If the reader of this message is not the intended recipient,
> >> you are on notice that any distribution of this message, in any form,
> >> is strictly prohibited. If you have received this message in error,
> >> please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: FW: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
  2022-07-05  8:20                 ` Chris Chen (TPI)
@ 2022-07-13 21:17                   ` Brandon Kim
  0 siblings, 0 replies; 9+ messages in thread
From: Brandon Kim @ 2022-07-13 21:17 UTC (permalink / raw)
  To: Chris Chen (TPI); +Cc: openbmc, Willy Tu

Just to update this as I was setting up a new workstation and was
hitting some of these (when not building with a docker)

1. ipmi-blob-tool is being migrated to meson to avoid the problem with
AX_CXX_COMPILE_STDCXX or using autoconf-legacy (code review WIP)
2. The issue with libfmt was because fmtlib/fmt seems to have moved to
default making static library instead of dynamic library - the
instruction is being updated here:
https://gerrit.openbmc.org/c/openbmc/phosphor-ipmi-flash/+/55330
(issue discussed here: https://github.com/fmtlib/fmt/issues/548)

Thanks,
Brandon


On Tue, Jul 5, 2022 at 1:20 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
>
> Hi Brandom,
>
> It's no problem when I directly built phosphor-objmgr and do a ninja build install. I for now have got the burn_my_bmc this host-tool.
> Thanks for your help.
>
> Regards,
> Chris Chen
>
>
> -----Original Message-----
> From: Brandon Kim <brandonkim@google.com>
> Sent: Saturday, July 2, 2022 12:35 AM
> To: Chris Chen (TPI) <Chris.Chen3@flex.com>
> Cc: Willy Tu <wltu@google.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org
> Subject: Re: FW: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
>
> Attempting to send this again, as I forgot to do "plain text" mode and
> I think it held back the email send.
>
> Ah it looks like the problem is with phosphor-objmgr build - seems
> like they may not have propagated the test=disabled flag down to that
> build for some reason - I wonder if it'll work if you could try
> building phosphor-objmgr and do a ninja build install first.
>
> Otherwise, we should fix the underlying problem which is that you may
> not have gtest installed in your workstation:
> https://urldefense.com/v3/__https://stackoverflow.com/questions/13513905/how-to-set-up-googletest-as-a-shared-library-on-linux__;!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7C8UxW9A$
>
> Thanks,
> Brandon
>
>
> On Fri, Jul 1, 2022 at 1:42 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >
> > Hi Brandon,
> >
> >
> >
> > I have pulled the latest code of the phosphor-host-ipmid package and tried to clean build with -Dtests=disabled configuration a couple of times, but the error of "fatal error: gtest/gtest.h: No such file or directory" is still there.
> >
> > Is there an opportunity that you could give it a shot when you have free time? And it would be great if you are able to share your build environment configuration and steps with me. Thanks.
> >
> >
> >
> > Here are my completed logs for your reference.
> >
> > =====
> >
> > archer@archer-ArcherCityM:phosphor-host-ipmid$ git log
> >
> > commit 25035b8898367bc25a3b5ace7ad08728de7476c6 (HEAD -> master, origin/master, origin/HEAD)
> >
> > Author: Patrick Williams <patrick@stwcx.xyz>
> >
> > Date:   Thu Jun 16 16:35:58 2022 -0500
> >
> >
> >
> >     gitignore: minor fixup for symlink workflow
> >
> >
> >
> >     It is convenient to have the subprojects source populated by symlinking
> >
> >     to a common workspace so that cross-repository development can be done.
> >
> >     The previous .gitignore caused 'untracked file' for each subproject
> >
> >     symlink because it was a symlink instead of a directory.  Modify the
> >
> >     .gitignore to match what most other meson repositories have done.
> >
> >
> >
> >     Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
> >
> >     Change-Id: I303effd3c8e7099aaade4a3ac1e81ac7f55cdec0
> >
> >
> >
> > archer@archer-ArcherCityM:phosphor-host-ipmid$ meson setup -Dtests=disabled -Dwhitelist-conf=host-ipmid-whitelist.conf builddir
> >
> > The Meson build system
> >
> > Version: 0.61.2
> >
> > Source dir: /home/archer/Downloads/host-tool/phosphor-host-ipmid
> >
> > Build dir: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir
> >
> > Build type: native build
> >
> > Project name: phosphor-host-ipimd
> >
> > Project version: 0.1
> >
> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > C++ linker for the host machine: c++ ld.bfd 2.38
> >
> > Host machine cpu family: x86_64
> >
> > Host machine cpu: x86_64
> >
> > Configuring config.h using configuration
> >
> > Compiler for C++ supports arguments -DBOOST_ERROR_CODE_HEADER_ONLY: YES
> >
> > Compiler for C++ supports arguments -DBOOST_SYSTEM_NO_DEPRECATED: YES
> >
> > Compiler for C++ supports arguments -DBOOST_COROUTINES_NO_DEPRECATION_WARNING: YES
> >
> > Compiler for C++ supports arguments -DBOOST_ASIO_DISABLE_THREADS: YES
> >
> > Compiler for C++ supports arguments -DBOOST_ALL_NO_LIB: YES
> >
> > Compiler for C++ supports arguments -flto: YES
> >
> > Compiler for C++ supports arguments -Wno-psabi: YES
> >
> > Compiler for C++ supports arguments -Wno-missing-field-initializers: YES
> >
> > Compiler for C++ supports arguments -Wno-pedantic: YES
> >
> > Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
> >
> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
> >
> > Found CMake: /usr/bin/cmake (3.22.1)
> >
> > Run-time dependency phosphor-logging found: NO (tried pkgconfig and cmake)
> >
> > Looking for a fallback subproject for the dependency phosphor-logging
> >
> >
> >
> > Executing subproject phosphor-logging
> >
> >
> >
> > phosphor-logging| Project name: phosphor-logging
> >
> > phosphor-logging| Project version: 1.0.0
> >
> > phosphor-logging| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > phosphor-logging| C++ linker for the host machine: c++ ld.bfd 2.38
> >
> > phosphor-logging| Program python3 found: YES (/usr/bin/python3)
> >
> > phosphor-logging| Run-time dependency systemd found: YES 249
> >
> > phosphor-logging| Run-time dependency sdbusplus found: YES 1.0.0
> >
> > phosphor-logging| Fallback to subproject sdbusplus which provides program sdbus++
> >
> >
> >
> > Executing subproject phosphor-logging:sdbusplus
> >
> >
> >
> > sdbusplus| Project name: sdbusplus
> >
> > sdbusplus| Project version: 1.0.0
> >
> > sdbusplus| C compiler for the host machine: cc (gcc 11.2.0 "cc (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > sdbusplus| C linker for the host machine: cc ld.bfd 2.38
> >
> > sdbusplus| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > sdbusplus| C++ linker for the host machine: c++ ld.bfd 2.38
> >
> > sdbusplus| Run-time dependency libsystemd found: YES 249
> >
> > sdbusplus| Program python3 (inflection, yaml, mako) found: YES (/usr/bin/python3) modules: inflection, yaml, mako
> >
> > sdbusplus| WARNING: Python files installed by Meson might not be found by python interpreter.
> >
> > sdbusplus| This warning can be avoided by setting "python.platlibdir" option.
> >
> > sdbusplus| WARNING: Python files installed by Meson might not be found by python interpreter.
> >
> > sdbusplus| This warning can be avoided by setting "python.purelibdir" option.
> >
> > sdbusplus| Run-time dependency Boost found: YES 1.74.0 (/usr/include)
> >
> > sdbusplus| Program .sdbus++ found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++)
> >
> > sdbusplus| Program .sdbus++-gendir found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++-gendir)
> >
> > sdbusplus| Program .sdbus++-gen-meson found: YES (/home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/sdbusplus/tools/.sdbus++-gen-meson)
> >
> > sdbusplus| Build targets in project: 1
> >
> > sdbusplus| Subproject sdbusplus finished.
> >
> >
> >
> > phosphor-logging| Program .sdbus++ found: YES (overridden)
> >
> > phosphor-logging| Program .sdbus++-gen-meson found: YES (overridden)
> >
> > phosphor-logging| Run-time dependency phosphor-dbus-interfaces found: YES 1.0.0
> >
> > phosphor-logging| Configuring config.h using configuration
> >
> > phosphor-logging| Build targets in project: 3
> >
> > phosphor-logging| Subproject phosphor-logging finished.
> >
> >
> >
> > Dependency phosphor-logging from subproject subprojects/phosphor-logging found: YES 1.0.0
> >
> > Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
> >
> > Run-time dependency sdeventplus found: NO (tried pkgconfig and cmake)
> >
> > Looking for a fallback subproject for the dependency sdeventplus
> >
> >
> >
> > Executing subproject sdeventplus
> >
> >
> >
> > sdeventplus| Project name: sdeventplus
> >
> > sdeventplus| Project version: 0.1
> >
> > sdeventplus| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > sdeventplus| C++ linker for the host machine: c++ ld.bfd 2.38
> >
> > sdeventplus| Run-time dependency function2 found: NO (tried pkgconfig and cmake)
> >
> > sdeventplus| Header <function2/function2.hpp> has symbol "fu2::unique_function" with dependency function2: NO
> >
> > sdeventplus| Using subprojects/sdeventplus/subprojects/function2.wrap
> >
> >
> >
> > Executing subproject sdeventplus:function2 method cmake
> >
> >
> >
> > function2| Found CMake: /usr/bin/cmake (3.22.1)
> >
> >
> >
> > | Configuring the build directory with CMake version 3.22.1
> >
> > | Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTING=OFF
> >
> > |   - build directory:          /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build
> >
> > |   - source directory:         /home/archer/Downloads/host-tool/phosphor-host-ipmid/subprojects/function2
> >
> > |   - toolchain file:           /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build/CMakeMesonToolchainFile.cmake
> >
> > |   - preload file:             /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/meson-private/data/preload.cmake
> >
> > |   - trace args:               --trace-expand --trace-format=json-v1 --no-warn-unused-cli --trace-redirect=cmake_trace.txt
> >
> > |   - disabled policy warnings: [CMP0025, CMP0047, CMP0056, CMP0060, CMP0065, CMP0066, CMP0067, CMP0082, CMP0089, CMP0102]
> >
> >
> >
> > | Running with expanded trace output on.
> >
> > | Not searching for unused variables given on the command line.
> >
> > | Trace will be written to cmake_trace.txt
> >
> > | -- The CXX compiler identification is GNU 11.2.0
> >
> > | -- Detecting CXX compiler ABI info
> >
> > | -- Detecting CXX compiler ABI info - done
> >
> > | -- Check for working CXX compiler: /usr/bin/c++ - skipped
> >
> > | -- Detecting CXX compile features
> >
> > | -- Detecting CXX compile features - done
> >
> > | -- Configuring done
> >
> > | -- Generating done
> >
> > | -- Build files have been written to: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/__CMake_build
> >
> >
> >
> > function2| CMake configuration: SUCCEEDED
> >
> > function2| CMake project function2 has 1 build targets.
> >
> >
> >
> > cmake-ast| Processing generated meson AST
> >
> > cmake-ast| Build file: /home/archer/Downloads/host-tool/phosphor-host-ipmid/builddir/subprojects/function2/meson.build
> >
> >
> >
> > function2| Project name: function2
> >
> > function2| Project version: undefined
> >
> > function2| Build targets in project: 3
> >
> > function2| Subproject function2 finished.
> >
> >
> >
> >
> >
> > sdeventplus| Dependency libsystemd found: YES 249 (cached)
> >
> > sdeventplus| Run-time dependency stdplus found: YES 0.1
> >
> > sdeventplus| Build targets in project: 4
> >
> > sdeventplus| Subproject sdeventplus finished.
> >
> >
> >
> > Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
> >
> > Dependency systemd found: YES 249 (cached)
> >
> > Run-time dependency libcrypto found: YES 3.0.2
> >
> > Library pam found: YES
> >
> > Run-time dependency libmapper found: NO (tried pkgconfig and cmake)
> >
> > Looking for a fallback subproject for the dependency libmapper
> >
> >
> >
> > Executing subproject phosphor-objmgr
> >
> >
> >
> > phosphor-objmgr| Project name: phosphor-objmgr
> >
> > phosphor-objmgr| Project version: 1.0
> >
> > phosphor-objmgr| C compiler for the host machine: cc (gcc 11.2.0 "cc (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > phosphor-objmgr| C linker for the host machine: cc ld.bfd 2.38
> >
> > phosphor-objmgr| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > phosphor-objmgr| C++ linker for the host machine: c++ ld.bfd 2.38
> >
> > phosphor-objmgr| Dependency phosphor-logging found: YES 1.0.0 (cached)
> >
> > phosphor-objmgr| Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
> >
> > phosphor-objmgr| Dependency sdbusplus found: YES 1.0.0 (cached)
> >
> > phosphor-objmgr| WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
> >
> > phosphor-objmgr| Run-time dependency GTest found: YES (prebuilt)
> >
> > phosphor-objmgr| Run-time dependency GMock found: YES (prebuilt)
> >
> > phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
> >
> > phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
> >
> > phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
> >
> > phosphor-objmgr| Dependency boost found: YES 1.74.0 (cached)
> >
> > phosphor-objmgr| Dependency libsystemd found: YES 249 (cached)
> >
> > phosphor-objmgr| Dependency systemd found: YES 249 (cached)
> >
> > phosphor-objmgr| Run-time dependency threads found: YES
> >
> > phosphor-objmgr| Run-time dependency tinyxml2 found: YES 9.0.0
> >
> > phosphor-objmgr| Build targets in project: 14
> >
> > phosphor-objmgr| Subproject phosphor-objmgr finished.
> >
> >
> >
> > Dependency libmapper from subproject subprojects/phosphor-objmgr found: YES 1.0
> >
> > Library boost_coroutine found: YES
> >
> > Dependency sdbusplus found: YES 1.0.0 (cached)
> >
> > WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
> >
> > Header <nlohmann/json.hpp> has symbol "nlohmann::json::string_t" : NO
> >
> > Run-time dependency nlohmann-json found: NO (tried pkgconfig and cmake)
> >
> > Looking for a fallback subproject for the dependency nlohmann-json
> >
> > Cloning into 'nlohmann-json'...
> >
> > remote: Enumerating objects: 90268, done.
> >
> > remote: Counting objects: 100% (270/270), done.
> >
> > remote: Compressing objects: 100% (168/168), done.
> >
> > Receiving objects:  48% (43386/90268), 131.73 MiB | 74.00 KiB/s
> >
> > Receiving objects:  48% (43386/90268), 131.85 MiB | 61.00 KiB/s
> >
> > Receiving objects:  48% (44154/90268), 176.82 MiB | 82.00 KiB/s
> >
> > Receiving objects:  48% (44154/90268), 176.96 MiB | 97.00 KiB/s
> >
> >
> >
> > remote: Total 90268 (delta 101), reused 240 (delta 83), pack-reused 89998
> >
> > Receiving objects: 100% (90268/90268), 289.00 MiB | 94.00 KiB/s, done.
> >
> > Resolving deltas: 100% (71440/71440), done.
> >
> >
> >
> > Executing subproject nlohmann-json
> >
> >
> >
> > nlohmann-json| Project name: nlohmann_json
> >
> > nlohmann-json| Project version: 3.10.5
> >
> > nlohmann-json| C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> >
> > nlohmann-json| C++ linker for the host machine: c++ ld.bfd 2.38
> >
> > nlohmann-json| Build targets in project: 14
> >
> > nlohmann-json| Subproject nlohmann-json finished.
> >
> >
> >
> > Dependency nlohmann-json from subproject subprojects/nlohmann-json found: YES 3.10.5
> >
> > Program python3 found: YES (/usr/bin/python3)
> >
> > WARNING: You should add the boolean check kwarg to the run_command call.
> >
> >          It currently defaults to false,
> >
> >          but it will default to true in future releases of meson.
> >
> >          See also: https://urldefense.com/v3/__https://github.com/mesonbuild/meson/issues/9300__;!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7LoQlzXA$
> >
> > Program .sdbus++ found: YES (overridden)
> >
> > Dependency phosphor-dbus-interfaces found: YES 1.0.0 (cached)
> >
> > Dependency sdbusplus found: YES 1.0.0 (cached)
> >
> > WARNING: Inconsistency: Subproject has overridden the dependency with another variable than 'sdbusplus_dep'
> >
> > Build targets in project: 30
> >
> >
> >
> > phosphor-host-ipimd 0.1
> >
> >
> >
> >   Subprojects
> >
> >     function2       : YES
> >
> >     nlohmann-json   : YES
> >
> >     phosphor-logging: YES
> >
> >     phosphor-objmgr : YES 1 warnings
> >
> >     sdbusplus       : YES 2 warnings
> >
> >     sdeventplus     : YES
> >
> >
> >
> >   User defined options
> >
> >     tests           : disabled
> >
> >     whitelist-conf  : host-ipmid-whitelist.conf
> >
> >
> >
> > Found ninja-1.10.1 at /usr/bin/ninja
> >
> > archer@archer-ArcherCityM:phosphor-host-ipmid$
> >
> > archer@archer-ArcherCityM:phosphor-host-ipmid$ ninja -C builddir
> >
> > ninja: Entering directory `builddir'
> >
> > [1/128] Compiling C++ object sub...apper/test/mapper.p/mapper.cpp.o
> >
> > FAILED: subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o
> >
> > c++ -Isubprojects/phosphor-objmgr/libmapper/test/mapper.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o -MF subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o.d -o subprojects/phosphor-objmgr/libmapper/test/mapper.p/mapper.cpp.o -c ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp
> >
> > ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
> >
> >     4 | #include <gtest/gtest.h>
> >
> >       |          ^~~~~~~~~~~~~~~
> >
> > compilation terminated.
> >
> > [9/128] Compiling C++ object sub...s_added.p/interfaces_added.cpp.o
> >
> > FAILED: subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o
> >
> > c++ -Isubprojects/phosphor-objmgr/src/test/interfaces_added.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o -MF subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o.d -o subprojects/phosphor-objmgr/src/test/interfaces_added.p/interfaces_added.cpp.o -c ../subprojects/phosphor-objmgr/src/test/interfaces_added.cpp
> >
> > In file included from ../subprojects/phosphor-objmgr/src/test/interfaces_added.cpp:2:
> >
> > ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
> >
> >     9 | #include <gtest/gtest.h>
> >
> >       |          ^~~~~~~~~~~~~~~
> >
> > compilation terminated.
> >
> > [11/128] Compiling C++ object su.../name_change.p/name_change.cpp.o
> >
> > FAILED: subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o
> >
> > c++ -Isubprojects/phosphor-objmgr/src/test/name_change.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o -MF subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o.d -o subprojects/phosphor-objmgr/src/test/name_change.p/name_change.cpp.o -c ../subprojects/phosphor-objmgr/src/test/name_change.cpp
> >
> > In file included from ../subprojects/phosphor-objmgr/src/test/name_change.cpp:2:
> >
> > ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
> >
> >     9 | #include <gtest/gtest.h>
> >
> >       |          ^~~~~~~~~~~~~~~
> >
> > compilation terminated.
> >
> > [12/128] Compiling C++ object su...ssociations.p/associations.cpp.o
> >
> > FAILED: subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o
> >
> > c++ -Isubprojects/phosphor-objmgr/src/test/associations.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o -MF subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o.d -o subprojects/phosphor-objmgr/src/test/associations.p/associations.cpp.o -c ../subprojects/phosphor-objmgr/src/test/associations.cpp
> >
> > In file included from ../subprojects/phosphor-objmgr/src/test/associations.cpp:3:
> >
> > ../subprojects/phosphor-objmgr/src/test/util/asio_server_class.hpp:9:10: fatal error: gtest/gtest.h: No such file or directory
> >
> >     9 | #include <gtest/gtest.h>
> >
> >       |          ^~~~~~~~~~~~~~~
> >
> > compilation terminated.
> >
> > [13/128] Compiling C++ object su...st/well_known.p/well_known.cpp.o
> >
> > FAILED: subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o
> >
> > c++ -Isubprojects/phosphor-objmgr/src/test/well_known.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o -MF subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o.d -o subprojects/phosphor-objmgr/src/test/well_known.p/well_known.cpp.o -c ../subprojects/phosphor-objmgr/src/test/well_known.cpp
> >
> > ../subprojects/phosphor-objmgr/src/test/well_known.cpp:3:10: fatal error: gtest/gtest.h: No such file or directory
> >
> >     3 | #include <gtest/gtest.h>
> >
> >       |          ^~~~~~~~~~~~~~~
> >
> > compilation terminated.
> >
> > [14/128] Compiling C++ object su...spect.p/need_to_introspect.cpp.o
> >
> > FAILED: subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o
> >
> > c++ -Isubprojects/phosphor-objmgr/src/test/need_to_introspect.p -Isubprojects/phosphor-objmgr -I../subprojects/phosphor-objmgr -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -Werror -std=c++20 -g -DMAPPER_ENABLE_DEBUG -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -MD -MQ subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o -MF subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o.d -o subprojects/phosphor-objmgr/src/test/need_to_introspect.p/need_to_introspect.cpp.o -c ../subprojects/phosphor-objmgr/src/test/need_to_introspect.cpp
> >
> > ../subprojects/phosphor-objmgr/src/test/need_to_introspect.cpp:3:10: fatal error: gtest/gtest.h: No such file or directory
> >
> >     3 | #include <gtest/gtest.h>
> >
> >       |          ^~~~~~~~~~~~~~~
> >
> > compilation terminated.
> >
> > [33/128] Compiling C++ object su...aces_added.p/.._processing.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [34/128] Compiling C++ object su...introspect.p/.._processing.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [35/128] Compiling C++ object su...ame_change.p/.._processing.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [36/128] Compiling C++ object su...well_known.p/.._processing.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/processing.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [37/128] Compiling C++ object su...ll_known.p/.._associations.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [38/128] Compiling C++ object su...e_change.p/.._associations.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [39/128] Compiling C++ object su...trospect.p/.._associations.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [40/128] Compiling C++ object su...ciations.p/.._associations.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > [41/128] Compiling C++ object su...es_added.p/.._associations.cpp.o
> >
> > In file included from /usr/include/boost/config/header_deprecated.hpp:18,
> >
> >                  from /usr/include/boost/detail/scoped_enum_emulation.hpp:15,
> >
> >                  from /usr/include/boost/coroutine/exceptions.hpp:14,
> >
> >                  from /usr/include/boost/coroutine/asymmetric_coroutine.hpp:24,
> >
> >                  from /usr/include/boost/coroutine/coroutine.hpp:10,
> >
> >                  from /usr/include/boost/coroutine/all.hpp:11,
> >
> >                  from /usr/include/boost/asio/spawn.hpp:19,
> >
> >                  from /usr/local/include/sdbusplus/asio/object_server.hpp:10,
> >
> >                  from ../subprojects/phosphor-objmgr/src/types.hpp:5,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.hpp:3,
> >
> >                  from ../subprojects/phosphor-objmgr/src/associations.cpp:1:
> >
> > /usr/include/boost/detail/scoped_enum_emulation.hpp:17:1: note: ‘#pragma message: This header is deprecated. Use <boost/core/scoped_enum.hpp> instead.’
> >
> >    17 | BOOST_HEADER_DEPRECATED("<boost/core/scoped_enum.hpp>")
> >
> >       | ^~~~~~~~~~~~~~~~~~~~~~~
> >
> > ninja: build stopped: subcommand failed.
> >
> > archer@archer-ArcherCityM:phosphor-host-ipmid$
> >
> > =====
> >
> >
> >
> > Regards,
> >
> > Chris Chen
> >
> >
> >
> > ________________________________
> >
> > 寄件者: Brandon Kim <brandonkim@google.com>
> > 寄件日期: 2022年6月30日 上午 01:19
> > 收件者: Chris Chen (TPI) <Chris.Chen3@flex.com>
> > 副本: Willy Tu <wltu@google.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
> > 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
> >
> >
> >
> > Hi Chris,
> >
> > However, I encountered other fatal errors when building the "phosphor-host-ipmid" package as below. (Overall there are three kinds of fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured in several files, so I just list one message of each error for reference.)
> > =====
> > ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
> >     4 | #include <gtest/gtest.h>
> >
> >
> > Hmm it's strange that gtest is being pulled in when you have Dtest=disabled for the build. Could you try `rm -rf build` directory for phosphor-host-ipmid before doing the same command again?
> >
> >
> >
> > ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
> >     5 | #include <nlohmann/json.hpp>
> > ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp: No such file or directory
> >    26 | #include <phosphor-logging/log.hpp>
> >
> >
> >
> > These should have been built as part of "subprojects". Could you make sure phosphor-host-ipmid is pulled to the latest, clear the build directory and build again just to make sure?
> >
> >
> >
> > Thanks,
> >
> > Brandon
> >
> >
> >
> > On Wed, Jun 29, 2022 at 12:57 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> >
> > Hi Brandon and Willy,
> >
> > ·       First of all, I would like to say thanks for your answer and confirmation, the problems I listed are solved.
> >
> > ·       For Brandon's question,> It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool?__;Iw!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs5a0ndQVw$
> >
> > Yes, I followed the README.md to build each of the components.
> >
> > ·       However, I encountered other fatal errors when building the "phosphor-host-ipmid" package as below. (Overall there are three kinds of fatal errors, which is missing gtest.h, json.hpp, and log.hpp, that occured in several files, so I just list one message of each error for reference.)
> >
> > =====
> > ../subprojects/phosphor-objmgr/libmapper/test/mapper.cpp:4:10: fatal error: gtest/gtest.h: No such file or directory
> >     4 | #include <gtest/gtest.h>
> > ../entity_map_json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
> >     5 | #include <nlohmann/json.hpp>
> > ../include/ipmid/message.hpp:26:10: fatal error: phosphor-logging/log.hpp: No such file or directory
> >     26 | #include <phosphor-logging/log.hpp>
> > =====
> >
> > Do you have any suggestions on this?
> > BTW. I use following commands to build the "phosphor-host-ipmid" package, it should be correct, right?
> >
> > -----
> > meson setup -Dtests=disabled builddir
> > ninja -C builddir
> > ninja -C builddir install
> > -----
> >
> > ·       I don't insist to build locally, so as per your recommendation I'm trying to build it by using docker. However, I have limit capability with docker, I for now met a question on building docker image by using the "build-unit-test-docker" script you mentioned, that is after installing the docker-desktop on my Host, I referred to https://urldefense.com/v3/__https://github.com/openbmc/docs/blob/master/testing/run-test-docker.md*build-docker-image__;Iw!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7GBQqFpQ$  to build the docker image, of course, I replace the command as below,
> >
> > ./scripts/build-unit-test-docker
> >
> > Then, the error came out after several minutes. (I retried few times, some images are already exists.) Could you help to take a look at this, and give me some suggestions as well?
> >
> > =====
> > archer@archer-ArcherCityM:openbmc-build-scripts$ ./scripts/build-unit-test-docker
> > Image openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-uscilab-cereal:2022-W26-ab72d4495979e830 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-nlohmann-json:2022-W26-ffba809170eb0a41 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-naios-function2:2022-W26-3b876756bb76be23 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-cliutils-cli11:2022-W26-f53b55bea30b21c6 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-libvnc-libvncserver:2022-W26-90d3acb2a0df9617 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-cppalliance-url:2022-W26-460f317503ba9422 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-boost:2022-W26-d87626309071f65f already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-catchorg-catch2:2022-W26-3439038e67e82304 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-leethomason-tinyxml2:2022-W26-323efeff9db53382 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-facebookexperimental-libunifex:2022-W26-1eff6ee41b25d7e1 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-linux-test-project-lcov:2022-W26-13690675d4cda956 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-fmtlib-fmt:2022-W26-8c08817ee76f296a already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-google-googletest:2022-W26-41755ba7fe770d1e already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-tristanpenman-valijson:2022-W26-2d55955ffea82018 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-open-power-pdbg:2022-W26-ea1338b7d5bcf717 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-openbmc-sdbusplus:2022-W26-4de3de6a7dd74c72 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-openbmc-stdplus:2022-W26-fcc6d0d878d82435 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-openbmc-gpioplus:2022-W26-6e12ea9e28a38a45 already exists.  Skipping.
> > Image openbmc/ubuntu-unit-test-openbmc-sdeventplus:2022-W26-077c15efe62026d9 already exists.  Skipping.
> > Package openbmc/linux failed!
> > Traceback (most recent call last):
> >   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 852, in <module>
> >     Package.generate_all()
> >   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 396, in generate_all
> >     raise t.exception
> >   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 365, in run
> >     Docker.build(self.package, tag, dockerfile)
> >   File "/home/archer/Downloads/openbmc-build-scripts/./scripts/build-unit-test-docker", line 620, in build
> >     docker.build(
> >   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 1566, in __call__
> >     return RunningCommand(cmd, call_args, stdin, stdout, stderr)
> >   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 822, in __init__
> >     self.wait()
> >   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 879, in wait
> >     self.handle_command_exit_code(exit_code)
> >   File "/home/archer/.local/lib/python3.10/site-packages/sh.py", line 905, in handle_command_exit_code
> >     raise exc
> > sh.ErrorReturnCode_1:
> >
> >   RAN: /usr/local/bin/docker build --network=host --force-rm --no-cache=false -t openbmc/ubuntu-unit-test-openbmc-linux:2022-W26-4d748d691e37a3f6 -
> >
> >   STDOUT:
> >
> >   STDERR:
> > #1 [internal] load build definition from Dockerfile
> > #1 sha256:7b1d92eec8d42e247f2bb4fd1260a7b209eb6af9dab84c342a27d5cdd089f3f8
> > #1 transferring dockerfile: 307B 0.0s done
> > #1 DONE 0.1s
> >
> > #2 [internal] load .dockerignore
> > #2 sha256:c8396637158fe442f7870c427fb14a5e1f1f71b781353fcff1a75b6301070bcb
> > #2 transferring context: 2B done
> > #2 DONE 0.0s
> >
> > #3 [internal] load metadata for docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
> > #3 sha256:053b27ec734906a3cbf79dc0bc99b133a80abc1aa2fd5545010138b72cf16ee0
> > #3 DONE 0.0s
> >
> > #4 [1/2] FROM docker.io/openbmc/ubuntu-unit-test-base:2022-W26-e79767e5378d5a0f
> > #4 sha256:e6e9b48a100df776a75b8dc934e85d3f5282ade34c031f25e3dd74a0ecd13842
> > #4 CACHED
> >
> > #5 [2/2] RUN curl -L https://urldefense.com/v3/__https://github.com/openbmc/linux/arch__;!!HSntlCg!RUZM2VCNpHIF_D2Mv6DyxuWFsXxHUogP0GsvCS3oY-r1R1SwgBZlSWL5x5_4WroyEovw-sh0F4Ungs7JcHcBSQ$ ... (3475 more, please see e.stderr)
> > =====
> >
> >
> >
> > Regards,
> >
> > Chris Chen
> >
> >
> >
> > ________________________________
> >
> > 寄件者: Willy Tu <wltu@google.com>
> > 寄件日期: 2022年6月28日 下午 11:56
> > 收件者: Brandon Kim <brandonkim@google.com>
> > 副本: Chris Chen (TPI) <Chris.Chen3@flex.com>; Patrick Williams <patrick@stwcx.xyz>; openbmc@lists.ozlabs.org <openbmc@lists.ozlabs.org>
> > 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
> >
> >
> >
> > Oh yeah, the README is 100% outdated. We have moved to meson and we
> > should update it at some point in life.
> >
> > I think your command to build burn_my_bmc should be fine. The
> > `host-tool` should be enabled by default.
> >
> > Can try the following, just in case.
> > ```
> > meson setup -Dhost-tool=enabled builddir
> > ninja -C builddir
> > ninja -C builddir install
> > ```
> >
> > Willy Tu
> >
> >
> > On Tue, Jun 28, 2022 at 8:51 AM Brandon Kim <brandonkim@google.com> wrote:
> > >
> > > Ah, it seems like the email chains were broken up for some reason - seeing this now after I replied to the other email chain.
> > >
> >
> > > It is totally possible that our instructions in the README is not up to date anymore, but just to make sure - are you building each of the components as specified by https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$  ?
> >
> > >
> > > It details the commands to use for each of the dependencies.
> > >
> > > Good point on the burn_my_bmc command in the README description not being not up to date and still using automake (https://urldefense.com/v3/__https://github.com/openbmc/phosphor-ipmi-flash*building-the-host-tool__;Iw!!HSntlCg!UGWKiK4C2gPBrPnKMLNL78cKJAEnz7sb96UQ2IJR62gd5toQOBTYp5LubQOq6YnHBYCe7qVRsw7I7w$ ) - I'll try to run this to verify when I get time later today, but in the meantime perhaps @Willy Tu may know the command off the top of his head as he performed the big meson migration. As a first glance the command looks correct.
> > >
> > > Willy recently also migrated phospohr-host-ipmid to meson, so he may know more about the PAM dependency as well.
> > >
> > > Thanks,
> > > Brandon
> > >
> > >
> > > On Tue, Jun 28, 2022 at 8:04 AM Chris Chen (TPI) <Chris.Chen3@flex.com> wrote:
> > >>
> > >> Hi Patrick,
> > >>
> > >> Thanks for your prompt reply, and the issue is solved after installing Ubuntu "libfmt-dev" package.
> > >>
> > >> >> Do you know why you disabled C++20?  This shouldn't have been necessary
> > >> >> and some of our code now requires C++20.
> > >>
> > >> I disabled C++20 of the "ipmi-blob-tool" package because I got errors below:
> > >> =====
> > >> archer@archer-ArcherCityM:ipmi-blob-tool$ ./bootstrap.sh
> > >> + autoreconf -v -f -i
> > >> autoreconf: export WARNINGS=
> > >> autoreconf: Entering directory '.'
> > >> autoreconf: configure.ac: not using Gettext
> > >> autoreconf: running: aclocal --force -I m4
> > >> configure.ac:38: error: invalid first argument `20' to AX_CXX_COMPILE_STDCXX
> > >> /usr/share/aclocal/ax_cxx_compile_stdcxx.m4:50: AX_CXX_COMPILE_STDCXX is expanded from...
> > >> configure.ac:38: the top level
> > >> autom4te: error: /usr/bin/m4 failed with exit status: 1
> > >> aclocal: error: /usr/bin/autom4te failed with exit status: 1
> > >> autoreconf: error: aclocal failed with exit status: 1
> > >> =====
> > >> Do you have ideas about how to solve it correctly?
> > >>
> > >> In addition, i have started to build the burn_my_bmc (the host-tool) on the Host by cloning the "phosphor-ipmi-flash" source. There are some questions came out:
> > >>
> > >> The "phosphor-ipmi-flash" package seems became to use "meson" rather than "bootstrap.sh", so I run these commands in the source directory. Is it correct?
> > >> -----
> > >> meson setup -Dbmc-blob-handler=disabled builddir
> > >> ninja -C builddir
> > >> ninja -C builddir install
> > >> -----
> > >>
> > >> After running "meson setup -Dbmc-blob-handler=disabled builddir", it occurred dependency errors, like 'sdbusplus', 'phosphor-dbus-interfaces', 'libipmid', and so on is required respectively, is it correct?
> > >>
> > >> I for now have tried to install these dependencies one-by-one, but be stuck at 'libipmid'. That is I clone the "phosphor-host-ipmid" and run "meson builddir" command to build it, however, I got an error in blow and I can't solve it. Could you please give me some suggestions?
> > >> =====
> > >> Dependency sdeventplus from subproject subprojects/sdeventplus found: YES 0.1
> > >> Dependency systemd found: YES 249 (cached)
> > >> Run-time dependency libcrypto found: YES 3.0.2
> > >>
> > >> meson.build:89:0: ERROR: C++ shared or static library 'pam' not found
> > >> =====
> > >>
> > >> Thanks.
> > >>
> > >> Regards,
> > >> Chris Chen
> > >>
> > >> ________________________________ 寄件者: Patrick Williams
> > >> 已傳送: 星期二, 2022 6 月 28 日 下午 07:20
> > >> 收件者: Chris Chen (TPI)
> > >> 副本: openbmc@lists.ozlabs.org
> > >> 主旨: Re: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
> > >>
> > >> On Tue, Jun 28, 2022 at 08:43:34AM +0000, Chris Chen (TPI) wrote:
> > >> > And each library and tool is built successful(only one thing that is I had to disable C++20 for the ipmi-blob-tool, others were fine) untilI started to build the stdplus. I encountered a build failed issue as below. It looks like there is a problem for using libfmt.a, I tried to figure out a solution on google but nothing is related to this. Could anyone help on this? Thanks.
> > >>
> > >> Do you know why you disabled C++20?  This shouldn't have been necessary
> > >> and some of our code now requires C++20.
> > >>
> > >> >
> > >> > =====
> > >> > archer@archer-ArcherCityM:stdplus$
> > >> > archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false -Dtests=disabled builddir
> > >> > The Meson build system
> > >> > Version: 0.61.2
> > >> > Source dir: /home/archer/Downloads/host-tool/stdplus
> > >> > Build dir: /home/archer/Downloads/host-tool/stdplus/builddir
> > >> > Build type: native build
> > >> > Project name: stdplus
> > >> > Project version: 0.1
> > >> > C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")
> > >> > C++ linker for the host machine: c++ ld.bfd 2.38
> > >> > Host machine cpu family: x86_64
> > >> > Host machine cpu: x86_64
> > >> > Found pkg-config: /usr/bin/pkg-config (0.29.2)
> > >> > Run-time dependency fmt found: YES 8.1.2
> > >>
> > >> Where did this `fmt` come from?  Ubuntu has `libfmt-dev` that you can
> > >> install which is version 8.1.1 on Jammy right now.
> > >>
> > >> > Library dl found: YES
> > >> > Run-time dependency liburing found: YES 2.0
> > >> > Build targets in project: 1
> > >> >
> > >> > stdplus 0.1
> > >> >
> > >> >   User defined options
> > >> >     examples: false
> > >> >     tests   : disabled
> > >> >
> > >> > Found ninja-1.10.1 at /usr/bin/ninja
> > >> > archer@archer-ArcherCityM:stdplus$
> > >> > archer@archer-ArcherCityM:stdplus$
> > >> > archer@archer-ArcherCityM:stdplus$ ninja -C builddir
> > >> > ninja: Entering directory `builddir'
> > >> > [9/9] Linking target src/libstdplus.so.0.1
> > >> > FAILED: src/libstdplus.so.0.1
> > >> > c++  -o src/libstdplus.so.0.1 src/libstdplus.so.0.1.p/stdplus_exception.cpp.o src/libstdplus.so.0.1.p/stdplus_signal.cpp.o src/libstdplus.so.0.1.p/stdplus_dl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_create.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_dupable.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_impl.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_managed.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_mmap.cpp.o src/libstdplus.so.0.1.p/stdplus_fd_ops.cpp.o src/libstdplus.so.0.1.p/stdplus_io_uring.cpp.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libstdplus.so.0 /usr/local/lib/libfmt.a -ldl /usr/lib/x86_64-linux-gnu/liburing.so -Wl,--end-group
> > >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'
> > >> > /usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): relocation R_X86_64_PC32 against symbol `stderr@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
> > >>
> > >> However you obtained your libfmt, it was compiled incorrectly.  It
> > >> shouldn't have a static library but a dynamic one.
> > >>
> > >> The `libfmt-dev` package has `libfmt.so` which should be sufficient for
> > >> linking as a shared library.
> > >>
> > >> --
> > >> Patrick Williams
> > >> Legal Disclaimer :
> > >> The information contained in this message may be privileged and confidential.
> > >> It is intended to be read only by the individual or entity to whom it is addressed
> > >> or by their designee. If the reader of this message is not the intended recipient,
> > >> you are on notice that any distribution of this message, in any form,
> > >> is strictly prohibited. If you have received this message in error,
> > >> please immediately notify the sender and delete or destroy any copy of this message!

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-07-13 21:18 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-28 15:03 回覆: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host Chris Chen (TPI)
2022-06-28 15:49 ` Willy Tu
2022-06-28 15:51 ` Brandon Kim
2022-06-28 15:56   ` Willy Tu
2022-06-29  7:57     ` 回覆: " Chris Chen (TPI)
2022-06-29 17:19       ` Brandon Kim
     [not found]         ` <DM6PR08MB5514548095DC6D6C6CE6DFA0DCBD9@DM6PR08MB5514.namprd08.prod.outlook.com>
     [not found]           ` <DM6PR08MB5514278B5BED680CEE13065CDCBD9@DM6PR08MB5514.namprd08.prod.outlook.com>
     [not found]             ` <DM6PR08MB55141DE74F25A04EF6F526A5DCBD9@DM6PR08MB5514.namprd08.prod.outlook.com>
2022-07-01 16:34               ` FW: " Brandon Kim
2022-07-05  8:20                 ` Chris Chen (TPI)
2022-07-13 21:17                   ` Brandon Kim

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.