Qt5 on OpenWRT
-
It looks like your Qt installation does not contain following packages:
- Qt5WebKitWidgets
- Qt5WebKit
- Qt5Widgets
- Qt5DBus
You should build them first.
-
You already have Qt sources, right? Then build that modules like you did for QtCore.
-
@jsulm i now figure out that it's okey for Qt5Widgets and Qt5DBus but not for both of Qt5WebKitWidgets and Qt5WebKit
i have this when compiling qt5 :
make[2]: Entering directory
/home/ubuntu/openwrt/package/qt5' mkdir -p /home/ubuntu/openwrt/bin/ramips/packages /home/ubuntu/openwrt/build_dir/target-mipsel_r2_uClibc-0.9.32/qt-everywhere-opensource-src-5.4.2/ipkg-ramips/qt5-webkitwidgets/CONTROL install -d -m0755 /home/ubuntu/openwrt/build_dir/target-mipsel_r2_uClibc-0.9.32/qt-everywhere-opensource-src-5.4.2/ipkg-ramips/qt5-webkitwidgets/usr/lib/ cp -fpR /home/ubuntu/openwrt/build_dir/target-mipsel_r2_uClibc-0.9.32/qt-everywhere-opensource-src-5.4.2/ipkg-install/usr/lib/libQt5WebKitWidgets.so* /home/ubuntu/openwrt/build_dir/target-mipsel_r2_uClibc-0.9.32/qt-everywhere-opensource-src-5.4.2/ipkg-ramips/qt5-webkitwidgets/usr/lib/ cp: cannot stat '/home/ubuntu/openwrt/build_dir/target-mipsel_r2_uClibc-0.9.32/qt-everywhere-opensource-src-5.4.2/ipkg-install/usr/lib/libQt5WebKitWidgets.so*': No such file or directory make[2]: *** [/home/ubuntu/openwrt/bin/ramips/packages/qt5-webkitwidgets_5.4.2-1_ramips.ipk] Error 1 make[2]: Leaving directory
/home/ubuntu/openwrt/package/qt5'and here is my makefile
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5
PKG_VERSION:=5.4.2
PKG_RELEASE:=1
PKG_MD5SUM:=fa1c4d819b401b267eb246a543a63ea5PKG_SOURCE:=qt-everywhere-opensource-src-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/5.4/$(PKG_VERSION)/single
PKG_BUILD_DIR=$(BUILD_DIR)/qt-everywhere-opensource-src-$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=+libstdcppinclude $(INCLUDE_DIR)/package.mk
-include $(if $(DUMP),,./files/qmake.mk)define Package/qt5/Default
SECTION:=libraries
CATEGORY:=Libraries
TITLE:=qt5
URL:=http://qt-project.org
DEPENDS:=+librt +zlib +libstdcpp +libpthread @!LINUX_2_6
endefdefine Package/qt5-core
$(call Package/qt5/Default)
TITLE+=core
endefdefine Package/qt5-concurrent
$(call Package/qt5/Default)
TITLE+=concurrent
DEPENDS+=+qt5-core
endefdefine Package/qt5-network
$(call Package/qt5/Default)
TITLE+=network
DEPENDS+=+qt5-core
endefdefine Package/qt5-xml
$(call Package/qt5/Default)
TITLE+=xml
DEPENDS+=+qt5-core
endefdefine Package/qt5-xmlpatterns
$(call Package/qt5/Default)
TITLE+=xmlpatterns
DEPENDS+=+qt5-core +qt5-network
endefdefine Package/qt5-webkitwidgets
$(call Package/qt5/Default)
TITLE+=webkitwidgets
DEPENDS+=+qt5-core
endefdefine Package/qt5-webkit
$(call Package/qt5/Default)
TITLE+=webkit
DEPENDS+=+qt5-core
endefdefine Package/qt5-widgets
$(call Package/qt5/Default)
TITLE+=widgets
DEPENDS+=+qt5-core
endefdefine Package/qt5-dbus
$(call Package/qt5/Default)
TITLE+=dbus
DEPENDS+=+qt5-core +qt5-network
endefdefine Package/qt5-gui
$(call Package/qt5/Default)
TITLE+=gui
DEPENDS+=+qt5-core +qt5-network
endefdefine Build/Configure
mkdir -p $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++
$(CP) ./files/$(FILEPFX)qmake.conf $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qmake.conf
$(CP) ./files/$(FILEPFX)qplatformdefs.h $(PKG_BUILD_DIR)/qtbase/mkspecs/linux-openwrt-g++/qplatformdefs.h
( cd $(PKG_BUILD_DIR) ;
TARGET_CC="$(TARGET_CROSS)gcc"
TARGET_CXX="$(TARGET_CROSS)g++"
TARGET_AR="$(TARGET_CROSS)ar cqs"
TARGET_OBJCOPY="$(TARGET_CROSS)objcopy"
TARGET_RANLIB="$(TARGET_CROSS)ranlib"
TARGET_CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)"
TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)"
TARGET_LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS) -lpthread -lrt"
TARGET_INCDIRS="$(TARGET_INCDIRS)"
TARGET_LIBDIRS="$(TARGET_LIBDIRS) $(STAGING_DIR)/usr/lib/"
CFLAGS=
CXXFLAGS=
LDFLAGS=
./configure
-arch mipsel
-no-c++11
-prefix $(CONFIGURE_PREFIX)
-bindir $(CONFIGURE_PREFIX)/bin
-libdir $(CONFIGURE_PREFIX)/lib
-datadir $(CONFIGURE_PREFIX)/share/Qt
-plugindir $(CONFIGURE_PREFIX)/lib/Qt/plugins
-xplatform linux-openwrt-g++
-opensource
-confirm-license
-no-sql-db2
-no-sql-ibase
-no-sql-mysql
-no-sql-oci
-no-sql-odbc
-no-sql-psql
-no-sql-sqlite
-no-sql-sqlite2
-no-sql-tds
-no-qml-debug
-no-gif
-no-libpng
-no-libjpeg
-no-xcb
-no-strip
-openssl
-no-nis
-no-cups
-no-eglfs
-no-directfb
-no-linuxfb
-no-kms
-no-opengl
-make libs
-nomake examples
-nomake tests
-skip qtdeclarative
-skip qtmultimedia
-skip activeqt
-skip qtimageformats
-skip qtgraphicaleffects
-skip qtdoc
-v
-continue
)
endefdefine Build/Compile
TARGET_CC="$(TARGET_CROSS)gcc"
TARGET_CXX="$(TARGET_CROSS)g++"
TARGET_AR="$(TARGET_CROSS)ar cqs"
TARGET_OBJCOPY="$(TARGET_CROSS)objcopy"
TARGET_RANLIB="$(TARGET_CROSS)ranlib"
TARGET_CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)"
TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)"
TARGET_LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS) -ldl -lpthread -lrt"
TARGET_INCDIRS="$(TARGET_INCDIRS)"
TARGET_LIBDIRS="$(TARGET_LIBDIRS) $(STAGING_DIR)/usr/lib/"
STAGING_DIR="$(STAGING_DIR)"
STAGING_DIR_HOST="$(STAGING_DIR)/../host"
PKG_CONFIG_SYSROOT="$(STAGING_DIR)"
$(MAKE) -C $(PKG_BUILD_DIR)
INSTALL_ROOT=$(PKG_INSTALL_DIR)
$(MAKE) -C $(PKG_BUILD_DIR) install
endefdefine Build/InstallDev
$(INSTALL_DIR) $(2)/bin
$(INSTALL_DIR) $(1)/bin
$(INSTALL_DIR) $(1)/usr/mkspecs
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DIR) $(1)/usr/lib/cmake$(INSTALL_DIR) $(STAGING_DIR)/mk/ $(INSTALL_DATA) ./files/qmake.mk $(STAGING_DIR)/mk/ $(CP) \ $(PKG_INSTALL_DIR)/usr/bin/* \ $(2)/bin/ $(CP) \ $(PKG_INSTALL_DIR)/usr/bin/* \ $(2)/bin/ $(CP) \ $(PKG_INSTALL_DIR)/usr/mkspecs/* \ $(1)/usr/mkspecs/ $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \ $(1)/usr/lib/pkgconfig/ $(CP) \ $(PKG_INSTALL_DIR)/usr/include/* \ $(1)/usr/include/ $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/*.so* \ $(1)/usr/lib/ $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/*.prl* \ $(1)/usr/lib/ $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/*.la* \ $(1)/usr/lib/ $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/cmake/* \ $(1)/usr/lib/cmake/
endef
define Package/qt5-core/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Core.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Core.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Core.la
$(1)/usr/lib/
endefdefine Package/qt5-concurrent/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Concurrent.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Concurrent.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Concurrent.la
$(1)/usr/lib/
endefdefine Package/qt5-network/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Network.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Network.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Network.la
$(1)/usr/lib/
endefdefine Package/qt5-xml/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Xml.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Xml.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Xml.la
$(1)/usr/lib/
endefdefine Package/qt5-xmlpatterns/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5XmlPatterns.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5XmlPatterns.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5XmlPatterns.la
$(1)/usr/lib/
endefdefine Package/qt5-webkitwidgets/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5WebKitWidgets.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5WebKitWidgets.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5WebKitWidgets.la
$(1)/usr/lib/
endefdefine Package/qt5-webkit/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Webkit.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Webkit.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Webkit.la
$(1)/usr/lib/
endefdefine Package/qt5-widgets/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Widgets.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Widgets.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Widgets.la
$(1)/usr/lib/
endefdefine Package/qt5-dbus/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5DBus.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5DBus.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5DBus.la
$(1)/usr/lib/
endefdefine Package/qt5-gui/install
$(INSTALL_DIR) $(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Gui.so*
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Gui.prl
$(1)/usr/lib/
$(CP)
$(PKG_INSTALL_DIR)/usr/lib/libQt5Gui.la
$(1)/usr/lib/
endef$(eval $(call BuildPackage,qt5-core))
$(eval $(call BuildPackage,qt5-concurrent))
$(eval $(call BuildPackage,qt5-network))
$(eval $(call BuildPackage,qt5-xml))
$(eval $(call BuildPackage,qt5-xmlpatterns))
$(eval $(call BuildPackage,qt5-webkitwidgets))
$(eval $(call BuildPackage,qt5-webkit))
$(eval $(call BuildPackage,qt5-widgets))
$(eval $(call BuildPackage,qt5-dbus))
$(eval $(call BuildPackage,qt5-gui))