Skip to content

Commit

Permalink
qt5: disable for static-only builds
Browse files Browse the repository at this point in the history
Even though we have some specific code to support building Qt5 for
static-only configurations, it doesn't work. The first problem is that
our custom qmake.conf always passes -ldl, which makes a number of Qt5
config.tests fail at configure time. Once this problem is fixed by
removing -ldl from QMAKE_LIBS and adding it to QMAKE_LIBS_DYNLOAD
instead, the next problem is that the plugin infrastructure of Qt5
assumes that Linux has dynamic library support: the qlibrary_unix.cpp
file includes <dlfcn.h>, and the only condition for this file to not
be included is:

Until recently, building Qt5 statically was working because our C
library was not built static-only: it provided <dlfcn.h> and
libdl.so. But now that we have a really static only toolchain, Qt5 no
longer builds.

The easiest solution is to simply make Qt5 depend on dynamic library
support.

Fixes:

   http://autobuild.buildroot.net/results/538/538e0325adba9fabbe4ec8e550fbb6a7219f5e7a/

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Peter Korsgaard <[email protected]>
  • Loading branch information
tpetazzoni authored and jacmet committed Aug 26, 2015
1 parent 5519719 commit 2215b8a
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 11 deletions.
5 changes: 3 additions & 2 deletions package/qt5/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,16 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE
depends on !BR2_ARM_CPU_ARMV4
default y

comment "Qt5 needs a toolchain w/ wchar, NPTL, C++"
comment "Qt5 needs a toolchain w/ wchar, NPTL, C++, dynamic library"
depends on !BR2_PACKAGE_QT
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS

menuconfig BR2_PACKAGE_QT5
bool "Qt5"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
depends on !BR2_STATIC_LIBS
depends on !BR2_PACKAGE_QT
select BR2_PACKAGE_QT5BASE
help
Expand Down
11 changes: 2 additions & 9 deletions package/qt5/qt5base/qt5base.mk
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,15 @@ QT5BASE_CONFIGURE_OPTS += \
-no-iconv \
-system-zlib \
-system-pcre \
-no-pch
-no-pch \
-shared

ifeq ($(BR2_ENABLE_DEBUG),y)
QT5BASE_CONFIGURE_OPTS += -debug
else
QT5BASE_CONFIGURE_OPTS += -release
endif

ifeq ($(BR2_STATIC_LIBS),y)
QT5BASE_CONFIGURE_OPTS += -static
else
# We apparently can't build both the shared and static variants of the
# library.
QT5BASE_CONFIGURE_OPTS += -shared
endif

QT5BASE_CONFIGURE_OPTS += -largefile

ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
Expand Down

0 comments on commit 2215b8a

Please sign in to comment.