Trying to build Qt5.5.1 from source for cross-compile



  • I'm trying to build Qt5.5 to cross build for the Variscite var-som-am33 (Ti Am3354). I've downloaded qt-everywhere-opensource-src-5.5.1 and took a stab at configureation:

    ken@LinuxMintVM:~/qt/qt-everywhere-opensource-src-5.5.1 > ./configure -v -opensource -confirm-license -no-accessibility -device linux-var-som-am33-g++ -device-option CROSS_COMPILE=/opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- -prefix /usr/local/qt5 -no-pulseaudio -no-alsa -gui -widgets -nomake examples -no-cups -no-opengl -qreal float*

    The -qreal float was appended after the first try at ./configure without it returned an "error" suggesting that the current default of 'double' was not supported under qt5.5.1.

    I'm using the following toolchain, which was used to build my target Linux Kernel:
    gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

    'Make' seems to fail:

    /opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -include .pch/Qt5Gui -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16 -mfloat-abi=hard -O3 -O3 -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_USING_NAMESPACE -DQT_BUILD_GUI_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_USE_BUNDLED_LIBPNG -DPNG_ARM_NEON_OPT=0 -DQT_ENABLE_HARFBUZZ_NG -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../include -I../../include/QtGui -I../../include/QtGui/5.5.1 -I../../include/QtGui/5.5.1/QtGui -I../3rdparty/libpng -I../3rdparty/zlib -I../3rdparty/harfbuzz-ng/include -I../3rdparty/zlib -I../../include/QtCore/5.5.1 -I../../include/QtCore/5.5.1/QtCore -I../../include/QtCore -I.moc -I../../mkspecs/devices/linux-var-som-am33-g++ -o .obj/qpathclipper.o painting/qpathclipper.cpp
    In file included from ../../include/QtCore/qvector.h:1:0,
    from ../../include/QtGui/../../src/gui/painting/qpolygon.h:37,
    from ../../include/QtGui/qpolygon.h:1,
    from ../../include/QtGui/../../src/gui/painting/qmatrix.h:37,
    from ../../include/QtGui/qmatrix.h:1,
    from ../../include/QtGui/../../src/gui/painting/qtransform.h:36,
    from ../../include/QtGui/qtransform.h:1,
    from ../../include/QtGui/../../src/gui/image/qimage.h:37,
    from ../../include/QtGui/qimage.h:1,
    from ../../include/QtGui/../../src/gui/image/qpixmap.h:42,
    from ../../include/QtGui/qpixmap.h:1,
    from ../../include/QtGui/../../src/gui/image/qbitmap.h:37,
    from ../../include/QtGui/qbitmap.h:1,
    from kernel/qt_gui_pch.h:63:
    ../../include/QtCore/../../src/corelib/tools/qvector.h: In member function '{anonymous}::TreeNode {anonymous}::SegmentTree::buildTree(int, int, int, const {anonymous}::RectF&)':
    ../../include/QtCore/../../src/corelib/tools/qvector.h:380:12: warning: assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Wstrict-overflow]
    } else if (!d->capacityReserved && asize < d->size && asize < (oldAlloc >> 1)) { // we want to shrink
    ^
    /opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -include .pch/Qt5Gui -pipe -march=armv7-a -mtune=cortex-a8 -mfpu=vfpv3-d16 -mfloat-abi=hard -O3 -O3 -fvisibility=hidden -fvisibility-inlines-hidden -std=c++0x -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_USING_NAMESPACE -DQT_BUILD_GUI_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_USE_BUNDLED_LIBPNG -DPNG_ARM_NEON_OPT=0 -DQT_ENABLE_HARFBUZZ_NG -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I../../include -I../../include/QtGui -I../../include/QtGui/5.5.1 -I../../include/QtGui/5.5.1/QtGui -I../3rdparty/libpng -I../3rdparty/zlib -I../3rdparty/harfbuzz-ng/include -I../3rdparty/zlib -I../../include/QtCore/5.5.1 -I../../include/QtCore/5.5.1/QtCore -I../../include/QtCore -I.moc -I../../mkspecs/devices/linux-var-som-am33-g++ -o .obj/qpdf.o painting/qpdf.cpp
    painting/qpdf.cpp: In member function 'int QPdfEnginePrivate::generateRadialGradientShader(const QRadialGradient*, const QTransform&, bool)':
    painting/qpdf.cpp:2157:41: error: ambiguous overload for 'operator<<' (operand types are 'QPdf::ByteStream' and 'double')
    "/Coords [" << p0.x() << p0.y() << r0 << p1.x() << p1.y() << r1 << "]\n"
    ^
    painting/qpdf.cpp:2157:41: note: candidates are:
    painting/qpdf.cpp:180:17: note: QPdf::ByteStream& QPdf::ByteStream::operator<<(char)
    ByteStream &ByteStream::operator <<(char chr)
    ^
    painting/qpdf.cpp:218:17: note: QPdf::ByteStream& QPdf::ByteStream::operator<<(qreal)
    ByteStream &ByteStream::operator <<(qreal val) {
    ^
    painting/qpdf.cpp:225:17: note: QPdf::ByteStream& QPdf::ByteStream::operator<<(int)
    ByteStream &ByteStream::operator <<(int val) {
    ^
    make[3]: *** [.obj/qpdf.o] Error 1
    make[3]: Leaving directory /home/ken/qt/qt-everywhere-opensource-src-5.5.1/qtbase/src/gui' make[2]: *** [sub-gui-make_first] Error 2 make[2]: Leaving directory/home/ken/qt/qt-everywhere-opensource-src-5.5.1/qtbase/src'
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory `/home/ken/qt/qt-everywhere-opensource-src-5.5.1/qtbase'
    make: *** [module-qtbase-make_first] Error 2

    Have I miss-configured something, or using an incompatible tool chain?


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    That might be related to QTBUG-49010



  • how to reslove the issue?


  • Lifetime Qt Champion

    Currently, I'd say if you can, remove -qreal float


Log in to reply
 

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