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.
  • SGaistS SGaist

    What you did is install the dependencies to build Qt for your computer. What you need to do is install them for your target. So the simplest way is to login to your target, install all the needed dependencies.

    The you can e.g. mount your device filesystem in a place on your computer using e.g. sshfs and give the -sysroot parameter to configure pointing to where your mounted the device fs. It should then pick the headers and libraries from there and continue its work

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

    @SGaist
    Hi, I have followed same steps. It's works.
    Is it possible build without target device ?
    Could you please help me on this. Thanks in advance!

    jsulmJ 1 Reply Last reply
    0
    • T thanga

      @SGaist
      Hi, I have followed same steps. It's works.
      Is it possible build without target device ?
      Could you please help me on this. Thanks in advance!

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

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

      Is it possible build without target device ?

      Can you explain what you mean?
      You can build without target device if you have a sysroot for it.

      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:

        Is it possible build without target device ?

        Can you explain what you mean?
        You can build without target device if you have a sysroot for it.

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

        @jsulm

        I have mounted target device on /media/SSHFS_X11/ path on host machine (Ubuntu). While mounted Qt getting build, If I disconnect the target device. I am 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++.

        May I know how to build without target device ? And how to configure sysroot on host (Ubuntu) machine ?

        Could you please help me on this...

        jsulmJ 1 Reply Last reply
        0
        • T thanga

          @jsulm

          I have mounted target device on /media/SSHFS_X11/ path on host machine (Ubuntu). While mounted Qt getting build, If I disconnect the target device. I am 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++.

          May I know how to build without target device ? And how to configure sysroot on host (Ubuntu) machine ?

          Could you please help me on this...

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

          @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.

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

          T 1 Reply Last reply
          1
          • 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

                                          • Login

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