phosphor-debug-collector build issues

Bills, Jason M jason.m.bills at linux.intel.com
Wed Jan 27 12:17:58 AEDT 2021



On 1/19/2021 3:43 AM, Jayanth Othayoth wrote:
> Recently one of the d-bus interface  got changed in the 
> phosphor-dbug-collector side . Looks like phosphor-dbus-interface 
> version bump is missing here , which causing this build failure.
> 
> Commit details:
> 
> https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/37355
> https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-debug-collector/+/37802

Thanks, Jayanth!  We are a bit behind on phosphor-dbus-interfaces, so 
this is likely the issue.  I'll work on getting updated to the latest 
phosphor-dbus-interfaces to fix this issue.

> 
> On Fri, Jan 15, 2021 at 2:51 AM Bills, Jason M 
> <jason.m.bills at linux.intel.com <mailto:jason.m.bills at linux.intel.com>> 
> wrote:
> 
> 
> 
>     On 1/12/2021 9:29 AM, Bills, Jason M wrote:
>      > Hi All,
>      >
>      > Is anyone else seeing build errors in phosphor-debug-collector?
>      >
>      > When I build in Yocto, I get this error:
>      >
>      > | In file included from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_main.cpp:6:
> 
>      >
>      > |
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_bmc.hpp:98:9:
> 
>      > error: 'sdbusplus::message::object_path
>      >
>     phosphor::dump::bmc::Manager::createDump(std::map<std::__cxx11::basic_string<char>,
> 
>      > std::__cxx11::basic_string<char> >)' marked 'override', but does not
>      > override
>      > |    98 |         createDump(std::map<std::string, std::string>
>     params)
>      > override;
>      > |       |         ^~~~~~~~~~
>      > | In file included from
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/c++/10.2.0/memory:83,
> 
>      >
>      > |                  from
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/sdbusplus/message.hpp:11,
> 
>      >
>      > |                  from
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/sdbusplus/bus.hpp:7,
> 
>      >
>      > |                  from
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/sdbusplus/server.hpp:3,
> 
>      >
>      > |                  from
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/xyz/openbmc_project/Common/Progress/server.hpp:5,
> 
>      >
>      > |                  from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_entry.hpp:3,
> 
>      >
>      > |                  from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager.hpp:3,
> 
>      >
>      > |                  from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump-extensions.hpp:1,
> 
>      >
>      > |                  from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_main.cpp:3:
> 
>      >
>      > |
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/c++/10.2.0/bits/unique_ptr.h:
> 
>      > In instantiation of 'typename std::_MakeUniq<_Tp>::__single_object
>      > std::make_unique(_Args&& ...) [with _Tp =
>     phosphor::dump::bmc::Manager;
>      > _Args = {sdbusplus::bus::bus&, std::unique_ptr<sd_event,
>      > phosphor::dump::EventDeleter>&, const char (&)[30], const char
>     (&)[36],
>      > const char (&)[40]}; typename std::_MakeUniq<_Tp>::__single_object =
>      > std::unique_ptr<phosphor::dump::bmc::Manager>]':
>      > |
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_main.cpp:68:30:
> 
>      >    required from here
>      > |
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/c++/10.2.0/bits/unique_ptr.h:962:30:
> 
>      > error: invalid new-expression of abstract class type
>      > 'phosphor::dump::bmc::Manager'
>      > |   962 |     { return unique_ptr<_Tp>(new
>      > _Tp(std::forward<_Args>(__args)...)); }
>      > |       | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>      > | In file included from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_main.cpp:6:
> 
>      >
>      > |
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_bmc.hpp:48:7:
> 
>      > note:   because the following virtual functions are pure within
>      > 'phosphor::dump::bmc::Manager':
>      > |    48 | class Manager : virtual public CreateIface,
>      > |       |       ^~~~~~~
>      > | In file included from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_bmc.hpp:9,
> 
>      >
>      > |                  from
>      >
>     ../../../../../../workspace/sources/phosphor-debug-collector/dump_manager_main.cpp:6:
> 
>      >
>      > |
>      >
>     /home/jmbills/openbmc-openbmc/build/tmp/work/arm1176jzs-openbmc-linux-gnueabi/phosphor-debug-collector/1.0+git999-r1/recipe-sysroot/usr/include/xyz/openbmc_project/Dump/Create/server.hpp:55:26:
> 
>      > note:     'virtual uint32_t
>      > sdbusplus::xyz::openbmc_project::Dump::server::Create::createDump()'
>      > |    55 |         virtual uint32_t createDump(
>      > |       |                          ^~~~~~~~~~
>      >
> 
>     It looks like a change was pushed (perhaps
>     https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-debug-collector/+/39162)
> 
>     that fixes openbmc-build-scripts/run-unit-test-docker.sh.  However, I
>     still see the above override failure when building with Yocto.
> 
>     Does anyone else see this error or have any ideas?.
> 
>     Thanks,
>     -Jason
>      >
>      > When I build using openbmc-build-scripts/run-unit-test-docker.sh,
>     I get
>      > this error:
>      >
>      > FAILED:
>      >
>     libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_io_type_dump.cpp.o
> 
>      >
>      > c++ -Ilibpldmresponder/1b80d8d@@pldmresponder at sha -Ilibpldmresponder
>      > -I../libpldmresponder -Ilibpldm -I../libpldm -I. -I.. -I../oem/ibm
>      > -I../libpldm/requester -I/usr/local/include
>     -fdiagnostics-color=always
>      > -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor
>      > -Wextra -Wpedantic -Werror -std=c++17 -g -Wno-psabi -DOEM_IBM
>     -fPIC -MD
>      > -MQ
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_io_type_dump.cpp.o'
> 
>      > -MF
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_io_type_dump.cpp.o.d'
> 
>      > -o
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_io_type_dump.cpp.o'
> 
>      > -c ../oem/ibm/libpldmresponder/file_io_type_dump.cpp
>      > ../oem/ibm/libpldmresponder/file_io_type_dump.cpp: In member
>     function
>      > 'virtual int
>     pldm::responder::DumpHandler::newFileAvailable(uint64_t)':
>      > ../oem/ibm/libpldmresponder/file_io_type_dump.cpp:86:60: error:
>      > 'convertForMessage' is not a member of
>      > 'sdbusplus::xyz::openbmc_project::Dump::server'
>      >     86 |
>     sdbusplus::xyz::openbmc_project::Dump::server::convertForMessage(
>      >        | ^~~~~~~~~~~~~~~~~
>      > ../oem/ibm/libpldmresponder/file_io_type_dump.cpp:86:60: note:
>     suggested
>      > alternatives:
>      > In file included from /usr/local/include/sdbusplus/server.hpp:14,
>      >                   from ../common/utils.hpp:12,
>      >                   from ../oem/ibm/libpldmresponder/file_io.hpp:9,
>      >                   from
>     ../oem/ibm/libpldmresponder/file_io_by_type.hpp:3,
>      >                   from
>     ../oem/ibm/libpldmresponder/file_io_type_dump.hpp:3,
>      >                   from
>     ../oem/ibm/libpldmresponder/file_io_type_dump.cpp:1:
>      > /usr/local/include/sdbusplus/server/bindings.hpp:21:5: note:
>      > 'sdbusplus::server::binding::details::convertForMessage'
>      >     21 | T&& convertForMessage(T&& t)
>      >        |     ^~~~~~~~~~~~~~~~~
>      > In file included from ../common/utils.hpp:13,
>      >                   from ../oem/ibm/libpldmresponder/file_io.hpp:9,
>      >                   from
>     ../oem/ibm/libpldmresponder/file_io_by_type.hpp:3,
>      >                   from
>     ../oem/ibm/libpldmresponder/file_io_type_dump.hpp:3,
>      >                   from
>     ../oem/ibm/libpldmresponder/file_io_type_dump.cpp:1:
>      >
>     /usr/local/include/xyz/openbmc_project/Logging/Entry/server.hpp:268:20:
>      > note:
>     'sdbusplus::xyz::openbmc_project::Logging::server::convertForMessage'
>      >    268 | inline std::string convertForMessage(Entry::Level e)
>      >        |                    ^~~~~~~~~~~~~~~~~
>      > ../oem/ibm/libpldmresponder/file_io_type_dump.cpp:87:26: error:
>      >
>     'sdbusplus::xyz::openbmc_project::Dump::server::NewDump::DumpType' has
>      > not been declared
>      >     87 |                 NewDump::DumpType::System),
>      >        |                          ^~~~~~~~
>      > [23/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_platform_oem_ibm.cpp.o'
> 
>      >
>      > [24/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_io_by_type.cpp.o'
> 
>      >
>      > [25/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/bios_integer_attribute.cpp.o'
>      > [26/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/pdr.cpp.o'
>      > [27/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/bios_string_attribute.cpp.o'
>      > [28/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_io.cpp.o'
> 
>      >
>      > [29/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/bios_attribute.cpp.o'
>      > [30/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_io_type_pel.cpp.o'
> 
>      >
>      > [31/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._oem_ibm_libpldmresponder_file_table.cpp.o'
> 
>      >
>      > [32/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/bios.cpp.o'
>      > [33/63] Compiling C++ object
>      > 'softoff/59fd39a@@pldm-softpoweroff at exe/softoff.cpp.o'
>      > [34/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/pdr_utils.cpp.o'
>      > [35/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/bios_enum_attribute.cpp.o'
>      > [36/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/fru_parser.cpp.o'
>      > [37/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/event_parser.cpp.o'
>      > [38/63] Compiling C++ object
>      >
>     'utilities/abe2c41@@set-state-effecter at exe/requester_set_state_effecter.cpp.o'
> 
>      >
>      > [39/63] Compiling C++ object
>      >
>     'utilities/abe2c41@@set-state-effecter-async at exe/requester_set_state_effecter_async.cpp.o'
> 
>      >
>      > [40/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._host-bmc_dbus_to_event_handler.cpp.o'
> 
>      >
>      > [41/63] Compiling C++ object
>      > 'pldmtool/ddccc44@@pldmtool at exe/pldm_cmd_helper.cpp.o'
>      > [42/63] Compiling C++ object 'pldmutils at sha/common_utils.cpp.o'
>      > [43/63] Compiling C++ object
>      > 'pldmd at exe/host-bmc_dbus_to_host_effecters.cpp.o'
>      > [44/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/fru.cpp.o'
>      > [45/63] Compiling C++ object 'pldmd at exe/pldmd_pldmd.cpp.o'
>      > [46/63] Compiling C++ object
>      > 'pldmtool/ddccc44@@pldmtool at exe/pldmtool.cpp.o'
>      > [47/63] Compiling C++ object
>      >
>     'libpldmresponder/1b80d8d@@pldmresponder at sha/.._host-bmc_host_pdr_handler.cpp.o'
> 
>      >
>      > [48/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/platform.cpp.o'
>      > [49/63] Compiling C++ object
>      > 'pldmtool/ddccc44@@pldmtool at exe/oem_ibm_pldm_oem_ibm.cpp.o'
>      > [50/63] Compiling C++ object
>      > 'pldmtool/ddccc44@@pldmtool at exe/pldm_fru_cmd.cpp.o'
>      > [51/63] Compiling C++ object
>      > 'pldmtool/ddccc44@@pldmtool at exe/pldm_platform_cmd.cpp.o'
>      > [52/63] Compiling C++ object
>      > 'pldmtool/ddccc44@@pldmtool at exe/pldm_base_cmd.cpp.o'
>      > [53/63] Compiling C++ object
>      > 'libpldmresponder/1b80d8d@@pldmresponder at sha/bios_config.cpp.o'
>      > [54/63] Compiling C++ object
>      > 'pldmtool/ddccc44@@pldmtool at exe/pldm_bios_cmd.cpp.o'
>      > ninja: build stopped: subcommand failed.
>      > The command '/bin/sh -c curl -L
>      >
>     https://github.com/openbmc/pldm/archive/8fc3edbc65b164eb8c90155b935c91e0e714c461.tar.gz
> 
>      > | tar -xz && cd pldm-* && meson build --wrap-mode=nodownload
>      > -Dprefix=/usr/local -Dtests=disabled && ninja -C build && ninja
>     -C build
>      > install' returned a non-zero code: 1
>      > ++ cleanup
>      > ++ local status=1
>      > ++ [[ -n /tmp/tmp.LkIqDi6uPu ]]
>      > ++ rm -f /tmp/tmp.LkIqDi6uPu
>      > ++ trap - EXIT ERR
>      > ++ exit 1
>      >
>      > Anyone have any ideas?
>      >
>      > Thanks!
>      > -Jason
> 


More information about the openbmc mailing list