Cross - compilation error Qt5 for Raspberry Pi 2 [SOLVED]

  • I was following this link to setup my cross tool chain for Raspberry pi 2.
    I ran into error when i tried to execute
    ./configure -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=$RPI_TOOLCHAIN -sysroot $RPI_SYSROOT -opensource -confirm-license -optimized-qmake -reduce-exports -release -make libs -prefix /usr/local/qt5pi -skip qtwebkit

    This is the Qt Open Source Edition.

    You are licensed to use this software under the terms of
    the Lesser GNU General Public License (LGPL) versions 2.1.
    You are also licensed to use this software under the terms of
    the GNU Lesser General Public License (LGPL) versions 3.

    You have already accepted the terms of the Open Source license.

    Creating qmake...
    Running configuration tests...
    Warning: Disabling pkg-config since PKG_CONFIG_LIBDIR is not set.
    Note: PKG_CONFIG_SYSROOT_DIR automatically set to /mnt/rasp-pi-rootfs

    Could not determine the target architecture!
    Turn on verbose messaging (-v) to see the final report.
    The OpenGL ES 2.0 functionality test failed!
    Use of pkg-config is not enabled, maybe you want to pass -force-pkg-config?
    You might need to modify the include and library search paths by editing
    ya@ya-pc:~/Qt/5.5/Src/qtbase$ make
    make: *** No targets specified and no makefile found. Stop.

    Tried to find a way around on the internet but couldn't get it working.

  • Lifetime Qt Champion


    Did you mount the Raspberry Pi root file system in /mnt/rasp-pi-rootfs ?

  • I am getting this :

    ya@ya-pc:~$ sudo mount –o loop,offset=62914560 /Downloads/2015-05-05-wheezy-raspbian.img /mnt/rasp-pi-rootfs
    Usage: mount -V : print version
    mount -h : print this help
    mount : list mounted filesystems
    mount -l : idem, including volume labels
    So far the informational part. Next the mounting.
    The command is `mount [-t fstype] something somewhere'.
    Details found in /etc/fstab may be omitted.
    mount -a [-t|-O] ... : mount all stuff from /etc/fstab
    mount device : mount device at the known place
    mount directory : mount known device here
    mount -t type dev dir : ordinary mount command
    Note that one does not really mount a device, one mounts
    a filesystem (of the given type) found on the device.
    One can also mount an already visible directory tree elsewhere:
    mount --bind olddir newdir
    or move a subtree:
    mount --move olddir newdir
    One can change the type of mount containing the directory dir:
    mount --make-shared dir
    mount --make-slave dir
    mount --make-private dir
    mount --make-unbindable dir
    One can change the type of all the mounts in a mount subtree
    containing the directory dir:
    mount --make-rshared dir
    mount --make-rslave dir
    mount --make-rprivate dir
    mount --make-runbindable dir
    A device can be given by name, say /dev/hda1 or /dev/cdrom,
    or by label, using -L label or by uuid, using -U uuid .
    Other options: [-nfFrsvw] [-o options] [-p passwdfd].
    For many more details, say man 8 mount .

  • Lifetime Qt Champion

    What do you get with:
    mount -v -o offset=62914560 -t ext4 /Downloads/2015-05-05-wheezy-raspbian.img /mnt/rasp-pi-rootfs

  • @SGaist Thank you for the help. I checked that the /mnt/rasp-pi-rootfs was not mounted properly so hence the error. SOLVED.

  • Lifetime Qt Champion

    Good !

    Since you have it working now, please update the thread title prepending [solved] so other forum users may know a solution has been found :)

    Also, while browsing the forum, consider up-voting answer that helped you, that will make them easier to find for everybody :)