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

Failed to merge target specific data of file "verifyspec.o"



  • I can't run the cross-compile, this my code: ./configure -prefix /usr/local/qt5 -extprefix opt/qt5 -device linux-imx6-g++ -device-option CROSS_COMPILE=/opt/poky/2.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -sysroot /opt/poky/2.0/sysroots/armv7a-vfp-neon-poky-linux-gnueabi -nomake examples -nomake tests -v.

    executing config test verifyspec

    • cd /home/qt/Descargas/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/verifyspec && /home/qt/Descargas/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qmake -qtconf /home/qt/Descargas/qt-everywhere-opensource-src-5.8.0/qtbase/bin/qt.conf "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console" "QMAKE_CFLAGS += --sysroot=/opt/poky/2.0/sysroots/armv7a-vfp-neon-poky-linux-gnueabi" "QMAKE_CXXFLAGS += --sysroot=/opt/poky/2.0/sysroots/armv7a-vfp-neon-poky-linux-gnueabi" "QMAKE_LFLAGS += --sysroot=/opt/poky/2.0/sysroots/armv7a-vfp-neon-poky-linux-gnueabi" /home/qt/Descargas/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/verifyspec
    • cd /home/qt/Descargas/qt-everywhere-opensource-src-5.8.0/qtbase/config.tests/common/verifyspec && MAKEFLAGS= /usr/bin/make clean && MAKEFLAGS= /usr/bin/make

    rm -f verifyspec.o
    rm -f *~ core *.core
    /opt/poky/2.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -c -march=armv7-a -marm -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=hard --sysroot=/opt/poky/2.0/sysroots/armv7a-vfp-neon-poky-linux-gnueabi -O2 -Wall -W -fPIC -I. -I/home/qt/Descargas/qt-everywhere-opensource-src-5.8.0/qtbase/mkspecs/devices/linux-imx6-g++ -o verifyspec.o verifyspec.cpp
    /opt/poky/2.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -mfloat-abi=hard --sysroot=/opt/poky/2.0/sysroots/armv7a-vfp-neon-poky-linux-gnueabi -Wl,-O1 -o verifyspec verifyspec.o
    /opt/poky/2.0/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.2.0/real-ld: error: verifyspec.o uses VFP register arguments, verifyspec does not
    /opt/poky/2.0/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/5.2.0/real-ld: failed to merge target specific data of file verifyspec.o
    collect2: error: ld returned 1 exit status
    Makefile:64: fallo en las instrucciones para el objetivo 'verifyspec'
    make: *** [verifyspec] Error 1

    Someone can i help me please, about this error please, thanks.

    Regards.


  • Lifetime Qt Champion

    @Alexander-9 The actual error message is: "error: verifyspec.o uses VFP register arguments, verifyspec does not".
    There is a mismatch in the parameters: -mfloat-abi=softfp != -mfloat-abi=hard
    Possible reason: you're using arm-poky-linux-gnueabi as compiler, but armv7a-vfp-neon-poky-linux-gnueabi as sysroot. Is there other compiler or other sysroot? I guess they should match: either both use "vfp-neon" or both don't.



  • @jsulm, My configuration about -mfloat-abi= Config, the sysroot is the result of run the poky-glibc-x86_64-core-image-sato-armv7a-vfp-neon-toolchain-2.0.sh and contains this, and my cross-compile have this files.


  • Lifetime Qt Champion

    @Alexander-9 As I said: my assumption is that the float ABI must be the same. You cannot mix binaries with different ABIs.


Log in to reply