<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hi everyone,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I for now am trying to enable the In-Band Update of BMC Firmware using OEM IPMI Blob Transport feature. So I followed the README.md in the phosphor-ipmi-flash repo to build the host-tool on the Host, the Host is running the Ubuntu 22.04 with installing gcc,
 g++, cmake, and meson tools which versions are as below:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="font-size:12pt;margin:0px">=====</span><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<div class="elementToProof">archer@archer-ArcherCityM:stdplus$ gcc --version</div>
<div>gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0</div>
<div>archer@archer-ArcherCityM:stdplus$ g++ --version</div>
<div>g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0</div>
<div>archer@archer-ArcherCityM:stdplus$ cmake --version</div>
<div>cmake version 3.22.1</div>
<div>archer@archer-ArcherCityM:stdplus$ meson --version</div>
0.61.2 </div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="font-size:12pt;margin:0px"><span style="margin:0px">=====</span></span><span style="font-size:12pt;margin:0px"></span><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
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 <span style="background-color:rgb(255, 255, 255);display:inline !important">libfmt.a,
 I tried to figure out a solution on google but nothing is related to this. Could anyone help on this? Thanks.</span><br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
=====</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
archer@archer-ArcherCityM:stdplus$<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
archer@archer-ArcherCityM:stdplus$ meson setup -Dexamples=false -Dtests=disabled builddir
<div>The Meson build system</div>
<div>Version: 0.61.2</div>
<div>Source dir: /home/archer/Downloads/host-tool/stdplus</div>
<div>Build dir: /home/archer/Downloads/host-tool/stdplus/builddir</div>
<div>Build type: native build</div>
<div>Project name: stdplus</div>
<div>Project version: 0.1</div>
<div>C++ compiler for the host machine: c++ (gcc 11.2.0 "c++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0")</div>
<div>C++ linker for the host machine: c++ ld.bfd 2.38</div>
<div>Host machine cpu family: x86_64</div>
<div>Host machine cpu: x86_64</div>
<div>Found pkg-config: /usr/bin/pkg-config (0.29.2)</div>
<div>Run-time dependency fmt found: YES 8.1.2</div>
<div>Library dl found: YES</div>
<div>Run-time dependency liburing found: YES 2.0</div>
<div>Build targets in project: 1</div>
<div><br>
</div>
<div>stdplus 0.1</div>
<div><br>
</div>
<div>  User defined options</div>
<div>    examples: false</div>
<div>    tests   : disabled</div>
<div><br>
</div>
Found ninja-1.10.1 at /usr/bin/ninja<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
archer@archer-ArcherCityM:stdplus$ <br>
archer@archer-ArcherCityM:stdplus$<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
archer@archer-ArcherCityM:stdplus$ ninja -C builddir
<div>ninja: Entering directory `builddir'</div>
<div>[9/9] Linking target src/libstdplus.so.0.1</div>
<div>FAILED: src/libstdplus.so.0.1 </div>
<div>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</div>
<div>/usr/bin/ld: /usr/local/lib/libfmt.a(format.cc.o): warning: relocation against `stdout@@GLIBC_2.2.5' in read-only section `.text'</div>
<div>/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</div>
<div>/usr/bin/ld: final link failed: bad value</div>
<div>collect2: error: ld returned 1 exit status</div>
ninja: build stopped: subcommand failed.<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
=====</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Of course, I have not the burn_my_bmc (the host-tool) yet.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Regards,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Chris Chen</div>

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