[Buildroot] [PATCH 1/1] package/freeipmi: fix build with argp-standalone and NLS

Thomas Petazzoni thomas.petazzoni at bootlin.com
Thu Apr 28 08:45:55 UTC 2022


Hello Fabrice,

On Wed, 27 Apr 2022 22:18:12 +0200
Fabrice Fontaine <fontaine.fabrice at gmail.com> wrote:

> Fix the following build failure with argp-standalone and NLS raised
> since commit 5430c8fedd0392e79e0c011825b056fea129980a:
> 
> configure:14644: checking for argp_parse in -largp
> configure:14669: /home/giuliobenetti/autobuild/run/instance-1/output-1/host/bin/arm-buildroot-linux-uclibcgnueabi-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g0  -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  conftest.c -largp  -lm -lm -lm  >&5
> /home/giuliobenetti/autobuild/run/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-uclibcgnueabi/10.3.0/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld: /home/giuliobenetti/autobuild/run/instance-1/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libargp.a(argp-parse.o): in function `argp_version_parser':
> /home/giuliobenetti/autobuild/run/instance-1/output-1/build/argp-standalone-1.4.1/argp-parse.c:181: undefined reference to `libintl_dgettext'
> 
> [...]
> 
> In file included from freeipmi-argp-fmtstream.c:35:
> freeipmi-argp-namefrob.h:62:32: error: redefinition of 'argp_fmtstream_write'
>    62 | #define __argp_fmtstream_write argp_fmtstream_write
>       |                                ^~~~~~~~~~~~~~~~~~~~
> freeipmi-argp-fmtstream.c:395:1: note: in expansion of macro '__argp_fmtstream_write'
>   395 | __argp_fmtstream_write (argp_fmtstream_t __fs,
>       | ^~~~~~~~~~~~~~~~~~~~~~
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/26090162396b1b8cedfc58e1790ced528fcc35c6
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>

While your patch is indeed the most "immediate" fix, shouldn't we think
about providing a pkg-config file for argp-standalone, so that its
indirect dependency on libintl when static linking can be properly
described, and transparently discovered by users of argp-standalone?

Because otherwise here, you'll have to basically propagate this to all
users of argp-standalone, and to all users of users of argp-standalone.

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com



More information about the buildroot mailing list