Tiny Core Linux
Tiny Core Base => Raspberry Pi => Topic started by: srg on December 14, 2022, 03:41:58 AM
-
I want to set up a cross compile for piCore, and I'm following this tutorial (https://wiki.qt.io/Cross-Compile_Qt_6_for_Raspberry_Pi), but the steps would work on Raspbian.
Do you know what packages would need to be installed on piCore to generate the sysroot in the "Building Sysroot from Device" step?
Or if you know any manual I can follow for cross-compiling on piCore.
-
Thats really complicated. You will likely run in to library issues.
for piCore64, everything except the kernel is compiled natively.
-
And could you help me to compile Qt5 natively on piCore?
Necessary packages, dependencies... Parameters for Configure, Make and installation of Qt source?
-
You can refer to this: http://tinycorelinux.net/11.x/x86_64/tcz/src/qt-5.x/
..note that you would need to replace "-mtune=generic" by "-march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp"
-
Thanks but after make and make install I get errors like the one in the attached image, so I'm missing something to install or there is something wrong with the configuration.
Device: Raspberry Pi 3b+
piCore: 13 armv7
Adapted tce packages from the url http://tinycorelinux.net/11.x/x86_64/tcz/src/qt-5.x
tce-load -wi compiletc sqlite3-dev libmng-dev libpng-dev libtiff-dev cups-dev pulseaudio-dev perl5 gst-plugins-base-dev libwebp-dev mtdev-dev ruby-dev geoclue-dev libpci-dev nss-dev libxkbcommon-dev gperf libgcrypt-dev gnome-keyring-dev libinput-dev harfbuzz-icu-dev wayland-protocols jasper-dev dbus-dev pcre2-dev gzip bash libxslt-dev zstd-dev libvulkan-dev python3.10 ffmpeg-dev
Configure params:
CC="gcc -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -Os -pipe" CXX="g++ -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp -Os -pipe" sudo time /mnt/mmcblk0p2/tce/images/qt-everywhere-src-5.14.0/configure -v -opengl es2 -eglfs -no-gtk -opensource -confirm-license -release -reduce-exports -force-pkg-config -nomake examples -no-compile-examples -nomake tests -skip qtwayland -skip qtwebengine -no-feature-geoservices_mapboxgl -qt-pcre -no-pch -ssl -evdev -system-freetype -fontconfig -glib -prefix /usr/local/qt5 -qpa eglfs
However, it takes forever to compile, it's frustrating to test, it's not practical at all.
Do you know if there is a way to emulate piCore in a docker or similar to make compilations faster?
-
Do you see any warnings about missing libs when ./configure runs?
What does this give: pkg-config --libs xcb
pkg-config --libs xkbcommon
I've always compiled natively on RPi3/RPi4 so cannot help with cross compiling.
-
I advice to drop cross compilation and do it natively especcially with a complex application like Qt. My personal experience is that it works for smaller stand alone binaries but for I always ended in a similar situation wasting lot of time trying cross compilation. I'm building kernel, gcc, glibc, ... on RPi 3/4, It is fast enough and safe.