Native Build of 5.9.1 on Raspberry Pi Running Jessie



  • I've been experimenting with cross compiling on Ubuntu for the RPi and decided while I get things working I would let the Pi compile the latest Qt 5.9.1. I followed the combination of this post and this post. My configure command was this:

    https://wiki.qt.io/Native_Build_of_Qt_5.4.1_on_a_Raspberry_Pi
    

    When I checked on it this morning I was greeted with this:

    g++ -c -pipe -O2 -std=c++11 -Wall -W -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated-declarations -Wno-unused-function -Wno-reorder -D_REENTRANT -fPIC -DQT_NO_FOREACH -DASSIMP_BUILD_NO_OWN_ZLIB -DASSIMP_BUILD_NO_COMPRESSED_IFC -DASSIMP_BUILD_NO_Q3BSP_IMPORTER -DASSIMP_BUILD_NO_C4D_IMPORTER -DASSIMP_BUILD_NO_3MF_IMPORTER -DOPENDDL_STATIC_LIBARY -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_USE_QSTRINGBUILDER -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_BOOTSTRAP_LIB -DQT_VERSION_STR='"5.9.1"' -DQT_VERSION_MAJOR=5 -DQT_VERSION_MINOR=9 -DQT_VERSION_PATCH=1 -DQT_BOOTSTRAPPED -DQT_NO_CAST_TO_ASCII -DQT_ZLIB_LIB -I. -I../../src/3rdparty/assimp -I../../src/3rdparty/assimp/code -I../../src/3rdparty/assimp/include -I../../src/3rdparty/assimp/include/assimp/Compiler -I../../src/3rdparty/assimp/contrib/clipper -I../../src/3rdparty/assimp/contrib/ConvertUTF -I../../src/3rdparty/assimp/contrib/irrXML -I../../src/3rdparty/assimp/contrib/openddlparser/include -I../../src/3rdparty/assimp/contrib/poly2tri/poly2tri -I../../src/3rdparty/assimp/contrib/rapidjson/include -I../../src/3rdparty/assimp/contrib/unzip -I/home/pi/opt/qt5/qtbase/include -I/home/pi/opt/qt5/qtbase/include/QtCore -I/home/pi/opt/qt5/qtbase/include/QtCore/5.9.1 -I/home/pi/opt/qt5/qtbase/include/QtCore/5.9.1/QtCore -I/home/pi/opt/qt5/qtbase/include/QtXml -I/home/pi/opt/qt5/qtbase/include/QtXml/5.9.1 -I/home/pi/opt/qt5/qtbase/include/QtXml/5.9.1/QtXml -I/home/pi/opt/qt5/qtbase/include/QtZlib -I/home/pi/opt/qt5/qtbase/include/QtZlib/5.9.1 -I/home/pi/opt/qt5/qtbase/include/QtZlib/5.9.1/QtZlib -I/home/pi/opt/qt5/qtbase/mkspecs/linux-g++ -o .obj/IFCReaderGen2.o ../../src/3rdparty/assimp/code/IFCReaderGen2.cpp
    g++: internal compiler error: Killed (program cc1plus)
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <file:///usr/share/doc/gcc-4.9/README.Bugs> for instructions.
    Makefile:5732: recipe for target '.obj/IFCReaderGen1.o' failed
    make[3]: *** [.obj/IFCReaderGen1.o] Error 4
    make[3]: *** Waiting for unfinished jobs....
    make[3]: Leaving directory '/home/pi/opt/qt5/qt3d/tools/qgltf'
    Makefile:44: recipe for target 'sub-qgltf-make_first' failed
    make[2]: *** [sub-qgltf-make_first] Error 2
    make[2]: Leaving directory '/home/pi/opt/qt5/qt3d/tools'
    Makefile:72: recipe for target 'sub-tools-make_first' failed
    make[1]: *** [sub-tools-make_first] Error 2
    make[1]: Leaving directory '/home/pi/opt/qt5/qt3d'
    Makefile:492: recipe for target 'module-qt3d-make_first' failed
    make: *** [module-qt3d-make_first] Error 2
    
    real    600m39.057s
    user    1073m20.060s
    sys     45m32.100s
    

    The results of the make are rather large (9.5MB) but if you want to look you can download it from here

    Thanks in advance for looking.


  • Lifetime Qt Champion

    Hi,

    In these cases (i.e. your compiler crashed), you would usually try to update it to something more recent.



  • I had run an update and upgrade a few days ago but running it just now came back with this:

    Reading state information... Done
    Calculating upgrade... The following packages were automatically installed and are no longer required:
      libjbig-dev libjpeg9 liblcms2-dev liblzma-dev libtiffxx5
    Use 'apt-get autoremove' to remove them.
    Done
    The following packages will be upgraded:
      libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev libffi6 libmysqlclient-dev libmysqlclient18 libraspberrypi-bin
      libraspberrypi-dev libraspberrypi-doc libraspberrypi0 locales multiarch-support mysql-common raspberrypi-bootloader
      raspberrypi-kernel tar
    18 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Need to get 84.6 MB of archives.
    After this operation, 417 kB of additional disk space will be used.
    
    

    I see the kernel is updating but I don't see gcc in the list of packages. Did I miss something or can you recommend what I could upgrade to to try another compile tonight?


  • Lifetime Qt Champion

    You should list the available versions of gcc of your distribution.



  • Well it seems that the latest update did something or just running make again got it along farther. Now I'm getting some actual compile errors.

    You asked which gcc my system has:

    pi@raspberrypi:~/opt/qt5 $ gcc --version
    gcc (Raspbian 4.9.2-10) 4.9.2
    Copyright (C) 2014 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    pi@raspberrypi:~/opt/qt5 $ g++ --version
    g++ (Raspbian 4.9.2-10) 4.9.2
    Copyright (C) 2014 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    

    and here's the end of the make:

    specs/linux-g++ -o .obj/unzip.o ../../src/3rdparty/assimp/contrib/unzip/unzip.c
    g++ -Wl,--gc-sections -Wl,-O1 -o ../../bin/qgltf .obj/qgltf.o .obj/3DSConverter.o .obj/3DSExporter.o .obj/3DSLoader.o .obj/ACLoader.o .obj/ASELoader.o .obj/ASEParser.o .obj/AssbinExporter.o .obj/AssbinLoader.o .obj/Assimp.o .obj/AssimpCExport.o .obj/AssxmlExporter.o .obj/B3DImporter.o .obj/BaseImporter.o .obj/BaseProcess.o .obj/Bitmap.o .obj/BlenderBMesh.o .obj/BlenderDNA.o .obj/BlenderLoader.o .obj/BlenderModifier.o .obj/BlenderScene.o .obj/BlenderTessellator.o .obj/BVHLoader.o .obj/C4DImporter.o .obj/CalcTangentsProcess.o .obj/COBLoader.o .obj/ColladaExporter.o .obj/ColladaLoader.o .obj/ColladaParser.o .obj/ComputeUVMappingProcess.o .obj/ConvertToLHProcess.o .obj/CreateAnimMesh.o .obj/CSMLoader.o .obj/D3MFImporter.o .obj/D3MFOpcPackage.o .obj/DeboneProcess.o .obj/DefaultIOStream.o .obj/DefaultIOSystem.o .obj/DefaultLogger.o .obj/DXFLoader.o .obj/Exporter.o .obj/FBXAnimation.o .obj/FBXBinaryTokenizer.o .obj/FBXConverter.o .obj/FBXDeformer.o .obj/FBXDocument.o .obj/FBXDocumentUtil.o .obj/FBXImporter.o .obj/FBXMaterial.o .obj/FBXMeshGeometry.o .obj/FBXModel.o .obj/FBXNodeAttribute.o .obj/FBXParser.o .obj/FBXProperties.o .obj/FBXTokenizer.o .obj/FBXUtil.o .obj/FindDegenerates.o .obj/FindInstancesProcess.o .obj/FindInvalidDataProcess.o .obj/FixNormalsStep.o .obj/GenFaceNormalsProcess.o .obj/GenVertexNormalsProcess.o .obj/glTFExporter.o .obj/glTFImporter.o .obj/HMPLoader.o .obj/IFCBoolean.o .obj/IFCCurve.o .obj/IFCGeometry.o .obj/IFCLoader.o .obj/IFCMaterial.o .obj/IFCOpenings.o .obj/IFCProfile.o .obj/IFCReaderGen1.o .obj/IFCReaderGen2.o .obj/IFCUtil.o .obj/Importer.o .obj/ImporterRegistry.o .obj/ImproveCacheLocality.o .obj/IRRLoader.o .obj/IRRMeshLoader.o .obj/IRRShared.o .obj/JoinVerticesProcess.o .obj/LimitBoneWeightsProcess.o .obj/LWOAnimation.o .obj/LWOBLoader.o .obj/LWOLoader.o .obj/LWOMaterial.o .obj/LWSLoader.o .obj/MakeVerboseFormat.o .obj/MaterialSystem.o .obj/MD2Loader.o .obj/MD3Loader.o .obj/MD5Loader.o .obj/MD5Parser.o .obj/MDCLoader.o .obj/MDLLoader.o .obj/MDLMaterialLoader.o .obj/MS3DLoader.o .obj/NDOLoader.o .obj/NFFLoader.o .obj/ObjExporter.o .obj/ObjFileImporter.o .obj/ObjFileMtlImporter.o .obj/ObjFileParser.o .obj/OFFLoader.o .obj/OgreBinarySerializer.o .obj/OgreImporter.o .obj/OgreMaterial.o .obj/OgreStructs.o .obj/OgreXmlSerializer.o .obj/OpenGEXExporter.o .obj/OpenGEXImporter.o .obj/OptimizeGraph.o .obj/OptimizeMeshes.o .obj/PlyExporter.o .obj/PlyLoader.o .obj/PlyParser.o .obj/PostStepRegistry.o .obj/PretransformVertices.o .obj/ProcessHelper.o .obj/Q3BSPFileImporter.o .obj/Q3BSPFileParser.o .obj/Q3BSPZipArchive.o .obj/Q3DLoader.o .obj/RawLoader.o .obj/RemoveComments.o .obj/RemoveRedundantMaterials.o .obj/RemoveVCProcess.o .obj/SceneCombiner.o .obj/ScenePreprocessor.o .obj/SGSpatialSort.o .obj/SIBImporter.o .obj/SkeletonMeshBuilder.o .obj/SMDLoader.o .obj/SortByPTypeProcess.o .obj/SpatialSort.o .obj/SplitByBoneCountProcess.o .obj/SplitLargeMeshes.o .obj/StandardShapes.o .obj/StepExporter.o .obj/STEPFileEncoding.o .obj/STEPFileReader.o .obj/STLExporter.o .obj/STLLoader.o .obj/Subdivision.o .obj/TargetAnimation.o .obj/TerragenLoader.o .obj/TextureTransform.o .obj/TriangulateProcess.o .obj/UnrealLoader.o .obj/ValidateDataStructure.o .obj/Version.o .obj/VertexTriangleAdjacency.o .obj/XFileExporter.o .obj/XFileImporter.o .obj/XFileParser.o .obj/XGLLoader.o .obj/clipper.o .obj/ConvertUTF.o .obj/irrXML.o .obj/DDLNode.o .obj/OpenDDLCommon.o .obj/OpenDDLExport.o .obj/OpenDDLParser.o .obj/Value.o .obj/shapes.o .obj/advancing_front.o .obj/cdt.o .obj/sweep.o .obj/sweep_context.o .obj/ioapi.o .obj/unzip.o   -L/home/pi/opt/qt5/qtbase/lib -lQt5Bootstrap -lpthread
    .obj/IFCLoader.o: In function `Assimp::IFCImporter::InternReadFile(std::string const&, aiScene*, Assimp::IOSystem*)':
    IFCLoader.cpp:(.text+0x9540): undefined reference to `Assimp::IFC::GetSchema(Assimp::STEP::EXPRESS::ConversionSchema&)'
    collect2: error: ld returned 1 exit status
    Makefile:922: recipe for target '../../bin/qgltf' failed
    make[3]: *** [../../bin/qgltf] Error 1
    make[3]: Leaving directory '/home/pi/opt/qt5/qt3d/tools/qgltf'
    Makefile:44: recipe for target 'sub-qgltf-make_first' failed
    make[2]: *** [sub-qgltf-make_first] Error 2
    make[2]: Leaving directory '/home/pi/opt/qt5/qt3d/tools'
    Makefile:72: recipe for target 'sub-tools-make_first' failed
    make[1]: *** [sub-tools-make_first] Error 2
    make[1]: Leaving directory '/home/pi/opt/qt5/qt3d'
    Makefile:492: recipe for target 'module-qt3d-make_first' failed
    make: *** [module-qt3d-make_first] Error 2
    
    real    15m42.789s
    user    43m15.910s
    sys     1m21.500s
    
    

    I just noticed that my original post didn't include my config. The config that I used was:

    ./config -v -opengl es2 -tslib -device linux-rasp-pi3-g++ -device-option CROSS_COMPILE=/usr/bin/ \
    -opensource -confirm-license -optimized-qmake -reduce-exports -release -qt-pcre -no-pch \
    -make libs -no-use-gold-linker -prefix /usr/local/qt5
    
    

    And for completeness here's what my config.summary has:

    Building on: linux-g++ (arm, CPU features: <none>)
    Building for: devices/linux-rasp-pi3-g++ (arm, CPU features: neon)
    Configuration: cross_compile compile_examples enable_new_dtags largefile neon shared rpath release c++11 c++14 concurrent dbus no-pkg-config mremap reduce_exports release_tools stl
    Build options:
      Mode ................................... release; optimized tools
      Optimize release build for size ........ no
      Building shared libraries .............. yes
      Using C++ standard ..................... C++14
      Using gold linker ...................... no
      Using new DTAGS ........................ yes
      Using precompiled headers .............. no
      Using LTCG ............................. no
      Target compiler supports:
        NEON ................................. yes
      Build parts ............................ libs
    Qt modules and options:
      Qt Concurrent .......................... yes
      Qt D-Bus ............................... yes
      Qt D-Bus directly linked to libdbus .... no
      Qt Gui ................................. yes
      Qt Network ............................. yes
      Qt Sql ................................. yes
      Qt Testlib ............................. yes
      Qt Widgets ............................. yes
      Qt Xml ................................. yes
    Support enabled for:
      Using pkg-config ....................... no
      QML debugging .......................... yes
      udev ................................... yes
      Using system zlib ...................... yes
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      GLib ................................... no
      iconv .................................. no
      ICU .................................... yes
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      Using system PCRE2 ..................... no
    Qt Network:
      getaddrinfo() .......................... yes
      getifaddrs() ........................... yes
      IPv6 ifname ............................ yes
      libproxy ............................... no
      OpenSSL ................................ yes
        Qt directly linked to OpenSSL ........ no
      SCTP ................................... no
      Use system proxies ..................... yes
    Qt Sql:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. yes
      OCI (Oracle) ........................... no
      ODBC ................................... no
      PostgreSQL ............................. yes
      SQLite2 ................................ yes
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... yes
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ no
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ no
      Fontconfig ............................. no
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... yes
        PNG .................................. yes
          Using system libpng ................ yes
      EGL .................................... yes
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... no
        OpenGL ES 2.0 ........................ yes
        OpenGL ES 3.0 ........................ no
        OpenGL ES 3.1 ........................ no
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. yes
      xkbcommon-evdev ........................ no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. yes
      EGLFS details:
        EGLFS i.Mx6 .......................... no
        EGLFS i.Mx6 Wayland .................. no
        EGLFS EGLDevice ...................... no
        EGLFS GBM ............................ no
        EGLFS Mali ........................... no
        EGLFS Raspberry Pi ................... yes
        EGL on X11 ........................... no
      LinuxFB ................................ yes
      VNC .................................... yes
      Mir client ............................. no
      X11:
        Using system-provided XCB libraries .. yes
        EGL on X11 ........................... no
        Xinput2 .............................. yes
        XCB XKB .............................. yes
        XLib ................................. yes
        XCB render ........................... yes
        XCB GLX .............................. yes
        XCB Xlib ............................. yes
        Using system-provided xkbcommon ...... no
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows
    Qt PrintSupport:
      CUPS ................................... yes
    Qt SerialBus:
      Socket CAN ............................. yes
      Socket CAN FD .......................... yes
    QtXmlPatterns:
      XML schema support ..................... yes
    Qt QML:
      QML interpreter ........................ yes
      QML network support .................... yes
    Qt Quick:
      Direct3D 12 ............................ no
      AnimatedImage item ..................... yes
      Canvas item ............................ yes
      Support for Qt Quick Designer .......... yes
      Flipable item .......................... yes
      GridView item .......................... yes
      ListView item .......................... yes
      Path support ........................... yes
      PathView item .......................... yes
      Positioner items ....................... yes
      ShaderEffect item ...................... yes
      Sprite item ............................ yes
    Qt Gamepad:
      SDL2 ................................... no
    Qt 3D:
      Assimp ................................. yes
      System Assimp .......................... no
      Output Qt3D Job traces ................. no
      Output Qt3D GL traces .................. no
    Qt 3D GeometryLoaders:
      Autodesk FBX ........................... no
    Qt Wayland Drivers:
      EGL .................................... yes
      Raspberry Pi ........................... yes
      XComposite EGL ......................... no
      XComposite GLX ......................... no
      DRM EGL ................................ no
      libhybris EGL .......................... no
    Qt Wayland Client ........................ yes
    Qt Wayland Compositor .................... yes
    Qt Bluetooth:
      BlueZ .................................. no
      BlueZ Low Energy ....................... no
      Linux Crypto API ....................... no
    Qt Sensors:
      sensorfw ............................... no
    Qt Multimedia:
      ALSA ................................... yes
      GStreamer 1.0 .......................... no
      GStreamer 0.10 ......................... no
      Video for Linux ........................ yes
      OpenAL ................................. no
      PulseAudio ............................. no
      Resource Policy (libresourceqt5) ....... no
      Windows Audio Services ................. no
      DirectShow ............................. no
      Windows Media Foundation ............... no
    Qt Quick Controls 2:
      Styles ................................. Default Material Universal
    Qt Quick Templates 2:
      Hover support .......................... yes
    Qt Location:
      Gypsy GPS Daemon ....................... no
      WinRT Geolocation API .................. no
    Qt WebEngine:
      Embedded build ......................... yes
      Pepper Plugins ......................... no
      Printing and PDF ....................... no
      Proprietary Codecs ..................... no
      Spellchecker ........................... yes
      WebRTC ................................. no
      Using system ninja ..................... no
      ALSA ................................... yes
      PulseAudio ............................. no
      System libraries:
        ICU .................................. no
        libwebp and libwebpdemux ............. no
        Opus ................................. no
        ffmpeg ............................... no
    
    Note: Also available for Linux: linux-clang linux-icc
    
    Note: -optimized-tools is not useful in -release mode.
    pi@raspberrypi:~/opt/qt5 $
    
    

  • Lifetime Qt Champion

    That's a strange error from a 3rdparty... It looks like there's a class from ASSIMP that hasn't been compiled.

    In any case, I'd update the Qt repository to see if there's anything related to ASSIMP.

    Just in case, if you don't plan on using Qt3D, you should consider building only the modules you currently need and then add others later on when needed.


Log in to reply
 

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