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

Matthew Weber matt at thewebers.ws
Sun Aug 28 22:20:11 UTC 2016


Yann,

On Sun, Aug 28, 2016 at 1:19 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> 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...
>
> Fixes:
>     http://autobuild.buildroot.org/results/e92/e929799366e6f574c7b08d8635b18623afd3e3e1/
>
> Reported-by: Matthew Weber <matt at thewebers.ws>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> ---
>  package/sconeserver/Config.in | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/package/sconeserver/Config.in b/package/sconeserver/Config.in
> index 4083aa7..5059570 100644
> --- a/package/sconeserver/Config.in
> +++ b/package/sconeserver/Config.in
> @@ -2,6 +2,7 @@ menuconfig BR2_PACKAGE_SCONESERVER
>         bool "sconeserver"
>         depends on BR2_INSTALL_LIBSTDCPP
>         depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> +       depends on !BR2_TOOLCHAIN_USES_UCLIBC || !BR2_STATIC_LIBS # dlopen()
>         select BR2_PACKAGE_PCRE
>         help
>           Sconeserver is a modular, object-orientated and extremely versatile
> @@ -103,4 +104,9 @@ comment "ui module requires X.org"
>  endif # BR2_PACKAGE_SCONESERVER

Should a comment be added for the toolchain C++ and NPTL are good but
dyn lib support is not?

comment "sconeserver needs a toolchain w/ dynamic library"
        depends on BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS_NPTL
        depends on BR2_TOOLCHAIN_USES_UCLIBC && BR2_STATIC_LIBS

I'd also be good with just disabling static build per follow on parts
of this thread.

Thanks,
Matt


More information about the buildroot mailing list