Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Unsolved fatal error: unicode/uchar.h: No such file or directory

    Mobile and Embedded
    3
    5
    5187
    Loading More Posts
    • 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.
    • R
      ranshalit last edited by ranshalit

      Hello,

      I am trying to cross compile Qt5,
      But I get errors as following:
      "fatal error: unicode/uchar.h: No such file or directory"

      The strange thing is that I've installed in host the appropriate libraries and the file exists:
      /usr/include/unicode/uchar.h

      Why can't it find it ? Is it something wrong in mkspec ?
      My mkspec is at the bottom.

      Regars,
      Ran

      ===============

      MAKEFILE_GENERATOR = UNIX
      CONFIG += incremental gdb_dwarf_index
      QMAKE_INCREMENTAL_STYLE = sublib

      include(../common/linux.conf)
      include(../common/gcc-base-unix.conf)
      include(../common/g++-unix.conf)

      QT_INSTALL_DIR = /media/sdb/qt5/qt-everywhere-opensource-src-5.1.1
      ROOTFS_PATH=/home/ubuntu/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi
      TOOLCHAIN_PREFIX=arm-arago-linux-gnueabi

      QMAKE_INCDIR = $${ROOTFS_PATH}/usr/include $${ROOTFS_PATH}/usr/include/glib-2.0 $${ROOTFS_PATH}/usr/lib/glib-2.0/include $${ROOTFS_PATH}/usr/include/libxml2 $${ROOTFS_PATH}/usr/include/freetype2 $${ROOTFS_PATH}/usr/include/dbus-1.0 $${ROOTFS_PATH}/usr/include/dbus-1.0/dbus

      QMAKE_LIBDIR = $${ROOTFS_PATH}/usr/lib/arm-linux-gnueabi $${ROOTFS_PATH}/usr/lib

      QMAKE_INCDIR_OPENGL_ES2 = $${QT_INSTALL_DIR}/usr/include/sgx/OGLES2
      QMAKE_LIBDIR_OPENGL_ES2 = $${QT_INSTALL_DIR}/opt/gfxlibraries/gfx_rel_es6.x
      QMAKE_INCDIR_EGL = $${QMAKE_INCDIR_OPENGL_ES2}
      QMAKE_LIBDIR_EGL = $${QMAKE_LIBDIR_OPENGL_ES2}

      QMAKE_LIBS = -lxml2 -lz -lts -lasound -lfreetype -lexpat
      -lfontconfig -lpng -lpthread -Wl,-rpath-link=$${ROOTFS_PATH}/usr/lib/arm-linux-gnueabi -Wl,-rpath-link=$${ROOTFS_PATH}/usr/lib

      QMAKE_LIBS_OPENGL_ES2= -lEGL -lIMGegl -lsrv_um -lGLESv2 -lGLES_CM -lusc -Wl,-rpath-link=/media/sdb/qt5/qt-everywhere-opensource-src-5.1.1/opt/gfxlibraries/gfx_rel_es6.x -Wl,-rpath-link

      QMAKE_LIBS_EGL= $${QMAKE_LIBS_OPENGL_ES2}
      QMAKE_LIBS_THREAD = -lpthread

      QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mfpu=neon -mfloat-abi=softfp

      QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE

      QMAKE_CC = $${TOOLCHAIN_PREFIX}-gcc
      QMAKE_CXX = $${TOOLCHAIN_PREFIX}-g++
      QMAKE_LINK = $${QMAKE_CXX}
      QMAKE_LINK_SHLIB = $${QMAKE_CXX}

      QMAKE_AR = $${TOOLCHAIN_PREFIX}-ar cqs
      QMAKE_OBJCOPY = $${TOOLCHAIN_PREFIX}-objcopy
      QMAKE_STRIP = $${TOOLCHAIN_PREFIX}-strip

      load(qt_config)

      1 Reply Last reply Reply Quote 0
      • SGaist
        SGaist Lifetime Qt Champion last edited by

        Hi,

        You are cross-compiling Qt and from the looks of it that path is on your host computer. That file must be findable in that ROOTFS_PATH you have in your mkspec.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply Reply Quote 0
        • R
          ranshalit last edited by

          Hi,

          I've set ROOTFS_PATH into the toolchain lib and include, but that toolchain does not contain the libraries which I've installed on the host machine (ubuntu), that should be found in /usr/lib and /usr/include.
          Should I add that folders (the strange thing is that they are host folders and not cross compiled) ?

          Thank
          Ran

          1 Reply Last reply Reply Quote 0
          • R
            ranshalit last edited by

            Hi,

            on running configure, it also disables a lot of stuff becuase it can't find headers which are not specified in the qmake, but I don't understand it. they are host headers, they are not part of the cross compiled files.

            I'm struglling with it for some couple of days,

            ubuntu@ubuntu-laptop:/media/sdb/qt5/qt-everywhere-opensource-src-5.1.1$ ./configure -prefix /qt5 -release -make libs -xplatform linux-TIarmv7-g++ -opengl es2 -confirm-license -opensource -no-icu -no-xcb -no-pch -make examples -verbose >> xx
            Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
            Warning: Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set.
            floatmath.cpp:44:5: warning: unused parameter 'argc'
            floatmath.cpp:44:5: warning: unused parameter 'argv'
            cc1plus: error: unrecognized command line option "-msse2"
            make: *** [sse2.o] Error 1
            cc1plus: error: unrecognized command line option "-msse3"
            make: *** [sse3.o] Error 1
            cc1plus: error: unrecognized command line option "-mssse3"
            make: *** [ssse3.o] Error 1
            cc1plus: error: unrecognized command line option "-msse4.1"
            make: *** [sse4_1.o] Error 1
            cc1plus: error: unrecognized command line option "-msse4.2"
            make: *** [sse4_2.o] Error 1
            cc1plus: error: unrecognized command line option "-mavx"
            make: *** [avx.o] Error 1
            libjpeg.cpp: In function 'int main(int, char**)':
            libjpeg.cpp:51:32: warning: 'cinfo' is used uninitialized in this function
            db2.cpp:42:20: fatal error: sqlcli.h: No such file or directory
            compilation terminated.
            make: *** [db2.o] Error 1
            ibase.cpp:42:19: fatal error: ibase.h: No such file or directory
            compilation terminated.
            make: *** [ibase.o] Error 1
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../lib/gcc/arm-arago-linux-gnueabi/4.5.3/../../../../arm-arago-linux-gnueabi/bin/ld: cannot find -lmysqlclient_r
            collect2: ld returned 1 exit status
            make: *** [mysql_r] Error 1
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../lib/gcc/arm-arago-linux-gnueabi/4.5.3/../../../../arm-arago-linux-gnueabi/bin/ld: cannot find -lmysqlclient
            collect2: ld returned 1 exit status
            make: *** [mysql] Error 1
            oci.cpp:42:17: fatal error: oci.h: No such file or directory
            compilation terminated.
            make: *** [oci.o] Error 1
            odbc.cpp:45:17: fatal error: sql.h: No such file or directory
            compilation terminated.
            make: *** [odbc.o] Error 1
            iodbc.cpp:42:17: fatal error: sql.h: No such file or directory
            compilation terminated.
            make: *** [iodbc.o] Error 1
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../lib/gcc/arm-arago-linux-gnueabi/4.5.3/../../../../arm-arago-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libpq.so when searching for -lpq
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../lib/gcc/arm-arago-linux-gnueabi/4.5.3/../../../../arm-arago-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libpq.a when searching for -lpq
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../lib/gcc/arm-arago-linux-gnueabi/4.5.3/../../../../arm-arago-linux-gnueabi/bin/ld: cannot find -lpq
            collect2: ld returned 1 exit status
            make: *** [psql] Error 1
            sqlite2.cpp:42:20: fatal error: sqlite.h: No such file or directory
            compilation terminated.
            make: *** [sqlite2.o] Error 1
            tds.cpp:42:22: fatal error: sybfront.h: No such file or directory
            compilation terminated.
            make: *** [tds.o] Error 1
            dbus.cpp:43:23: fatal error: dbus/dbus.h: No such file or directory
            compilation terminated.
            make: *** [dbus.o] Error 1
            In file included from /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/glib-2.0/glib/galloca.h:34:0,
            from /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/glib-2.0/glib.h:32,
            from glib.cpp:44:
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/glib-2.0/glib/gtypes.h:34:24: fatal error: glibconfig.h: No such file or directory
            compilation terminated.
            make: *** [glib.o] Error 1
            In file included from /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/glib-2.0/glib/galloca.h:34:0,
            from /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/glib-2.0/glib.h:32,
            from /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../arm-arago-linux-gnueabi/usr/include/pulse/glib-mainloop.h:26,
            from pulseaudio.cpp:43:
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/arm-arago-linux-gnueabi/usr/include/glib-2.0/glib/gtypes.h:34:24: fatal error: glibconfig.h: No such file or directory
            compilation terminated.
            make: *** [pulseaudio.o] Error 1
            In file included from fontconfig.cpp:42:0:
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../arm-arago-linux-gnueabi/usr/include/ft2build.h:56:38: fatal error: freetype/config/ftheader.h: No such file or directory
            compilation terminated.
            make: *** [fontconfig.o] Error 1
            Project ERROR: Package libdrm not found
            make: *** No targets specified and no makefile found. Stop.
            egl.cpp: In function 'int main(int, char**)':
            egl.cpp:46:12: warning: unused variable 'x'
            In file included from freetype.cpp:42:0:
            /media/sdc/dvrrdk/DVRRDK_04.01.00.02/ti_tools/cgt_a8/arago/linux-devkit/bin/../arm-arago-linux-gnueabi/usr/include/ft2build.h:56:38: fatal error: freetype/config/ftheader.h: No such file or directory
            compilation terminated.
            make: *** [freetype.o] Error 1
            stltest.cpp: In function 'int main()':
            stltest.cpp:146:9: warning: unused variable 'n'
            pcre.cpp:45:2: error: #error This PCRE version is not supported
            make: *** [pcre.o] Error 1
            shivavg.cpp:42:23: fatal error: vg/openvg.h: No such file or directory
            compilation terminated.
            make: *** [shivavg.o] Error 1
            alsatest.cpp:47:5: warning: unused parameter 'argc'
            alsatest.cpp:47:5: warning: unused parameter 'argv'
            hwcap_test.cpp:43:5: warning: unused parameter 'argc'
            hwcap_test.cpp:43:5: warning: unused parameter 'argv'
            ptrsizetest.cpp: In function 'int main(int, char**)':
            ptrsizetest.cpp:59:12: error: 'PointerSize' is not a member of 'QPointerSizeTest<4>'
            make: *** [ptrsizetest.o] Error 1
            ubuntu@ubuntu-laptop:/media/sdb/qt5/qt-everyw

            Regards,
            Ran

            1 Reply Last reply Reply Quote 0
            • jsulm
              jsulm Lifetime Qt Champion last edited by

              As you do cross compilation you need the mandatory libraries for your target device not the host machine!

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

              1 Reply Last reply Reply Quote 0
              • First post
                Last post