Failure building burn_my_bmc

Patrick Voelker Patrick_Voelker at phoenix.com
Thu Nov 19 10:17:51 AEDT 2020


I'm having an issue building burn_my_bmc with the instructions listed on https://github.com/openbmc/phosphor-ipmi-flash . Got through building all the dependencies but I get the following errors when building pci.cpp.  Looks like maybe stdplus changed?

pvoelker at bmc-dev:~/bmc/host-tool/phosphor-ipmi-flash$ make
make  all-recursive
make[1]: Entering directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash'
Making all in .
make[2]: Entering directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash'
  CXX      internal/libfirmware_common_la-sys.lo
  CXXLD    libfirmware_common.la
ar: `u' modifier ignored since `D' is the default (see `U')
make[2]: Leaving directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash'
Making all in tools
make[2]: Entering directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash/tools'
Making all in .
make[3]: Entering directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash/tools'
  CXX      libupdater_la-updater.lo
  CXX      libupdater_la-handler.lo
  CXX      libupdater_la-helper.lo
  CXX      libupdater_la-bt.lo
  CXX      libupdater_la-lpc.lo
  CXX      libupdater_la-io.lo
  CXX      libupdater_la-net.lo
  CXX      libupdater_la-pci.lo
In file included from pci.cpp:17:0:
pci.hpp:40:39: error: 'span' in namespace 'stdplus' does not name a template type
     virtual void write(const stdplus::span<const std::uint8_t> data) = 0;
                                       ^~~~
pci.hpp:40:43: error: expected ',' or '...' before '<' token
     virtual void write(const stdplus::span<const std::uint8_t> data) = 0;
                                           ^
pci.hpp:51:39: error: 'span' in namespace 'stdplus' does not name a template type
     virtual void write(const stdplus::span<const std::uint8_t> data) override;
                                       ^~~~
pci.hpp:51:43: error: expected ',' or '...' before '<' token
     virtual void write(const stdplus::span<const std::uint8_t> data) override;
                                           ^
pci.cpp:105:44: error: 'span' in namespace 'stdplus' does not name a template type
 void PciAccessBridge::write(const stdplus::span<const std::uint8_t> data)
                                            ^~~~
pci.cpp:105:48: error: expected ',' or '...' before '<' token
 void PciAccessBridge::write(const stdplus::span<const std::uint8_t> data)
                                                ^
pci.cpp: In member function 'virtual void host_tool::PciAccessBridge::write(int)':
pci.cpp:107:9: error: 'data' was not declared in this scope
     if (data.size() > dataLength)
         ^~~~
pci.cpp:107:9: note: suggested alternatives:
In file included from /usr/include/c++/7/string:51:0,
                 from /usr/include/c++/7/stdexcept:39,
                 from /usr/include/c++/7/system_error:41,
                 from ../internal/sys.hpp:19,
                 from pci.hpp:20,
                 from pci.cpp:17:
/usr/include/c++/7/bits/range_access.h:318:5: note:   'std::data'
     data(initializer_list<_Tp> __il) noexcept
     ^~~~
In file included from pci.cpp:26:0:
/usr/local/include/fmt/format.h:952:8: note:   'fmt::v7::detail::data'
 struct data : basic_data<> {};
        ^~~~
pci.cpp:114:36: error: 'data' was not declared in this scope
     std::memcpy(addr + dataOffset, data.data(), data.size());
                                    ^~~~
pci.cpp:114:36: note: suggested alternatives:
In file included from /usr/include/c++/7/string:51:0,
                 from /usr/include/c++/7/stdexcept:39,
                 from /usr/include/c++/7/system_error:41,
                 from ../internal/sys.hpp:19,
                 from pci.hpp:20,
                 from pci.cpp:17:
/usr/include/c++/7/bits/range_access.h:318:5: note:   'std::data'
     data(initializer_list<_Tp> __il) noexcept
     ^~~~
In file included from pci.cpp:26:0:
/usr/local/include/fmt/format.h:952:8: note:   'fmt::v7::detail::data'
 struct data : basic_data<> {};
        ^~~~
Makefile:654: recipe for target 'libupdater_la-pci.lo' failed
make[3]: *** [libupdater_la-pci.lo] Error 1
make[3]: Leaving directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash/tools'
Makefile:708: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash/tools'
Makefile:608: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/pvoelker/bmc/host-tool/phosphor-ipmi-flash'
Makefile:474: recipe for target 'all' failed
make: *** [all] Error 2



More information about the openbmc mailing list