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

Cross compilation with X11

Scheduled Pinned Locked Moved Solved Mobile and Embedded
49 Posts 5 Posters 22.3k Views
  • 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 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 Online
    jsulmJ Online
    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 Online
          jsulmJ Online
          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 Online
                  jsulmJ Online
                  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
                                        • SGaistS Offline
                                          SGaistS Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #42

                                          Is that were your device root filesystem has been copied ?

                                          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