Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. Qt cross-compilation for Raspberry pi error: (gdbserver: not found)
Forum Updated to NodeBB v4.3 + New Features

Qt cross-compilation for Raspberry pi error: (gdbserver: not found)

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
7 Posts 4 Posters 2.8k Views 2 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.
  • SoheilSabzS Offline
    SoheilSabzS Offline
    SoheilSabz
    wrote on last edited by SoheilSabz
    #1

    I am using the QT Creator for my laptop (Linux LMDE 3 Cindy OS) And for Raspberry Cross-compiling.

    I have installed the QT based of [this instruction][2] and by this setting:

        mkdir ~/raspi
        cd ~/raspi
        git clone https://github.com/raspberrypi/tools
        mkdir sysroot sysroot/usr sysroot/opt
    
        rsync -avz pi@raspberrypi_ip:/lib sysroot
        rsync -avz pi@raspberrypi_ip:/usr/include sysroot/usr
        rsync -avz pi@raspberrypi_ip:/usr/lib sysroot/usr
        rsync -avz pi@raspberrypi_ip:/opt/vc sysroot/opt
    wget http://download.qt.io/official_releases/qt/5.12/5.12.3/single/ qt-everywhere-src-5.12.3.tar.xz
    tar xvf  qt-everywhere-src-5.12.3.tar.xz
    cd  qt-everywhere-src-5.12.3
    

    ./configure -release -opengl es2 -device linux-rasp-pi-g++
    -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
    -sysroot ~/raspi/sysroot -opensource -confirm-license -skip qtwayland -skip qtlocation -skip qtscript -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-use-gold-linker -v -no-gbm

        make
        make install
    

    but when i go to my QT Creator and i have built a sample Qt Widget Application.
    My desktop2.pro file is this kind:

    #-------------------------------------------------
    #
    # Project created by QtCreator 2019-06-09T18:56:52
    #
    #-------------------------------------------------
    
    QT       += core gui
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = new_sd
    TEMPLATE = app
    
    # The following define makes your compiler emit warnings if you use
    # any feature of Qt which has been marked as deprecated (the exact warnings
    # depend on your compiler). Please consult the documentation of the
    # deprecated API in order to know how to port your code away from it.
    DEFINES += QT_DEPRECATED_WARNINGS
    
    # You can also make your code fail to compile if you use deprecated APIs.
    # In order to do so, uncomment the following line.
    # You can also select to disable deprecated APIs only up to a certain version of Qt.
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
    
    CONFIG += c++11
    
    SOURCES += \
            main.cpp \
            mainwindow.cpp
    
    HEADERS += \
            mainwindow.h
    
    FORMS += \
            mainwindow.ui
    
    # Default rules for deployment.
    qnx: target.path = /tmp/$${TARGET}/bin
    else: unix:!android: target.path = /home/pi/Desktop/$${TARGET}/bin
    #else: unix:!android: target.path = /home/so/Desktop/$${TARGET}/bin
    !isEmpty(target.path): INSTALLS += target
    

    SO when i want to use my **Raspberry Pi ** and want to debug it , i get this Error:

    11:56:57: Checking available ports...
    11:56:58: Found 101 free ports.
    11:56:58: Starting gdbserver --multi :10000...
    11:56:58: Debugging starts
    bash: line 0: exec: gdbserver: not found
    11:56:58: Application finished with exit code 127.
    11:56:58: Debugging has finished
    

    And when i run the project via cross compilation into raspberry zero i get this error:

    12:09:22: Starting /home/pi/Desktop/new_sd/bin/new_sd ...
    QXcbConnection: Could not connect to display 
    12:09:23: Remote process crashed.
    

    so the qt setting is shown blown:

    [![ qt setting][1]][1]
    alt text
    So what can i do to solve this problem?

    Thanks.
    [1]: https://i.stack.imgur.com/yQWP4.jpg
    [2]: https://mechatronicsblog.com/cross-compile-and-deploy-qt-5-12-for-raspberry-pi/

    jsulmJ 1 Reply Last reply
    0
    • SoheilSabzS SoheilSabz

      I am using the QT Creator for my laptop (Linux LMDE 3 Cindy OS) And for Raspberry Cross-compiling.

      I have installed the QT based of [this instruction][2] and by this setting:

          mkdir ~/raspi
          cd ~/raspi
          git clone https://github.com/raspberrypi/tools
          mkdir sysroot sysroot/usr sysroot/opt
      
          rsync -avz pi@raspberrypi_ip:/lib sysroot
          rsync -avz pi@raspberrypi_ip:/usr/include sysroot/usr
          rsync -avz pi@raspberrypi_ip:/usr/lib sysroot/usr
          rsync -avz pi@raspberrypi_ip:/opt/vc sysroot/opt
      wget http://download.qt.io/official_releases/qt/5.12/5.12.3/single/ qt-everywhere-src-5.12.3.tar.xz
      tar xvf  qt-everywhere-src-5.12.3.tar.xz
      cd  qt-everywhere-src-5.12.3
      

      ./configure -release -opengl es2 -device linux-rasp-pi-g++
      -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
      -sysroot ~/raspi/sysroot -opensource -confirm-license -skip qtwayland -skip qtlocation -skip qtscript -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-use-gold-linker -v -no-gbm

          make
          make install
      

      but when i go to my QT Creator and i have built a sample Qt Widget Application.
      My desktop2.pro file is this kind:

      #-------------------------------------------------
      #
      # Project created by QtCreator 2019-06-09T18:56:52
      #
      #-------------------------------------------------
      
      QT       += core gui
      
      greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
      
      TARGET = new_sd
      TEMPLATE = app
      
      # The following define makes your compiler emit warnings if you use
      # any feature of Qt which has been marked as deprecated (the exact warnings
      # depend on your compiler). Please consult the documentation of the
      # deprecated API in order to know how to port your code away from it.
      DEFINES += QT_DEPRECATED_WARNINGS
      
      # You can also make your code fail to compile if you use deprecated APIs.
      # In order to do so, uncomment the following line.
      # You can also select to disable deprecated APIs only up to a certain version of Qt.
      #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
      
      CONFIG += c++11
      
      SOURCES += \
              main.cpp \
              mainwindow.cpp
      
      HEADERS += \
              mainwindow.h
      
      FORMS += \
              mainwindow.ui
      
      # Default rules for deployment.
      qnx: target.path = /tmp/$${TARGET}/bin
      else: unix:!android: target.path = /home/pi/Desktop/$${TARGET}/bin
      #else: unix:!android: target.path = /home/so/Desktop/$${TARGET}/bin
      !isEmpty(target.path): INSTALLS += target
      

      SO when i want to use my **Raspberry Pi ** and want to debug it , i get this Error:

      11:56:57: Checking available ports...
      11:56:58: Found 101 free ports.
      11:56:58: Starting gdbserver --multi :10000...
      11:56:58: Debugging starts
      bash: line 0: exec: gdbserver: not found
      11:56:58: Application finished with exit code 127.
      11:56:58: Debugging has finished
      

      And when i run the project via cross compilation into raspberry zero i get this error:

      12:09:22: Starting /home/pi/Desktop/new_sd/bin/new_sd ...
      QXcbConnection: Could not connect to display 
      12:09:23: Remote process crashed.
      

      so the qt setting is shown blown:

      [![ qt setting][1]][1]
      alt text
      So what can i do to solve this problem?

      Thanks.
      [1]: https://i.stack.imgur.com/yQWP4.jpg
      [2]: https://mechatronicsblog.com/cross-compile-and-deploy-qt-5-12-for-raspberry-pi/

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

      @SoheilSabz said in Qt cross-compilation for Raspberry pi error: (gdbserver: not found):

      QXcbConnection: Could not connect to display

      Do you have X11 server running on your RaspberryPi?

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

      Pablo J. RoginaP SoheilSabzS 2 Replies Last reply
      3
      • jsulmJ jsulm

        @SoheilSabz said in Qt cross-compilation for Raspberry pi error: (gdbserver: not found):

        QXcbConnection: Could not connect to display

        Do you have X11 server running on your RaspberryPi?

        Pablo J. RoginaP Offline
        Pablo J. RoginaP Offline
        Pablo J. Rogina
        wrote on last edited by
        #3

        @SoheilSabz

        QXcbConnection: Could not connect to display

        in addition to jsulm question of having X11 running in the RPi device, if you connected via ssh did you enabled X Forwarding for the session? i.e. ssh -X user@RPI.device

        Regarding this issue bash: line 0: exec: gdbserver: not found
        it looks like the path for GDB could not be the right one from the image you posted. Check this guide for instance, about the Qt Creator setup section -> Debuggers

        Upvote the answer(s) that helped you solve the issue
        Use "Topic Tools" button to mark your post as Solved
        Add screenshots via postimage.org
        Don't ask support requests via chat/PM. Please use the forum so others can benefit from the solution in the future

        1 Reply Last reply
        3
        • jsulmJ jsulm

          @SoheilSabz said in Qt cross-compilation for Raspberry pi error: (gdbserver: not found):

          QXcbConnection: Could not connect to display

          Do you have X11 server running on your RaspberryPi?

          SoheilSabzS Offline
          SoheilSabzS Offline
          SoheilSabz
          wrote on last edited by
          #4

          @jsulm base of this link:

          https://stackoverflow.com/questions/637005/how-to-check-if-x-server-is-running

          I get this output:

          pi@raspberrypi:~ $ ps -e 
            PID TTY          TIME CMD
              1 ?        00:00:04 systemd
              2 ?        00:00:00 kthreadd
              3 ?        00:00:00 kworker/0:0-cgr
              6 ?        00:00:00 mm_percpu_wq
              7 ?        00:00:01 ksoftirqd/0
              8 ?        00:00:00 kdevtmpfs
              9 ?        00:00:00 netns
             11 ?        00:00:00 khungtaskd
             12 ?        00:00:00 oom_reaper
             13 ?        00:00:00 writeback
             14 ?        00:00:00 kcompactd0
             15 ?        00:00:00 crypto
             16 ?        00:00:00 kblockd
             17 ?        00:00:00 watchdogd
             18 ?        00:00:00 rpciod
             19 ?        00:00:00 kworker/u3:0
             20 ?        00:00:00 xprtiod
             21 ?        00:00:00 kworker/u2:1-ev
             23 ?        00:00:00 kswapd0
             24 ?        00:00:00 nfsiod
             35 ?        00:00:00 kthrotld
             36 ?        00:00:00 iscsi_eh
             37 ?        00:00:00 DWC Notificatio
             38 ?        00:00:00 vchiq-slot/0
             39 ?        00:00:00 vchiq-recy/0
             40 ?        00:00:00 vchiq-sync/0
             41 ?        00:00:00 vchiq-keep/0
             42 ?        00:00:00 SMIO
             44 ?        00:00:00 mmc_complete
             45 ?        00:00:00 kworker/0:1H-mm
             47 ?        00:00:00 jbd2/mmcblk0p2-
             48 ?        00:00:00 ext4-rsv-conver
             49 ?        00:00:00 ipv6_addrconf
             71 ?        00:00:01 systemd-journal
             94 ?        00:00:00 systemd-udevd
            116 ?        00:00:00 kworker/u2:2-ev
            140 ?        00:00:00 SMIO
            141 ?        00:00:00 spi0
            150 ?        00:00:00 mmal-vchiq
            152 ?        00:00:00 mmal-vchiq
            153 ?        00:00:00 mmal-vchiq
            195 ?        00:00:02 systemd-timesyn
            222 ?        00:00:00 thd
            225 ?        00:00:00 rsyslogd
            226 ?        00:00:00 dbus-daemon
            245 ?        00:00:00 wpa_supplicant
            251 ?        00:00:00 cron
            262 ?        00:00:01 avahi-daemon
            267 ?        00:00:00 systemd-logind
            278 ?        00:00:00 rngd
            279 ?        00:00:00 avahi-daemon
            360 ?        00:00:00 irq/160-ads7846
            380 ?        00:00:00 sshd
            383 tty1     00:00:00 agetty
            384 ?        00:00:00 agetty
            522 ?        00:00:00 systemd
            525 ?        00:00:00 (sd-pam)
            553 ?        00:00:00 sshd
            563 ?        00:00:00 sshd
           1715 ?        00:00:00 sshd
           1725 ?        00:00:00 sshd
           1728 pts/0    00:00:00 bash
           1755 ?        00:00:00 kworker/0:0H
           1764 ?        00:00:00 sshd
           1774 ?        00:00:00 sshd
           2079 ?        00:00:00 kworker/0:1-eve
           2744 ?        00:00:00 kworker/0:2-eve
           2745 ?        00:00:00 sshd
           2755 ?        00:00:00 sshd
           2758 pts/1    00:00:00 bash
           2776 ?        00:00:00 kworker/0:2H
           2779 pts/1    00:00:00 ps
          pi@raspberrypi:~ $ netstat -lp|grep -i x
          (Not all processes could be identified, non-owned process info
           will not be shown, you would have to be root to see it all.)
          Active UNIX domain sockets (only servers)
          unix  2      [ ACC ]     STREAM     LISTENING     6657     -                    /run/systemd/journal/stdout
          unix  2      [ ACC ]     STREAM     LISTENING     13895    522/systemd          /run/user/1000/systemd/private
          unix  2      [ ACC ]     STREAM     LISTENING     13900    522/systemd          /run/user/1000/gnupg/S.gpg-agent.extra
          unix  2      [ ACC ]     STREAM     LISTENING     13903    522/systemd          /run/user/1000/gnupg/S.gpg-agent
          unix  2      [ ACC ]     STREAM     LISTENING     13905    522/systemd          /run/user/1000/gnupg/S.gpg-agent.ssh
          unix  2      [ ACC ]     STREAM     LISTENING     13907    522/systemd          /run/user/1000/gnupg/S.gpg-agent.browser
          unix  2      [ ACC ]     STREAM     LISTENING     6503     -                    /run/systemd/private
          unix  2      [ ACC ]     SEQPACKET  LISTENING     6519     -                    /run/udev/control
          unix  2      [ ACC ]     STREAM     LISTENING     9088     -                    /var/run/dbus/system_bus_socket
          unix  2      [ ACC ]     STREAM     LISTENING     9091     -                    /run/thd.socket
          unix  2      [ ACC ]     STREAM     LISTENING     9093     -                    /var/run/avahi-daemon/socket
          unix  2      [ ACC ]     STREAM     LISTENING     6605     -                    /run/systemd/fsck.progress
          pi@raspberrypi:~ $  nmap localhost|grep -i x
          -bash: nmap: command not found
          
          

          SO No X11 server running on my RaspberryPi, Why x 11 is important now?

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

            Hi,

            Because if you are using the XCB plugin, it's mandatory.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            SoheilSabzS 1 Reply Last reply
            2
            • SGaistS SGaist

              Hi,

              Because if you are using the XCB plugin, it's mandatory.

              SoheilSabzS Offline
              SoheilSabzS Offline
              SoheilSabz
              wrote on last edited by SoheilSabz
              #6

              @SGaist excuse me, but I don't get your answer.

              If I must enable X Forwarding for the session, where this setting must be added into the Qtcreator software?

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

                Since you are using the xcb backend of Qt, then yes, a X11 server like Xorg is mandatory.

                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

                • Login

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