From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yann E. MORIN Date: Mon, 29 Aug 2016 00:15:24 +0200 Subject: [Buildroot] [PATCH 2/2] package/sconeserver: needs shared libs or non uClibc toolchain In-Reply-To: <87wpj07dga.fsf@dell.be.48ers.dk> References: <1472408394-20573-1-git-send-email-yann.morin.1998@free.fr> <1472408394-20573-2-git-send-email-yann.morin.1998@free.fr> <87wpj07dga.fsf@dell.be.48ers.dk> Message-ID: <20160828221524.GF5758@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Peter, All, On 2016-08-29 00:09 +0200, Peter Korsgaard spake thusly: > >>>>> "Yann" == Yann E MORIN writes: > > > sconeserver wants to use dlopen(), unconditionally: it does not try to > > detect it, and it can't work without it (the code is not conditional). > > > So, when the toolchain uses uClibc, and that uClibc has been configured > > with only static support, the dlopen() functions are not available at > > all, and the corresponding headers are not present: > > > ModuleLoader.cpp:29:19: fatal error: dlfcn.h: No such file or directory > > #include > > ^ > > > However, we can't know if uClibc has shared support or is static-only, > > especially for external toolchains. > > > The only way is to forbid the combination {uClibc,static}. So we may > > indeed forbid working combinations, for example if the external > > toolchain is uClibc-based and has support for shared libs... > > Ehh, this I don't get. Why not simply depend on !BR2_STATIC_LIBS like we > do for other users of dlfcn.h? > > If BR2_STATIC_LIBS is enabled then there won't be any .so files in the > target rootfs, so even if the C library has dlopen support it won't > work. Not necessarily true. One can use dlopen() to load "addons" even from a staticaly linked executable. However, I don't care about sconeserver; I was just looking at build failures and trying to make it the least broken as possible. If you're fine with making it depend on non static-only and drop the uclibc condition, that's fine with me. ;-) Regards, Yann E. MORIN. > If an external (uClibc-based) toolchain has no shared library support > then it can only be used in BR2_STATIC_LIBS configurations. > > -- > Bye, Peter Korsgaard -- .-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'