[Buildroot] [PATCH 2/2] package/sconeserver: needs shared libs or non uClibc toolchain

Peter Korsgaard peter at korsgaard.com
Sun Aug 28 22:09:41 UTC 2016


>>>>> "Yann" == Yann E MORIN <yann.morin.1998 at free.fr> 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 <dlfcn.h>
 >                        ^

 > 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.

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



More information about the buildroot mailing list