From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Wed, 28 Sep 2016 18:34:39 +0200 Subject: [Buildroot] pppd breaks build without libutils In-Reply-To: <20160928105900.55310907@free-electrons.com> References: <20160925205851.18f334ec@free-electrons.com> <5cce18a6-b051-a6bf-17e0-e9fa82a1491e@mind.be> <20160927214325.GC8646@free.fr> <20160928105900.55310907@free-electrons.com> Message-ID: <20160928163439.GA3622@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net 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. Regards, Yann E. MORIN. -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'