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

Yann E. MORIN yann.morin.1998 at free.fr
Sun Aug 28 18:19:54 UTC 2016


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
 
 comment "sconeserver needs a toolchain w/ C++, NPTL"
-	depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS_NPTL)
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on !BR2_TOOLCHAIN_USES_UCLIBC || !BR2_STATIC_LIBS
+
+comment "sconeserver needs a toolchain with dynamic library, C++, NPTL"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on BR2_TOOLCHAIN_USES_UCLIBC && BR2_STATIC_LIBS
-- 
2.7.4



More information about the buildroot mailing list