From: Joachim Schiele <js@lastlog.de>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [meta-qt5] how to setup and use a cross-compiler for qt5 applications?
Date: Sat, 31 Oct 2015 01:14:52 +0100 [thread overview]
Message-ID: <n1115s$ucb$1@ger.gmane.org> (raw)
In-Reply-To: <n0rbj0$tj9$1@ger.gmane.org>
just wanted to report that i got it fixed, took me really quite some
time to figure this out:
solution: symlink linked
/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib/qt5/mkspecs
instead of
/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib64/qt5/mkspecs
that is lib instead of lib64 and lib was obviously empty!
linux@linux-VirtualBox:/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/x86_64-fslsdk-linux$
sudo su
[sudo] password for linux:
root@linux-VirtualBox:/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/x86_64-fslsdk-linux#
rm mkspecs
root@linux-VirtualBox:/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/x86_64-fslsdk-linux#
ln -s
/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib64/qt5/mkspecs
root@linux-VirtualBox:/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/x86_64-fslsdk-linux#
exit
linux@linux-VirtualBox:/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/x86_64-fslsdk-linux$
cd ~/screenshot/
linux@linux-VirtualBox:~/screenshot$ ls
main.cpp mkspecs screenshot.cpp screenshot.h screenshot.pro test
test.c
linux@linux-VirtualBox:~/screenshot$ qmake
linux@linux-VirtualBox:~/screenshot$ make
powerpc64-fsl-linux-g++ -mhard-float -m64 -mcpu=e6500
--sysroot=/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux
-c -pipe -O2 -pipe -g -feliminate-unused-debug-types -O2 -Wall -W
-D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB
-DQT_CORE_LIB
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib64/qt5/mkspecs/linux-oe-g++
-I.
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtWidgets
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtGui
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtCore
-I. -o main.o main.cpp
powerpc64-fsl-linux-g++ -mhard-float -m64 -mcpu=e6500
--sysroot=/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux
-c -pipe -O2 -pipe -g -feliminate-unused-debug-types -O2 -Wall -W
-D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB
-DQT_CORE_LIB
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib64/qt5/mkspecs/linux-oe-g++
-I.
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtWidgets
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtGui
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtCore
-I. -o screenshot.o screenshot.cpp
/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/x86_64-fslsdk-linux/usr/bin/qt5/moc
-DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib64/qt5/mkspecs/linux-oe-g++
-I.
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtWidgets
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtGui
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtCore
-I.
-I/home/linux/QorIQ-SDK-V1.8-20150619-yocto/build_t4240rdb-64b_release/tmp/sysroots/t4240rdb-64b/usr/include/c++
-I/home/linux/QorIQ-SDK-V1.8-20150619-yocto/build_t4240rdb-64b_release/tmp/sysroots/t4240rdb-64b/usr/include/c++/powerpc64-fsl-linux
-I/home/linux/QorIQ-SDK-V1.8-20150619-yocto/build_t4240rdb-64b_release/tmp/sysroots/t4240rdb-64b/usr/include/c++/backward
-I/home/linux/QorIQ-SDK-V1.8-20150619-yocto/build_t4240rdb-64b_release/tmp/sysroots/x86_64-linux/usr/lib/ppc64e6500-fsl-linux/gcc/powerpc64-fsl-linux/4.9.2/include
-I/home/linux/QorIQ-SDK-V1.8-20150619-yocto/build_t4240rdb-64b_release/tmp/sysroots/x86_64-linux/usr/lib/ppc64e6500-fsl-linux/gcc/powerpc64-fsl-linux/4.9.2/include-fixed
-I/home/linux/QorIQ-SDK-V1.8-20150619-yocto/build_t4240rdb-64b_release/tmp/sysroots/t4240rdb-64b/usr/include
screenshot.h -o moc_screenshot.cpp
powerpc64-fsl-linux-g++ -mhard-float -m64 -mcpu=e6500
--sysroot=/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux
-c -pipe -O2 -pipe -g -feliminate-unused-debug-types -O2 -Wall -W
-D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB
-DQT_CORE_LIB
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib64/qt5/mkspecs/linux-oe-g++
-I.
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtWidgets
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtGui
-I/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/include/qt5/QtCore
-I. -o moc_screenshot.o moc_screenshot.cpp
powerpc64-fsl-linux-g++ -mhard-float -m64 -mcpu=e6500
--sysroot=/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux
-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -o screenshot
main.o screenshot.o moc_screenshot.o
-L/opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/ppc64e6500-fsl-linux/usr/lib
-lQt5Widgets -lQt5Gui -lQt5Core -lGL -lpthread
yay!
On 28.10.2015 21:35, Joachim Schiele wrote:
> hi,
>
> i need some directions on how to go on.
>
>
> # questions
> - should i use meta-qt5 master instead of daisy on my platform?
> - is meta-toolchain-qt5 the right way to cross compile an application
> vom x86_64 to ppc64 or did i miss something?
> - how to get all qtdemo applications onto the target image (read:
> sd-card image)
>
>
>
>
>
> # my requirements
> - develop qt 5.x applications on yocto+poky on PPC64
> - either use a cross compiler, meta-toolchain-qt5, or compile software
> natively
>
> for testing:
> - want all qt5 demos (or qtdemo, or what it is actually called) on the
> ppc64 target to execute them and see that qt5 actually is working
>
> # my platform
> - freescale ppc64 board (big endian) using QorIQ 1.8 from freescale
>
> Build Configuration:
> BB_VERSION = “1.22.0“
> BUILD_SYS = “x86_64-linux"
> NATIVELSBSTRING = “Ubuntu-14.04“
> TARGET_SYS = “powerpc64-fsl-linux"
> MACHINE = “t4240rdb-64b"
> DISTRO = “fsl-networking"
> DISTRO_VERSION = “QorIQ-SDK-V1.8“
> TUNE_FEATURES = “m64 fpu-hard e6500 altivec"
> TARGET_FPU = “hard"
> meta
> meta-yocto
> meta-yocto-bsp = “daisy:18837ea4cdd4fdab608e0a032a11a2dfb6b1ee1a"
> meta-fsl-ppc = “daisy:ed8d8f097eb9fb9c4d76cfeb617da5ce72d9b414“
> meta-fsl-toolchain = “daisy:a253b3594d8d9e0a4ed869d1fb502c395c4438ac"
> meta-fsl-networking = “daisy:6eb28ed659bbadfa470237dfce98bcbf53c18fe1“
> meta-oe
> meta-networking
> meta-ruby
> meta-perl
> meta-filesystems
> meta-multimedia
> meta-xfce
> meta-gnome = “daisy:4a44c4107899363b22c01eb5621b0c86db1c659c"
> meta-security = “daisy:9f4c3849521465b459845dcc1a7a885bacaae9d9“
> meta-qt5 = “daisy:23405d3a66c308e0b2ea64308b834285850c5c9f"
>
> # after building and installing on the freescale PPC64 board
>
> - qt 5.2.1 from meta-qt5::daisy
> - i got qt 5.2.1 working, qt assistant can be started! however, it
> - does not install qmake into the target
> - does not install the qt examples
>
> i can't use this to compile anything natively without qmake/moc. see
> https://github.com/meta-qt5/meta-qt5/blob/daisy/recipes-qt/qt5/qtbase.inc#L204
>
>
>
> # meta-toolchain-qt5
>
> bitbake meta-toolchain-qt5 builds:
>
> fsl-networking-eglibc-x86_64-ppc64e6500-toolchain-QorIQ-SDK-V1.8.sh
>
> after installation on a different VM i do this:
>
> cd /opt/fsl-networking/QorIQ-SDK-V1.8/
>
> ls
> environment-setup-ppc64e6500-fsl-linux
> environment-setup-ppce6500-fsl-linux
> site-config-ppc64e6500-fsl-linux
> site-config-ppce6500-fsl-linux
> sysroots
> version-ppc64e6500-fsl-linux
> version-ppce6500-fsl-linux
>
> note: i also tried environment-setup-ppce6500-fsl-linux but doesn't work
> either
>
> source environment-setup-ppc64e6500-fsl-linux
>
> cd ~/screenshot-example/
>
> which qmake
> /opt/fsl-networking/QorIQ-SDK-V1.8/sysroots/x86_64-fslsdk-linux/usr/bin/qt5/qmake
>
> qmake
> Project ERROR: Unknown module(s) in QT: widgets gui core
>
>
>
>
>
>
>
>
>
> # my local.conf
>
> ... some lines i think are not important ...
>
> MACHINE ??= "t4240rdb"
>
> SDKMACHINE ?= "x86_64"
> TOOLCHAIN_BUILD ?= "True"
> DEFAULTTUNE ?= "ppc64e6500"
>
> DISTRO_FEATURES_append = " opengl"
> DISTRO_FEATURES_remove = "bluetooth irda wifi nfc virtualization
> pulseaudio wayland 3g touch touchscreen"
> MACHINE_FEATURES_remove = "touchscreen"
>
> # EXTRA_IMAGE_FEATURES: Valid features: dbg-pkgs debug-tweaks dev-pkgs
> doc doc-pkgs eclipse-debug hwcodecs nfs-server
> # package-management ptest-pkgs qt4-pkgs qtcreator-debug
> read-only-rootfs splash ssh-server-dropbear ssh-server-openssh
> # staticdev-pkgs tools-debug tools-profile tools-sdk tools-testapps x11
> x11-base x11-sato
> EXTRA_IMAGE_FEATURES += "dev-pkgs ssh-server-openssh tools-debug
> tools-sdk tools-debug tools-profile"
>
> # this created the 'qtbase-examples' once, so now this issue seems to be
> not relevant anymore:
> PACKAGECONFIG_append_pn-qtbase = " tools icu examples accessibility gl
> udev openssl widgets developer sql-sqlite sql-mysql sql-psql sm"
>
>
> #PACKAGECONFIG_remove_pn-qttools= "qtwebkit"
>
> #qtbase-examples, ERROR: qtbase-examples not found in the base feeds
> (t4240rdb_64b ppc64e6500 powerpc64 noarch any all).
> #query the config with this command:
> # bitbake -e qtbase | grep ^PACKAGECONFIG=
>
> # For recipes inheriting the packagegroup class, setting
> PACKAGEGROUP_DISABLE_COMPLEMENTARY to "1"
> # specifies that the normal complementary packages (i.e. -dev, -dbg, and
> so forth) should not be
> # automatically created by the packagegroup recipe, which is the default
> behavior.
> # FIXME PACKAGEGROUP_DISABLE_COMPLEMENTARY = "0"
>
> # FIXME should packagegroup-xfce-base be removed from IMAGE_INSTALL_append?
> CORE_IMAGE_EXTRA_INSTALL += "\
> packagegroup-xfce-base \
> packagegroup-xfce-extended \
> packagegroup-xfce-multimedia \
> packagegroup-qt5-toolchain-target \
> packagegroup-qt5-qtcreator-debug \
> "
>
> IMAGE_INSTALL_append += "gcc g++ binutils gdb \
> git subversion \
> bc \
> nix libxslt libdbd-sqlite-perl www-curl-perl \
> mariadb \
> postgresql \
> libgcc libgcc-dev \
> libstdc++ libstdc++-dev \
> automake ccache chkconfig \
> glib-2.0 glib-networking glibmm \
> packagegroup-core-buildessential pkgconfig \
> cmake zlib \
> boost jpeg libpng12 \
> cairo pango fontconfig freetype pulseaudio dbus \
> xterm vim nano \
> ruby \
> libstdc++-staticdev \
> autoconf \
> alsa-lib alsa-tools alsa-state
> alsa-utils-alsaconf \
> i2c-tools \
> cpufrequtils \
> gstreamer1.0 \
> gstreamer1.0-meta-base \
> gstreamer1.0-plugins-bad \
> gstreamer1.0-plugins-base \
> gstreamer1.0-plugins-good \
> pciutils \
> usbutils \
> python-core \
> ltrace \
> strace \
> linux-firmware \
> htop \
> tcpdump \
> bash \
> util-linux \
> e2fsprogs \
> e2fsprogs-mke2fs \
> e2fsprogs-e2fsck \
> e2fsprogs-tune2fs \
> mtd-utils \
> mtd-utils-jffs2 \
> mtd-utils-ubifs \
> dosfstools \
> net-tools \
> kmod \
> sysfsutils \
> sysklogd \
> sysstat \
> qtbase \
> qttools \
> qtconnectivity \
> qtdeclarative \
> qtimageformats \
> qtlocation \
> qtscript \
> qtsensors \
> qtserialport \
> qtxmlpatterns \
> qtx11extras \
> qtsvg \
> qtmultimedia \
> qtquick1 \
> "
>
> #
> #
> #
> #
> #
> # not found in base feeds issued packages:
> # qttools-native \
> # qtquickcontrols \
> # qtgraphicaleffects \
> #ERROR: qtgraphicaleffects not found in the base feeds (t4240rdb_64b
> ppc64e6500 powerpc64 noarch any all).
>
> # stuff i don't want for now
> #
> # nativesdk-qttools \
> # qtbase-native \
> # qtwebkit \
> # qtwebkit-examples \
> #
> #
> #qtdeclarative \
> # packages which fail on installation
> #libglu mesa-glut
> #cinematicexperience \
> #
> #IMAGE_INSTALL_append \
> # qtdeclarative-plugins \
> # qtdeclarative-tools \
> # qtdeclarative-examples \
> # qtdeclarative-qmlplugins \
> # qtmultimedia \
> # qtmultimedia-plugins \
> # qtmultimedia-examples \
> # qtmultimedia-qmlplugins \
> # qtsvg \
> # qtsvg-plugins \
> # qtsensors \
> # qtimageformats-plugins \
> # qtsystems \
> # qtsystems-tools \
> # qtsystems-examples \
> # qtsystems-qmlplugins \
> # qtscript \
> # qt3d \
> # qt3d-examples \
> # qt3d-qmlplugins \
> # qt3d-tools \
> # qtwebkit \
> # qtwebkit-examples-examples \
> # qtwebkit-qmlplugins \
> # qtgraphicaleffects-qmlplugins \
> # qtconnectivity-qmlplugins \
> # qtlocation-plugins \
> # qtlocation-qmlplugins \
> # "
>
> #
>
prev parent reply other threads:[~2015-10-31 0:15 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-28 20:35 [meta-qt5] how to setup and use a cross-compiler for qt5 applications? Joachim Schiele
2015-10-31 0:14 ` Joachim Schiele [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='n1115s$ucb$1@ger.gmane.org' \
--to=js@lastlog.de \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.