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. Cross compilation with X11
Forum Updated to NodeBB v4.3 + New Features

Cross compilation with X11

Scheduled Pinned Locked Moved Solved Mobile and Embedded
49 Posts 5 Posters 22.5k 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.
  • jsulmJ jsulm

    @thanga Just create a directory and copy the content of your target device to that directory. Then use this directory as your sysroot instead of /media/SSHFS_X11.

    T Offline
    T Offline
    thanga
    wrote on last edited by
    #22

    @jsulm
    I have copied /usr dir files to /media/SSHFS_X11, and tried to build But still and getting following error,
    Basic XLib functionality test failed!
    You might need to modify the include and library search paths by editing
    QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/lolveley/bin/qt-x11-opensource-src-4.5.1/mkspecs/linux-g++.

    Is it required to copy all the contents or /usr dir is fine?

    Target device also Ubuntu OS stand alone device.

    jsulmJ 1 Reply Last reply
    0
    • T thanga

      @jsulm
      I have copied /usr dir files to /media/SSHFS_X11, and tried to build But still and getting following error,
      Basic XLib functionality test failed!
      You might need to modify the include and library search paths by editing
      QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/lolveley/bin/qt-x11-opensource-src-4.5.1/mkspecs/linux-g++.

      Is it required to copy all the contents or /usr dir is fine?

      Target device also Ubuntu OS stand alone device.

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

      @thanga You need to copy everything what is needed. You should copy at least /usr/lib and /usr/include, probably /lib as well.
      It should then look like:

      /media/SSHFS_X11/usr/include
      /media/SSHFS_X11/usr/lib
      /media/SSHFS_X11/lib
      

      Call configure with -v parameter to see what exactly is missing if it says "Basic XLib functionality test failed!".

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

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

        If you don't use the same folder as you did when configuring the first time then you should point configure to the new location. Note that you should do a build from scratch to avoid any leftovers from interfering.

        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
        • jsulmJ jsulm

          @thanga You need to copy everything what is needed. You should copy at least /usr/lib and /usr/include, probably /lib as well.
          It should then look like:

          /media/SSHFS_X11/usr/include
          /media/SSHFS_X11/usr/lib
          /media/SSHFS_X11/lib
          

          Call configure with -v parameter to see what exactly is missing if it says "Basic XLib functionality test failed!".

          T Offline
          T Offline
          thanga
          wrote on last edited by
          #25

          @jsulm
          I have copied /usr/lib, /usr/include and /lib files to /media/SSHFS_X11/. I am getting following error now,

          /media/SSHFS_X11/usr/include/./X11/Xlib.h:38:23: fatal error: sys/types.h: No such file or directory
          compilation terminated.
          make: *** [xlib.o] Error 1
          XLib disabled.
          Basic XLib functionality test failed!
          You might need to modify the include and library search paths by editing
          QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/user/qt-everywhere-opensource-src-4.8.6/mkspecs/qws/linux-arm-linaro-g++.

          jsulmJ 1 Reply Last reply
          0
          • T thanga

            @jsulm
            I have copied /usr/lib, /usr/include and /lib files to /media/SSHFS_X11/. I am getting following error now,

            /media/SSHFS_X11/usr/include/./X11/Xlib.h:38:23: fatal error: sys/types.h: No such file or directory
            compilation terminated.
            make: *** [xlib.o] Error 1
            XLib disabled.
            Basic XLib functionality test failed!
            You might need to modify the include and library search paths by editing
            QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/user/qt-everywhere-opensource-src-4.8.6/mkspecs/qws/linux-arm-linaro-g++.

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

            @thanga said in [SOLVED]Qt cross compilation with X11:

            sys/types.h

            Does this header file exist in /media/SSHFS_X11/usr/include ?

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

            T 1 Reply Last reply
            0
            • jsulmJ jsulm

              @thanga said in [SOLVED]Qt cross compilation with X11:

              sys/types.h

              Does this header file exist in /media/SSHFS_X11/usr/include ?

              T Offline
              T Offline
              thanga
              wrote on last edited by thanga
              #27

              @jsulm

              No. sys/types.h file is not available. But following files are present on /media/SSHFS_X11/usr/include.

              aio.h crypt.h FLAC i386-linux-gnu ltdl.h neteconet protocols setjmp.h sudo_plugin.h utmp.h
              aliases.h ctype.h fmtmsg.h iconv.h malloc.h netinet pthread.h sgtty.h syscall.h utmpx.h
              alloca.h dbus-1.0 fnmatch.h ieee754.h math.h netipx pty.h shadow.h sysexits.h values.h
              a.out.h dirent.h fstab.h ifaddrs.h mcheck.h netiucv pwd.h signal.h syslog.h video
              argp.h dlfcn.h fts.h inttypes.h memory.h netpacket python2.7 sndfile.h tar.h vorbis
              argz.h drm ftw.h langinfo.h mm netrom rdma sndfile.hh termio.h wait.h
              ar.h elf.h _G_config.h lastlog.h mntent.h netrose re_comp.h sound termios.h wchar.h
              arpa endian.h gconv.h libdrm monetary.h nfs regex.h spawn.h tgmath.h wctype.h
              asm-generic envz.h getopt.h libgen.h mqueue.h nl_types.h regexp.h stab.h thread_db.h wordexp.h
              assert.h err.h gettext-po.h libintl.h mtd nouveau resolv.h stdint.h time.h X11
              autoopts errno.h GL libio.h nautilus-sendto nss.h rpc stdio_ext.h ttyent.h xcb
              autosprintf.h error.h glob.h libltdl net obstack.h rpcsvc stdio.h ucontext.h xen
              byteswap.h execinfo.h gnu-versions.h limits.h netash ogg sched.h stdlib.h ulimit.h xf86drm.h
              c++ fcntl.h grp.h link.h netatalk paths.h scsi string.h unistd.h xf86drmMode.h
              complex.h features.h gshadow.h linux netax25 poll.h search.h strings.h ustat.h xlocale.h
              cpio.h fenv.h gstreamer-0.10 locale.h netdb.h printf.h semaphore.h stropts.h utime.h xorg

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

                Did you do a full copy of the sysroot over to your desktop ?

                On a side note, unless you're locked to that version, at least use the latest of the Qt 4 series which is 4.8.7. Even better if you migrate to Qr 5.

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

                T 1 Reply Last reply
                0
                • SGaistS SGaist

                  Did you do a full copy of the sysroot over to your desktop ?

                  On a side note, unless you're locked to that version, at least use the latest of the Qt 4 series which is 4.8.7. Even better if you migrate to Qr 5.

                  T Offline
                  T Offline
                  thanga
                  wrote on last edited by
                  #29

                  @SGaist

                  Yes. I have copied all the files. May I know how to configured sysroot on local desktop ? Could please tell me the steps.

                  jsulmJ 1 Reply Last reply
                  0
                  • T thanga

                    @SGaist

                    Yes. I have copied all the files. May I know how to configured sysroot on local desktop ? Could please tell me the steps.

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

                    @thanga "Could please tell me the steps" - we already did.
                    Does this file exist on your target device?
                    Did you copy recursively (I mean: including subdirectories)?

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

                    T 1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @thanga "Could please tell me the steps" - we already did.
                      Does this file exist on your target device?
                      Did you copy recursively (I mean: including subdirectories)?

                      T Offline
                      T Offline
                      thanga
                      wrote on last edited by
                      #31

                      @jsulm
                      Thanks!! I have copied target device files, I can able to create QT qmake file now.

                      I need build application without adding target device on Qt Creator. is it possible to build like this ??

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

                        What do you mean by "without adding target device on Qt Creator" ?

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

                        T 1 Reply Last reply
                        0
                        • SGaistS SGaist

                          What do you mean by "without adding target device on Qt Creator" ?

                          T Offline
                          T Offline
                          thanga
                          wrote on last edited by
                          #33

                          @SGaist

                          We are mounting and adding Beagleboard device (on Qt Creator) for compiling Qt application.

                          Add device on Qt Creator:
                          Qt Creator -> Tools -> Devices -> Add Device

                          Mounting Device (Beagleboard):
                          /media/SSHFS_X11/

                          Is it possible to compile Qt application without Beagleboard device ?

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

                            If you don't want to mount the device root filesystem while developing then you have to provide a sysroot to work with.

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

                            T 1 Reply Last reply
                            0
                            • SGaistS SGaist

                              If you don't want to mount the device root filesystem while developing then you have to provide a sysroot to work with.

                              T Offline
                              T Offline
                              thanga
                              wrote on last edited by
                              #35

                              @SGaist
                              Hi,
                              thanks, I got confused on providing "sysroot".
                              I am looking for a way to cross compile Qt application for beaglebone without adding and mounting to Host PC either through SCP or as file system. Because to update and rebuild the Qt application each time its leading to mount the device to PC host.
                              Is there any other way to do? or it is not possible !!!

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

                                If you don't want to mount your device while developing for it then you have to copy its root filesystem on your computer and use that copy as sysroot when cross-compiling Qt. You will also have to keep that copy up to date if you need to add a new dependency for your application.

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

                                T 1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  If you don't want to mount your device while developing for it then you have to copy its root filesystem on your computer and use that copy as sysroot when cross-compiling Qt. You will also have to keep that copy up to date if you need to add a new dependency for your application.

                                  T Offline
                                  T Offline
                                  thanga
                                  wrote on last edited by
                                  #37

                                  @SGaist
                                  Thanks! How to compile Qt application without device ?

                                  We are adding device on Qt Creator, is it possible to compile the application without device ? Please check the below link for your reference.

                                  Qt Creator link: http://www.qnx.com/developers/docs/660/topic/com.qnx.doc.qt/images/qt_creator_add_device_button.png
                                  http://docs.toradex.com/101754-01-qtcreator-linux-devices.png

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

                                    I already wrote it several times: if you want to cross-compile without any device connected, then copy the root filesystem of your device on your desktop machine and cross-compile Qt using it.

                                    One thing to be clear: if you want to run your cross-compiled application, then you need your device accessible to run said application.

                                    Out of curiosity, why do you want that much to cross-compile an application without any device connected to confirm it runs properly ?

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

                                    T 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      I already wrote it several times: if you want to cross-compile without any device connected, then copy the root filesystem of your device on your desktop machine and cross-compile Qt using it.

                                      One thing to be clear: if you want to run your cross-compiled application, then you need your device accessible to run said application.

                                      Out of curiosity, why do you want that much to cross-compile an application without any device connected to confirm it runs properly ?

                                      T Offline
                                      T Offline
                                      thanga
                                      wrote on last edited by
                                      #39

                                      @SGaist
                                      One of our device is not on network and cannot be mounted. We would like to cross compile the code using QTCreator and copy the executable manually on the target using a SD Card. Let us know if this is possible.
                                      If yes, then what should be the hostname and credentials in QTCreator Add Device screen?

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

                                        Since your device is out of reach, it doesn't make sense to put anything there. Just don't add any device. Build your executable and then copy it on your SD card.

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

                                        T 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          Since your device is out of reach, it doesn't make sense to put anything there. Just don't add any device. Build your executable and then copy it on your SD card.

                                          T Offline
                                          T Offline
                                          thanga
                                          wrote on last edited by
                                          #41

                                          @SGaist
                                          Thanks! I have tried it in the same method. I am getting following error. Could please check it,

                                          usr/local/linaro/bin/../lib/gcc/arm-linux-gnueabihf/4.7.3/../../../../arm-linux-gnueabihf/bin/ld: note: 'clock_gettime@@GLIBC_2.4' is defined in DSO /media/SSHFS_X11//lib/arm-linux-gnueabihf/librt.so.1 so try adding it to the linker command line
                                          /media/SSHFS_X11//lib/arm-linux-gnueabihf/librt.so.1: could not read symbols: Invalid operation

                                          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