[Buildroot] pppd breaks build without libutils

Arnout Vandecappelle arnout at mind.be
Thu Sep 29 09:41:14 UTC 2016



On 28-09-16 18:34, Yann E. MORIN wrote:
> Thomas, All,
> 
> On 2016-09-28 10:59 +0200, Thomas Petazzoni spake thusly:
>> On Tue, 27 Sep 2016 23:43:25 +0200, Yann E. MORIN wrote:
>>
>>> Which suddenly rings a bell here: the latest uClibc-ng version, 1.0.18,
>>> now is one-lib, i.e. everything merged into libc.so like musl is, so
>>> we could get external toolchains which will lack libutil.so because
>>> there is no longer such a library now.
>>>
>>> If uClibc-ng does like musl does, there will be a lot of empty static
>>> versions of the libraries, libutil.a, libcrypt.a and so on, but there
>>> will no longer be shared variants.
>>>
>>> We'll have to account for that in our external toolchain handling.
>>
>> I'm not sure what needs to be handled. We already support musl that
>> does this, and it works fine. It should be perfectly transparent to the
>> external toolchain handling (except the copying of the shared libraries
>> to the target, of course).
> 
> That's exactly what I meant: currently, we copy anexplicit set of shared
> libraries from external uClibc-based toolchains:
> 
>    66 ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC),y)
>    67 TOOLCHAIN_EXTERNAL_LIBS += libatomic.so.* libc.so.* libcrypt.so.*
>         libdl.so.* libgcc_s.so.* libm.so.*       libnsl.so.* libresolv.so.*
>         librt.so.* libutil.so.*
>    68 ifeq ($(BR2_TOOLCHAIN_EXTERNAL_GLIBC)$(BR2_ARM_EABIHF),yy)
>    69 TOOLCHAIN_EXTERNAL_LIBS += ld-linux-armhf.so.*
>    70 else
>    71 TOOLCHAIN_EXTERNAL_LIBS += ld*.so.*
>    72 endif
>    73 ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
>    74 TOOLCHAIN_EXTERNAL_LIBS += libpthread.so.*
>    75 ifneq ($(BR2_PACKAGE_GDB)$(BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY),)
>    76 TOOLCHAIN_EXTERNAL_LIBS += libthread_db.so.*
>    77 endif # gdbserver
>    78 endif # ! no threads
>    79 endif
> 
> Now, old uClibc-based toolchains will have those libs, while newer ones
> will only have libc.so.* .
> 
> This is that which we need to account for.

TOOLCHAIN_EXTERNAL_LIBS is used as the -name argument of a find, so no error if
it doesn't exist. I tried adding a libfoobar.so.* and it doesn't complain (and
obviously there is no libfoobar.so.* in staging).

 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF



More information about the buildroot mailing list