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; 12+ 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] 12+ messages in thread
* [phosphor-ipmi-flash]: stdplus build failed before building the host-tool on the Host
@ 2022-06-28  8:43 Chris Chen (TPI)
  2022-06-28 11:20 ` Patrick Williams
  0 siblings, 1 reply; 12+ messages in thread
From: Chris Chen (TPI) @ 2022-06-28  8:43 UTC (permalink / raw)
  To: openbmc; +Cc: Chris Chen (TPI)

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

Hi everyone,

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:
=====
archer@archer-ArcherCityM:stdplus$ gcc --version
gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
archer@archer-ArcherCityM:stdplus$ g++ --version
g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0
archer@archer-ArcherCityM:stdplus$ cmake --version
cmake version 3.22.1
archer@archer-ArcherCityM:stdplus$ meson --version
0.61.2
=====

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.

=====
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
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
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
=====

Of course, I have not the burn_my_bmc (the host-tool) yet.

Regards,
Chris Chen

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: 7668 bytes --]

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

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

Thread overview: 12+ 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
  -- strict thread matches above, loose matches on Subject: below --
2022-06-28  8:43 Chris Chen (TPI)
2022-06-28 11:20 ` Patrick Williams
2022-06-28 15:44   ` 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.