Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Qt5 on OpenWRT
Forum Updated to NodeBB v4.3 + New Features

Qt5 on OpenWRT

Scheduled Pinned Locked Moved Mobile and Embedded
25 Posts 4 Posters 18.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • linamiL Offline
    linamiL Offline
    linami
    wrote on last edited by linami
    #16

    @jsulm i didn't call it, i think it's defined in the Makefile of qt5

    a message that appear when i run make :

    Qt now detects the target and host architectures based on compiler
    output. Qt will be built using mips for the target architecture
    and x86_64 for the host architecture (note that these two
    will be the same unless you are cross-compiling).

    how can i check if it's built correctly or not ?

    1 Reply Last reply
    0
    • jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #17

      Usually makefiles are generated when configure is called.
      Where did you get Qt sources from?

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • linamiL Offline
        linamiL Offline
        linami
        wrote on last edited by linami
        #18

        form here : https://github.com/rferrazz/qwebdomo-openwrt/blob/master/qt5/Makefile

        @jsulm am i missing something ?

        1 Reply Last reply
        0
        • jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #19

          OK, it is a preconfigured Qt for OpenWRT

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • linamiL Offline
            linamiL Offline
            linami
            wrote on last edited by
            #20

            @jsulm sorry for bothering you but i really need your help

            i'm in fact trying to compile some package that depends on qt5 but when building i got this :

            -- Found Qt5 core, checking for further dependencies...

            CMake Error at cmake/modules/QtVersionAbstraction.cmake:25 (find_package):
            Could not find module FindQt5WebKitWidgets.cmake or a configuration file
            for package Qt5WebKitWidgets.

            Adjust CMAKE_MODULE_PATH to find FindQt5WebKitWidgets.cmake or set
            Qt5WebKitWidgets_DIR to the directory containing a CMake configuration file
            for Qt5WebKitWidgets. The file will have one of the following names:

            Qt5WebKitWidgetsConfig.cmake
            qt5webkitwidgets-config.cmake
            

            Call Stack (most recent call first):
            src/CMakeLists.txt:8 (include)

            CMake Error at cmake/modules/QtVersionAbstraction.cmake:26 (find_package):
            Could not find module FindQt5WebKit.cmake or a configuration file for
            package Qt5WebKit.

            Adjust CMAKE_MODULE_PATH to find FindQt5WebKit.cmake or set Qt5WebKit_DIR
            to the directory containing a CMake configuration file for Qt5WebKit. The
            file will have one of the following names:

            Qt5WebKitConfig.cmake
            qt5webkit-config.cmake
            

            Call Stack (most recent call first):
            src/CMakeLists.txt:8 (include)

            CMake Error at cmake/modules/QtVersionAbstraction.cmake:27 (find_package):
            Could not find module FindQt5Widgets.cmake or a configuration file for
            package Qt5Widgets.

            Adjust CMAKE_MODULE_PATH to find FindQt5Widgets.cmake or set Qt5Widgets_DIR
            to the directory containing a CMake configuration file for Qt5Widgets. The
            file will have one of the following names:

            Qt5WidgetsConfig.cmake
            qt5widgets-config.cmake
            

            Call Stack (most recent call first):
            src/CMakeLists.txt:8 (include)

            -- Using Qt 5!
            CMake Error at cmake/modules/QtVersionAbstraction.cmake:47 (find_package):
            Could not find module FindQt5DBus.cmake or a configuration file for package
            Qt5DBus.

            Adjust CMAKE_MODULE_PATH to find FindQt5DBus.cmake or set Qt5DBus_DIR to
            the directory containing a CMake configuration file for Qt5DBus. The file
            will have one of the following names:

            Qt5DBusConfig.cmake
            qt5dbus-config.cmake
            

            Call Stack (most recent call first):
            src/CMakeLists.txt:8 (include)

            CMake Error at /home/ubuntu/openwrt/staging_dir/host/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
            Could NOT find Qt5Keychain (missing: QTKEYCHAIN_LIBRARY
            QTKEYCHAIN_INCLUDE_DIR)
            Call Stack (most recent call first):
            /home/ubuntu/openwrt/staging_dir/host/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
            cmake/modules/FindQt5Keychain.cmake:35 (find_package_handle_standard_args)
            src/CMakeLists.txt:28 (find_package)

            in this directory i have only these :

            ubuntu@ubuntu:~/openwrt/build_dir/target-mipsel_r2_uClibc-0.9.32/qt-everywhere-opensource-src-5.4.2/ipkg-install/usr/lib/cmake$ ls
            Qt5 Qt5Concurrent Qt5LinguistTools Qt5Nfc Qt5Script Qt5SerialPort Qt5Test Qt5WebSockets Qt5XmlPatterns
            Qt5Bluetooth Qt5Core Qt5Network Qt5Positioning Qt5Sensors Qt5Sql Qt5WebChannel Qt5Xml

            is this a problem of wrong building qt5 ?

            1 Reply Last reply
            0
            • jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by jsulm
              #21

              It looks like your Qt installation does not contain following packages:

              • Qt5WebKitWidgets
              • Qt5WebKit
              • Qt5Widgets
              • Qt5DBus

              You should build them first.

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • linamiL Offline
                linamiL Offline
                linami
                wrote on last edited by linami
                #22

                @jsulm yes, and how to build them plz !
                from where can i get them !

                1 Reply Last reply
                0
                • jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #23

                  You already have Qt sources, right? Then build that modules like you did for QtCore.

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • linamiL Offline
                    linamiL Offline
                    linami
                    wrote on last edited by
                    #24

                    @jsulm it works now thank you

                    1 Reply Last reply
                    0
                    • linamiL Offline
                      linamiL Offline
                      linami
                      wrote on last edited by linami
                      #25

                      @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:=fa1c4d819b401b267eb246a543a63ea5

                      PKG_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:=+libstdcpp

                      include $(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
                      endef

                      define Package/qt5-core
                      $(call Package/qt5/Default)
                      TITLE+=core
                      endef

                      define Package/qt5-concurrent
                      $(call Package/qt5/Default)
                      TITLE+=concurrent
                      DEPENDS+=+qt5-core
                      endef

                      define Package/qt5-network
                      $(call Package/qt5/Default)
                      TITLE+=network
                      DEPENDS+=+qt5-core
                      endef

                      define Package/qt5-xml
                      $(call Package/qt5/Default)
                      TITLE+=xml
                      DEPENDS+=+qt5-core
                      endef

                      define Package/qt5-xmlpatterns
                      $(call Package/qt5/Default)
                      TITLE+=xmlpatterns
                      DEPENDS+=+qt5-core +qt5-network
                      endef

                      define Package/qt5-webkitwidgets
                      $(call Package/qt5/Default)
                      TITLE+=webkitwidgets
                      DEPENDS+=+qt5-core
                      endef

                      define Package/qt5-webkit
                      $(call Package/qt5/Default)
                      TITLE+=webkit
                      DEPENDS+=+qt5-core
                      endef

                      define Package/qt5-widgets
                      $(call Package/qt5/Default)
                      TITLE+=widgets
                      DEPENDS+=+qt5-core
                      endef

                      define Package/qt5-dbus
                      $(call Package/qt5/Default)
                      TITLE+=dbus
                      DEPENDS+=+qt5-core +qt5-network
                      endef

                      define Package/qt5-gui
                      $(call Package/qt5/Default)
                      TITLE+=gui
                      DEPENDS+=+qt5-core +qt5-network
                      endef

                      define 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
                      )
                      endef

                      define 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
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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/
                      endef

                      define 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))

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved