Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Problem cross-compiling Qt5 from Ubuntu to Raspbian(Raspberry pi3)
Forum Updated to NodeBB v4.3 + New Features

Problem cross-compiling Qt5 from Ubuntu to Raspbian(Raspberry pi3)

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
28 Posts 5 Posters 10.6k Views 1 Watching
  • 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.
  • B Offline
    B Offline
    BadBlood
    wrote on last edited by BadBlood
    #18

    Thank you very much guys,

    I had some problems with cross-compiling and I couldn' t to reply to SGaist. Thank you for && advice, i didn' t know that, and thank you for the link.

    I couldn' t reply to SGaist beacuse I wanted to repeat all passages: I had problems with the cross compiling configuration command. In particular when I run the command:

    ./configure -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=/home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5pi -hostprefix /usr/local/qt5pi
    

    I received this error:

    <srcbase> = /home/michele/opt/qt5/qtbase 
    <outbase> = /home/michele/opt/qt5/qtbase 
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/animation/ { qabstractanimation.h (1), qabstractanimation_p.h (1), qanimationgroup.h (1), qanimationgroup_p.h (1), qparallelanimationgroup.h (1), qparallelanimationgroup_p.h (1), qpauseanimation.h (1), qpropertyanimation.h (1), qpropertyanimation_p.h (1), qsequentialanimationgroup.h (1), qsequentialanimationgroup_p.h (1), qvariantanimation.h (1), qvariantanimation_p.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/arch/ { qatomic_bootstrap.h (1), qatomic_cxx11.h (1), qatomic_msvc.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/codecs/ { cp949codetbl_p.h (1), qbig5codec_p.h (1), qeucjpcodec_p.h (1), qeuckrcodec_p.h (1), qgb18030codec_p.h (1), qiconvcodec_p.h (1), qicucodec_p.h (1), qisciicodec_p.h (1), qjiscodec_p.h (1), qjpunicode_p.h (1), qlatincodec_p.h (1), qsimplecodec_p.h (1), qsjiscodec_p.h (1), qtextcodec.h (1), qtextcodec_p.h (1), qtsciicodec_p.h (1), qutfcodec_p.h (1), qwindowscodec_p.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/global/ { qcompilerdetection.h (1), qconfig-bootstrapped.h (1), qendian.h (2), qflags.h (1), qglobal.h (2), qglobal_p.h (1), qglobalstatic.h (1), qhooks_p.h (1), qisenum.h (1), qlibraryinfo.h (1), qlogging.h (1), qnamespace.h (2), qnumeric.h (2), qnumeric_p.h (1), qprocessordetection.h (1), qsysinfo.h (1), qsystemdetection.h (1), qt_pch.h (1), qt_windows.h (1), qtypeinfo.h (1), qtypetraits.h (1), qversiontagging.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/io/ { qabstractfileengine_p.h (1), qbuffer.h (1), qdatastream.h (1), qdatastream_p.h (1), qdataurl_p.h (1), qdebug.h (2), qdebug_p.h (1), qdir.h (1), qdir_p.h (1), qdiriterator.h (1), qfile.h (1), qfile_p.h (1), qfiledevice.h (1), qfiledevice_p.h (1), qfileinfo.h (1), qfileinfo_p.h (1), qfileselector.h (1), qfileselector_p.h (1), qfilesystemengine_p.h (1), qfilesystementry_p.h (1), qfilesystemiterator_p.h (1), qfilesystemmetadata_p.h (1), qfilesystemwatcher.h (1), qfilesystemwatcher_fsevents_p.h (1), qfilesystemwatcher_inotify_p.h (1), qfilesystemwatcher_kqueue_p.h (1), qfilesystemwatcher_p.h (1), qfilesystemwatcher_polling_p.h (1), qfilesystemwatcher_win_p.h (1), qfsfileengine_iterator_p.h (1), qfsfileengine_p.h (1), qiodevice.h (1), qiodevice_p.h (1), qipaddress_p.h (1), qlockfile.h (1), qlockfile_p.h (1), qloggingcategory.h (1), qloggingregistry_p.h (1), qnoncontiguousbytedevice_p.h (1), qprocess.h (1), qprocess_p.h (1), qresource.h (1), qresource_iterator_p.h (1), qresource_p.h (1), qsavefile.h (1), qsavefile_p.h (1), qsettings.h (1), qsettings_p.h (1), qstandardpaths.h (1), qstorageinfo.h (1), qstorageinfo_p.h (1), qtemporarydir.h (1), qtemporaryfile.h (1), qtemporaryfile_p.h (1), qtextstream.h (1), qtextstream_p.h (1), qtldurl_p.h (1), qurl.h (1), qurl_p.h (1), qurlquery.h (1), qurltlds_p.h (1), qwindowspipereader_p.h (1), qwindowspipewriter_p.h (1), qwinoverlappedionotifier_p.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/itemmodels/ { qabstractitemmodel.h (1), qabstractitemmodel_p.h (1), qabstractproxymodel.h (1), qabstractproxymodel_p.h (1), qidentityproxymodel.h (1), qitemselectionmodel.h (1), qitemselectionmodel_p.h (1), qsortfilterproxymodel.h (1), qstringlistmodel.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/json/ { qjson_p.h (1), qjsonarray.h (1), qjsondocument.h (1), qjsonobject.h (1), qjsonparser_p.h (1), qjsonvalue.h (1), qjsonwriter_p.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/kernel/ { qabstracteventdispatcher.h (1), qabstracteventdispatcher_p.h (1), qabstractnativeeventfilter.h (1), qbasictimer.h (1), qcfsocketnotifier_p.h (1), qcore_mac_p.h (1), qcore_unix_p.h (1), qcoreapplication.h (1), qcoreapplication_p.h (1), qcorecmdlineargs_p.h (1), qcoreevent.h (1), qcoreglobaldata_p.h (1), qdeadlinetimer.h (1), qdeadlinetimer_p.h (1), qelapsedtimer.h (1), qeventdispatcher_cf_p.h (1), qeventdispatcher_glib_p.h (1), qeventdispatcher_unix_p.h (1), qeventdispatcher_win_p.h (1), qeventdispatcher_winrt_p.h (1), qeventloop.h (1), qeventloop_p.h (1), qfunctions_fake_env_p.h (1), qfunctions_nacl.h (1), qfunctions_p.h (1), qfunctions_vxworks.h (1), qfunctions_winrt.h (1), qjni_p.h (1), qjnihelpers_p.h (1), qmath.h (1), qmetaobject.h (1), qmetaobject_moc_p.h (1), qmetaobject_p.h (1), qmetaobjectbuilder_p.h (1), qmetatype.h (1), qmetatype_p.h (1), qmetatypeswitcher_p.h (1), qmimedata.h (1), qobject.h (1), qobject_impl.h (1), qobject_p.h (1), qobjectcleanuphandler.h (1), qobjectdefs.h (1), qobjectdefs_impl.h (1), qpointer.h (1), qpoll_p.h (1), qppsattribute_p.h (1), qppsattributeprivate_p.h (1), qppsobject_p.h (1), qppsobjectprivate_p.h (1), qsharedmemory.h (1), qsharedmemory_p.h (1), qsignalmapper.h (1), qsocketnotifier.h (1), qsystemerror_p.h (1), qsystemsemaphore.h (1), qsystemsemaphore_p.h (1), qtimer.h (1), qtimerinfo_unix_p.h (1), qtranslator.h (1), qtranslator_p.h (1), qvariant.h (4), qvariant_p.h (1), qwineventnotifier.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/mimetypes/ { qmimedatabase.h (1), qmimedatabase_p.h (1), qmimeglobpattern_p.h (1), qmimemagicrule_p.h (1), qmimemagicrulematcher_p.h (1), qmimeprovider_p.h (1), qmimetype.h (1), qmimetype_p.h (1), qmimetypeparser_p.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/plugin/ { qelfparser_p.h (1), qfactoryinterface.h (1), qfactoryloader_p.h (1), qlibrary.h (1), qlibrary_p.h (1), qmachparser_p.h (1), qplugin.h (2), qpluginloader.h (1), qsystemlibrary_p.h (1), quuid.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/statemachine/ { qabstractstate.h (1), qabstractstate_p.h (1), qabstracttransition.h (1), qabstracttransition_p.h (1), qeventtransition.h (1), qeventtransition_p.h (1), qfinalstate.h (1), qfinalstate_p.h (1), qhistorystate.h (1), qhistorystate_p.h (1), qsignaleventgenerator_p.h (1), qsignaltransition.h (1), qsignaltransition_p.h (1), qstate.h (1), qstate_p.h (1), qstatemachine.h (1), qstatemachine_p.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/thread/ { qatomic.h (1), qbasicatomic.h (1), qexception.h (1), qfuture.h (1), qfutureinterface.h (1), qfutureinterface_p.h (1), qfuturesynchronizer.h (1), qfuturewatcher.h (1), qfuturewatcher_p.h (1), qgenericatomic.h (1), qmutex.h (1), qmutex_p.h (1), qmutexpool_p.h (1), qorderedmutexlocker_p.h (1), qreadwritelock.h (1), qreadwritelock_p.h (1), qresultstore.h (1), qrunnable.h (1), qsemaphore.h (1), qthread.h (1), qthread_p.h (1), qthreadpool.h (1), qthreadpool_p.h (1), qthreadstorage.h (1), qwaitcondition.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/tools/ { qalgorithms.h (2), qarraydata.h (1), qarraydataops.h (1), qarraydatapointer.h (1), qbitarray.h (1), qbytearray.h (1), qbytearray_p.h (1), qbytearraylist.h (1), qbytearraymatcher.h (1), qbytedata_p.h (1), qcache.h (1), qchar.h (1), qcollator.h (1), qcollator_p.h (1), qcommandlineoption.h (1), qcommandlineparser.h (1), qcontainerfwd.h (2), qcontiguouscache.h (1), qcryptographichash.h (1), qdatetime.h (1), qdatetime_p.h (1), qdatetimeparser_p.h (1), qdoublescanprint_p.h (1), qeasingcurve.h (1), qfreelist_p.h (1), qharfbuzz_p.h (1), qhash.h (1), qhashfunctions.h (1), qiterator.h (1), qline.h (1), qlinkedlist.h (1), qlist.h (1), qlocale.h (1), qlocale_data_p.h (1), qlocale_p.h (1), qlocale_tools_p.h (1), qmap.h (1), qmargins.h (1), qmessageauthenticationcode.h (1), qpair.h (1), qpodlist_p.h (1), qpoint.h (1), qqueue.h (1), qrect.h (1), qrefcount.h (1), qregexp.h (1), qregularexpression.h (1), qringbuffer_p.h (1), qscopedpointer.h (1), qscopedpointer_p.h (1), qscopedvaluerollback.h (1), qset.h (1), qshareddata.h (1), qsharedpointer.h (1), qsharedpointer_impl.h (1), qsimd_p.h (1), qsize.h (1), qstack.h (1), qstring.h (1), qstringalgorithms_p.h (1), qstringbuilder.h (1), qstringiterator_p.h (1), qstringlist.h (1), qstringmatcher.h (1), qtextboundaryfinder.h (1), qtimeline.h (1), qtimezone.h (1), qtimezoneprivate_data_p.h (1), qtimezoneprivate_p.h (1), qtools_p.h (1), qunicodetables_p.h (1), qunicodetools_p.h (1), qvarlengtharray.h (1), qvector.h (1), qversionnumber.h (1) }
    QtCore: created fwd-include header(s) for <srcbase>/src/corelib/xml/ { qxmlstream.h (1), qxmlstream_p.h (1), qxmlutils_p.h (1) }
    Creating qmake...
    .......................................................................................Done.
    Info: creating cache file /home/michele/opt/qt5/qtbase/.qmake.cache
    Info: creating stash file /home/michele/opt/qt5/qtbase/.qmake.stash
    
    This is the Qt Open Source Edition.
    
    You have already accepted the terms of the Open Source license.
    
    Running configuration tests...
    Checking for gold linker... no
    Checking for machine tuple... yes
    Checking for valid makespec... Note: Also available for Linux: linux-clang linux-kcc linux-icc linux-cxx
    
    ERROR: Cannot compile a minimal program. The toolchain or QMakeSpec is broken.
    
    Check config.log for details.
    

    So I check the config.log and his content is this:

    config.log

    Command line: -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=/home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf- -sysroot /mnt/rasp-pi-rootfs -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5pi -hostprefix /usr/local/qt5pi
    executing config test use_gold_linker
    + cd /home/michele/opt/qt5/qtbase/config.tests && /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -fuse-ld=gold -o conftest-out conftest.cpp
    > collect2: fatal error: cannot find 'ld'
    > compilation terminated.
    test config.qtbase.tests.use_gold_linker FAILED
    executing config test machineTuple
    + /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -dumpmachine
    > arm-linux-gnueabihf
    test config.qtbase.tests.machineTuple succeeded
    executing config test verifyspec
    + cd /home/michele/opt/qt5/qtbase/config.tests/common/verifyspec && /home/michele/opt/qt5/qtbase/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console" "QMAKE_CFLAGS += --sysroot=/mnt/rasp-pi-rootfs" "QMAKE_CXXFLAGS += --sysroot=/mnt/rasp-pi-rootfs" "QMAKE_LFLAGS += --sysroot=/mnt/rasp-pi-rootfs" -early "CONFIG += cross_compile" /home/michele/opt/qt5/qtbase/config.tests/common/verifyspec
    > Info: creating stash file /home/michele/opt/qt5/qtbase/config.tests/.qmake.stash
    + cd /home/michele/opt/qt5/qtbase/config.tests/common/verifyspec && MAKEFLAGS= /usr/bin/make
    > /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -c -pipe -marm -mfpu=vfp -mtune=arm1176jzf-s -march=armv6zk -mabi=aapcs-linux -mfloat-abi=hard --sysroot=/mnt/rasp-pi-rootfs -O2 -std=gnu++11 -Wall -W -fPIC  -I. -I/home/michele/opt/qt5/qtbase/mkspecs/devices/linux-rasp-pi-g++ -o verifyspec.o verifyspec.cpp
    > /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -Wl,-rpath-link,/mnt/rasp-pi-rootfs/opt/vc/lib -Wl,-rpath-link,/mnt/rasp-pi-rootfs/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,/mnt/rasp-pi-rootfs/lib/arm-linux-gnueabihf -mfloat-abi=hard --sysroot=/mnt/rasp-pi-rootfs -Wl,-O1 -o verifyspec verifyspec.o    
    > /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find crt1.o: No such file or directory
    > /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
    > /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/4.9.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lm
    > collect2: error: ld returned 1 exit status
    > Makefile:64: recipe for target 'verifyspec' failed
    > make: *** [verifyspec] Error 1
    
    1 Reply Last reply
    0
    • SGaistS SGaist

      Your log is not complete, please restart without the -j parameter so you can have the exact point of failure.

      B Offline
      B Offline
      BadBlood
      wrote on last edited by BadBlood
      #19

      @SGaist said in Problem cross-compiling Qt5 from Ubuntu to Raspbian(Raspberry pi3):

      Your log is not complete, please restart without the -j parameter so you can have the exact point of failure.

      Hi SGaist, sorry for delay

      The problem was the cross compiler, if I made the configuration with 4.9.3 v. It returned me the error I attached, but if I use the other one(4.7) cross compiling configuration works fine.

      However when i run "make" I had the error. As the log is too big to attach here, i will send you the one drive link to the log file containng the error I received.

      https://1drv.ms/f/s!As3fa8j7GVzZl3jMIGjxQEDF-nuJ

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #20

        I can't see any error in the file you shared.

        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
        0
        • B Offline
          B Offline
          BadBlood
          wrote on last edited by
          #21

          Sorry but the files was cutted. Now i have the correct one:

          https://1drv.ms/u/s!As3fa8j7GVzZl3pQPdL3ROQsNCpe

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #22

            You can try the workaround described here.

            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
            0
            • B Offline
              B Offline
              BadBlood
              wrote on last edited by BadBlood
              #23

              Hi SGaist,

              I had another error but the last disappered, i will link the log file.

              https://1drv.ms/u/s!As3fa8j7GVzZl3som_ciawx9hu50

              First lines were cutted, but there are the most important about the error.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #24

                I'd still opt for changing to a more recent version of gcc like 4.9

                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
                0
                • B Offline
                  B Offline
                  BadBlood
                  wrote on last edited by
                  #25

                  I tried to use gcc 4.9, but it returns the error during cross compiling configuration, I linked few weeks ago. The cross compiler I chose is in the directory:

                  /home/michele/opt/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin
                  
                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    BadBlood
                    wrote on last edited by BadBlood
                    #26

                    I was able to create a raspbian with Qt5 following the guide at this link:

                    https://medium.com/@amirmann/how-to-cross-compile-qt-for-raspberry-pi-3-on-linux-ubuntu-for-beginners-75acf2a078c

                    Next I put the image onto SD card, and there was all files.
                    But i had problems to find raspberry with the laptop through QT5 running on that, I' m going to open an other topic for that. Thank you.

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      TV_man
                      wrote on last edited by
                      #27

                      If it hasn't already been noticed the path setting script checks the number of parameters passed and is expecting 1 but 2 are being passed. I changed "$#" -ne 1 to "$#" -ne 2 and it ran without the error message.

                      The second parameter is used in the script so it is needed.

                      However I now get an error 'Cannot run compiler '/home/sam/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++'

                      (It does exist there)

                      jsulmJ 1 Reply Last reply
                      0
                      • T TV_man

                        If it hasn't already been noticed the path setting script checks the number of parameters passed and is expecting 1 but 2 are being passed. I changed "$#" -ne 1 to "$#" -ne 2 and it ran without the error message.

                        The second parameter is used in the script so it is needed.

                        However I now get an error 'Cannot run compiler '/home/sam/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++'

                        (It does exist there)

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by
                        #28

                        @TV_man said in Problem cross-compiling Qt5 from Ubuntu to Raspbian(Raspberry pi3):

                        /home/sam/opt/gcc-4.7-linaro-rpi-gnueabihf/bin/arm-linux-gnueabihf-g++

                        can you run it manually from a terminal?

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

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved