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

                                          • Login

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