[Buildroot] [PATCH v3] support/dependencies: ensure we have 'file' on the host

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Dec 27 17:07:46 UTC 2016


Hello,

On Mon, 26 Dec 2016 18:58:30 +0100, Yann E. MORIN wrote:
> Recently, the autoconf macros for libtool started using '/usr/bin/file'
> to determine the type of library that is generated by the toolchain.
> Packages that use this recent version of the libtool autoconf macros
> will fail in a rather dramatic way when /usr/bin/file is not present
> on the host: the package will still build but no shared library is
> generated, which in turn may cause build failures in other packages
> that link with it.
> 
> For example, libpng's configure determines that it is not possible to
> build a shared library on MIPS64 because the expected output from 'file'
> is not present. Therefore, only a static libpng.a is built. Later,
> bandwithd links with -lpng but it doesn't use the pkg-config's
> Private-Libs (because it's not linking statically) and it doesn't have
> access to the NEEDED reference from the shared library. Therefore, it
> doesn't link with zlib and fails with
> 
>     pngrutil.c:(.text+0x55c): undefined reference to `inflate'
> 
> We cant use host-file because it is itself an autotools package and is
> itself using libtool, so this would be a chicken-n-egg problem. Besides,
> the libtool script really wants to call /usr/bin/file, so it would not
> even find our host-file anyway.
> 
> So, just require that '/usr/bin/file' is present on the host.
> 
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Arnout Vandecappelle <arnout at mind.be>
> Cc: Baruch Siach <baruch at tkos.co.il>
> 
> ---
> Changes v2 -> v3:
>   - explicitly check for /usr/bin/file  (arnout)
>   - reword commit log  (Arnout)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the buildroot mailing list