QT5.7.1 Cross Compilation issue while compiling for AM5728(OMAP5)



  • Hi ,
    I am trying to compile qt-everywhere-opensource-src-5.7.1.
    configuration:
    ./configure -xplatform linux-arm-gnueabihf-g++ -prefix /usr/local/Qt5.7.1_opengl -opengl es2 -confirm-license -opensource -no-cups -no-largefile -optimized-qmake -nomake tools -no-pch -v -no-icu -no-openvg -sysroot /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS -I/home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/am57xx-evm/usr/include/

    I have added qmake.conf for linux-arm-gnueabihf-g++
    qtbase/mkspecs/linux-arm-gnueabihf-g++/qmake.conf:

    CROSS_COMPILE = /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

    QMAKE_INCDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include
    QMAKE_INCDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include/libxml2
    QMAKE_INCDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include/freetype2
    QMAKE_INCDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include/drm
    QMAKE_INCDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include/gbm

    QMAKE_INCDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include/GLES

    QMAKE_LIBDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/lib
    QMAKE_LIBDIR += /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/lib

    QMAKE_INCDIR_OPENGL_ES2 = /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include/GLES2
    QMAKE_INCDIR_EGL = /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/include/EGL
    QMAKE_LIBDIR_OPENGL_ES2 = /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/lib
    QMAKE_LIBDIR_EGL = /home/antriksh/ti-processor-sdk-linux-am57xx-evm-04.02.00.09/targetNFS/usr/lib

    libraries

    #QMAKE_LIBS = -lxml2 -lz -lfreetype -lexpat -lrt -ldl -lfontconfig -lpng -lpthread
    QMAKE_LIBS = -lz -lfreetype -lexpat -lrt -ldl -lfontconfig -lpng -lpthread
    QMAKE_LIBS_OPENGL_ES2 = -lsrv_um -lGLESv2 -lusc
    QMAKE_LIBS_EGL = -lEGL -lIMGegl
    QMAKE_LIBS_THREAD = -lpthread

    #xcb setting
    QMAKE_LIBS_XCB = -lxcb

    compiler flags

    #QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard -fPIC -mword-relocations -fpermissive
    QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a15 -fPIC -mword-relocations -fpermissive
    QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE

    compiler tools

    QMAKE_CC = $${CROSS_COMPILE}gcc
    QMAKE_CXX = $${CROSS_COMPILE}g++
    QMAKE_LINK = $${QMAKE_CXX}
    QMAKE_LINK_SHLIB = $${QMAKE_CXX}

    QMAKE_AR = $${CROSS_COMPILE}ar cqs
    QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
    QMAKE_STRIP = $${CROSS_COMPILE}strip
    load(qt_config)

    While compiling the same i am getting below errors:
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: error: libQt5Core..5.7.1 uses VFP register arguments, /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_compile.o) does not
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_compile.o)
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: error: libQt5Core..5.7.1 uses VFP register arguments, /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_config.o) does not
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_config.o)
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: error: libQt5Core..5.7.1 uses VFP register arguments, /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_exec.o) does not
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_exec.o)
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: error: libQt5Core..5.7.1 uses VFP register arguments, /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_fullinfo.o) does not
    /home/antriksh/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/6.2.1/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file /home/antriksh/qt-everywhere-opensource-src-5.7.1/qtbase/lib/libqtpcre.a(pcre16_fullinfo.o)

    Please let me know the probable solutions for the same.

    Regards,
    Biswajit


  • Moderators

    @Biswajit_1984 said in QT5.7.1 Cross Compilation issue while compiling for AM5728(OMAP5):

    uses VFP register arguments

    You should start again from a clean source tree (or delete the build directory if you did out of source build).
    It looks like you tried before with different parameters (QMAKE_CFLAGS_RELEASE) and still have object files built for different ABI.



  • Thanks a lot.
    Now the above errors are not there.
    But not its shows error:
    cannot find -lqtpcre

    When i cross check inside qtbase/lib then only below files relate to pcre are there
    qtpcre. qtpcre.prl qtpng.prl

    Let me know do i need to install perl in the host also?or any other issue is there

    Regards,
    Biswajit



  • @Biswajit_1984
    I have tried to disable pcre .But it seems there is no option to disable.
    Please let me know if i can disable the same to avoid the pcre building.

    Regards,
    Biswajit


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.