FW: [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host

Chris Chen (TPI) Chris.Chen3 at flex.com
Tue Jul 5 18:20:27 AEST 2022


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 at google.com> 
Sent: Saturday, July 2, 2022 12:35 AM
To: Chris Chen (TPI) <Chris.Chen3 at flex.com>
Cc: Willy Tu <wltu at google.com>; Patrick Williams <patrick at stwcx.xyz>; openbmc at 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 at 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 at archer-ArcherCityM:phosphor-host-ipmid$ git log
>
> commit 25035b8898367bc25a3b5ace7ad08728de7476c6 (HEAD -> master, origin/master, origin/HEAD)
>
> Author: Patrick Williams <patrick at 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 at stwcx.xyz>
>
>     Change-Id: I303effd3c8e7099aaade4a3ac1e81ac7f55cdec0
>
>
>
> archer at 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 at archer-ArcherCityM:phosphor-host-ipmid$
>
> archer at 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 at archer-ArcherCityM:phosphor-host-ipmid$
>
> =====
>
>
>
> Regards,
>
> Chris Chen
>
>
>
> ________________________________
>
> 寄件者: Brandon Kim <brandonkim at google.com>
> 寄件日期: 2022年6月30日 上午 01:19
> 收件者: Chris Chen (TPI) <Chris.Chen3 at flex.com>
> 副本: Willy Tu <wltu at google.com>; Patrick Williams <patrick at stwcx.xyz>; openbmc at lists.ozlabs.org <openbmc at 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 at 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 at 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 at google.com>
> 寄件日期: 2022年6月28日 下午 11:56
> 收件者: Brandon Kim <brandonkim at google.com>
> 副本: Chris Chen (TPI) <Chris.Chen3 at flex.com>; Patrick Williams <patrick at stwcx.xyz>; openbmc at lists.ozlabs.org <openbmc at 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 at 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 at 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 at 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 at 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 at archer-ArcherCityM:stdplus$
> >> > archer at 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 at archer-ArcherCityM:stdplus$
> >> > archer at archer-ArcherCityM:stdplus$
> >> > archer at 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!


More information about the openbmc mailing list