Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Cross compiling qt for arm



  • Hi,

    I am trying to cross compile qt 5.9.1 for arm i am getting the following error while configuring

    here is the configure command used
    ./configure -xplatform /home/user/J6+Backup/rootfs/usr/share/qt5.7.1/mkspecs/linux-arm-gnueabihf-g++ -prefix /home/user/qtbin/Qt5.9.1 -platform linux-g++ -confirm-license -opensource -sysroot /home/user/qtcross/tisdk-rootfs-image-dra7xx-evm -no-compile-examples -nomake tests -nomake examples -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtwebengine -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtlocation

    • cd qtbase

    • /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure -top-level -xplatform /home/user/J6+Backup/rootfs/usr/share/qt5.7.1/mkspecs/linux-arm-gnueabihf-g++ -prefix /home/user/qtbin/Qt5.9.1 -platform linux-g++ -confirm-license -opensource -sysroot /home/user/qtcross/tisdk-rootfs-image-dra7xx-evm -no-compile-examples -nomake tests -nomake examples -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtwebengine -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtlocation
      Creating qmake...
      /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure: line 167:
      BEGIN {
      values["LITERAL_WHITESPACE"] = " "
      values["LITERAL_DOLLAR"] = "$"
      }
      /^[_A-Z0-9.]+[ \t]*+?=/ {
      valStart = index($0, "=") + 1

      append = 0
      if (substr($0, valStart - 2, 1) == "+") {
      append = 1
      }

      variable = substr($0, 0, valStart - 2 - append)
      value = substr($0, valStart)
      gsub("[ \t]+", "", variable)
      gsub("^[ \t]+", "", value)
      gsub("[ \t]+$", "", value)

      ovalue = ""
      while (match(value, /$$({[_A-Z0-9.]+}|[_A-Z0-9.]+)/)) {
      ovalue = ovalue substr(value, 1, RSTART - 1)
      var = substr(value, RSTART + 2, RLENGTH - 2)
      value = substr(value, RSTART + RLENGTH)
      if (var ~ /^{/) {
      var = substr(var, 2, length(var) - 2)
      }
      ovalue = ovalue values[var]
      }
      value = ovalue value

      ovalue = ""
      while (match(value, /$$system(("[^"]"|[^)]))/)) {
      ovalue = ovalue substr(value, 1, RSTART - 1)
      cmd = substr(value, RSTART + 9, RLENGTH - 10)
      gsub(/^"|"$/, "", cmd)
      value = substr(value, RSTART + RLENGTH)
      while ((cmd | getline line) > 0) {
      ovalue = ovalue line
      }
      close(cmd)
      }
      value = ovalue value

      combinedValue = values[variable]
      if (append == 1 && length(combinedValue) > 0) {
      combinedValue = combinedValue " " value
      } else {
      combinedValue = value
      }
      values[variable] = combinedValue
      }
      END {
      for (var in values) {
      print var "=" values[var]
      }
      }
      : No such file or directory
      /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure: line 230: /^(QMAKE_CC)=/ { print substr($0, index($0, "=") + 1) }: No such file or directory
      /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure: line 167:
      BEGIN {
      values["LITERAL_WHITESPACE"] = " "
      values["LITERAL_DOLLAR"] = "$"
      }
      /^[_A-Z0-9.]+[ \t]*+?=/ {
      valStart = index($0, "=") + 1

      append = 0
      if (substr($0, valStart - 2, 1) == "+") {
      append = 1
      }

      variable = substr($0, 0, valStart - 2 - append)
      value = substr($0, valStart)
      gsub("[ \t]+", "", variable)
      gsub("^[ \t]+", "", value)
      gsub("[ \t]+$", "", value)

      ovalue = ""
      while (match(value, /$$({[_A-Z0-9.]+}|[_A-Z0-9.]+)/)) {
      ovalue = ovalue substr(value, 1, RSTART - 1)
      var = substr(value, RSTART + 2, RLENGTH - 2)
      value = substr(value, RSTART + RLENGTH)
      if (var ~ /^{/) {
      var = substr(var, 2, length(var) - 2)
      }
      ovalue = ovalue values[var]
      }
      value = ovalue value

      ovalue = ""
      while (match(value, /$$system(("[^"]"|[^)]))/)) {
      ovalue = ovalue substr(value, 1, RSTART - 1)
      cmd = substr(value, RSTART + 9, RLENGTH - 10)
      gsub(/^"|"$/, "", cmd)
      value = substr(value, RSTART + RLENGTH)
      while ((cmd | getline line) > 0) {
      ovalue = ovalue line
      }
      close(cmd)
      }
      value = ovalue value

      combinedValue = values[variable]
      if (append == 1 && length(combinedValue) > 0) {
      combinedValue = combinedValue " " value
      } else {
      combinedValue = value
      }
      values[variable] = combinedValue
      }
      END {
      for (var in values) {
      print var "=" values[var]
      }
      }
      : No such file or directory
      /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure: line 230: /^(QMAKE_CXX)=/ { print substr($0, index($0, "=") + 1) }: No such file or directory
      Creating qmake...1
      /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure: line 167:
      BEGIN {
      values["LITERAL_WHITESPACE"] = " "
      values["LITERAL_DOLLAR"] = "$"
      }
      /^[_A-Z0-9.]+[ \t]*+?=/ {
      valStart = index($0, "=") + 1

      append = 0
      if (substr($0, valStart - 2, 1) == "+") {
      append = 1
      }

      variable = substr($0, 0, valStart - 2 - append)
      value = substr($0, valStart)
      gsub("[ \t]+", "", variable)
      gsub("^[ \t]+", "", value)
      gsub("[ \t]+$", "", value)

      ovalue = ""
      while (match(value, /$$({[_A-Z0-9.]+}|[_A-Z0-9.]+)/)) {
      ovalue = ovalue substr(value, 1, RSTART - 1)
      var = substr(value, RSTART + 2, RLENGTH - 2)
      value = substr(value, RSTART + RLENGTH)
      if (var ~ /^{/) {
      var = substr(var, 2, length(var) - 2)
      }
      ovalue = ovalue values[var]
      }
      value = ovalue value

      ovalue = ""
      while (match(value, /$$system(("[^"]"|[^)]))/)) {
      ovalue = ovalue substr(value, 1, RSTART - 1)
      cmd = substr(value, RSTART + 9, RLENGTH - 10)
      gsub(/^"|"$/, "", cmd)
      value = substr(value, RSTART + RLENGTH)
      while ((cmd | getline line) > 0) {
      ovalue = ovalue line
      }
      close(cmd)
      }
      value = ovalue value

      combinedValue = values[variable]
      if (append == 1 && length(combinedValue) > 0) {
      combinedValue = combinedValue " " value
      } else {
      combinedValue = value
      }
      values[variable] = combinedValue
      }
      END {
      for (var in values) {
      print var "=" values[var]
      }
      }
      : No such file or directory
      /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure: line 230: /^(QMAKE_CXXFLAGS)=/ { print substr($0, index($0, "=") + 1) }: No such file or directory
      /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/configure: line 167:

    please help in resolving this issue.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    What cross-compiler are you using ?

    You seem be mixing two different versions of Qt: 5.7.1 and 5.9.1 which is not a good idea.



  • tried by giving the below modified configure command but got the same error

    ./configure -xplatform linux-arm-gnueabihf-g++ -prefix /home/user/qtbin/Qt5.9.1 -platform linux-g++ -confirm-license -opensource -sysroot /home/user/qtcross/tisdk-rootfs-image-dra7xx-evm -no-compile-examples -nomake tests -nomake examples -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtwebengine -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtlocation



  • sry not the above one

    ./configure -xplatform /home/user/qtcrosscompile/qt-everywhere-opensource-src-5.9.1/qtbase/mkspecs/linux-arm-gnueabihf-g++ -prefix /home/user/qtbin/Qt5.9.1 -platform linux-g++ -confirm-license -opensource -sysroot /home/user/qtcross/tisdk-rootfs-image-dra7xx-evm -no-compile-examples -nomake tests -nomake examples -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtwebengine -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtlocation



  • @VAMSIkrishna I don't know if you are targeting a Raspberry PI, but this link could give you some helpful information about cross-compiling to ARM ==> Cross-Compile QT 5.12.3 / Raspberry Pi 3



  • I am corss compiling it for Ti J6+ @KroMignon


Log in to reply