Hello everybody!
I am very glad that people are active on this forum and hope that someone will give me some pointers. This will be another hyperion topic.
I have been fiddling with hyperion for quite a while. I am trying to run it on my Aml LePotato board with a WS2801 led strip and LibreElec. It turned out that the existing hyperion packages created for AML devices do not support SPI (it is a switch in the cmake of hyperion that is turned off by default when compiling for AML devices). So I am trying to cross-compile hyperion with the switch on, on my Debian
I have a software development background, but cross-compiling for ARM is new to me. I followed the steps for cross-compilation from
CrossCompileHowto.txt (which may be a bit outdated). Here are the steps I've taken and the error that bugs me:
1. On Target: sudo apt-get install libQt4-dev libusb-1.0-0-dev python-dev rsync
2. On Host: sudo apt-get install git rsync cmake build-essential libQt4-dev libusb-1.0-0-dev python-dev libxrender-dev protobuf-compiler lib32z1 lib32ncurses5 lib32bz2-1.0 zlib1g-dev
3. Get the raspberrypi tools and cross-compiler
4. export TARGET_IP=192.168.0.103
5. export TARGET_USER=pi
6. export RASCROSS_DIR="$HOME/raspberrypi"
7. export ROOTFS_DIR="$RASCROSS_DIR/rootfs"
8. export HYPERION_DIR="$HOME/hyperion"
9. export TOOLCHAIN_FILE="$HYPERION_DIR/Toolchain-rpi.cmake"
10. export NATIVE_BUILD_DIR="$HYPERION_DIR/build"
11. export TARGET_BUILD_DIR="$HYPERION_DIR/build-rpi"
12. mkdir -p "$ROOTFS_DIR"
13. rsync -rl --delete-after --copy-unsafe-links $TARGET_USER@$TARGET_IP:/{lib,usr} "$ROOTFS_DIR"
14. mkdir -p "$NATIVE_BUILD_DIR"
15. cd "$NATIVE_BUILD_DIR"
15. cmake -DENABLE_DISPMANX=OFF ..
16. make -j4
17. mkdir -p "$TARGET_BUILD_DIR"
18. cd $TARGET_BUILD_DIR
19. cmake -DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN_FILE" -DIMPORT_PROTOC=$NATIVE_BUILD_DIR/protoc_export.cmake ..
CMake Warning at cmake/qt4/FindQt4.cmake:615 (message):
/usr/bin/qmake-qt4 reported QT_INSTALL_LIBS as "/usr/lib/x86_64-linux-gnu"
but QtCore could not be found there. Qt is NOT installed correctly for the
target build environment.
Call Stack (most recent call first):
CMakeLists.txt:154 (find_package)
CMake Error at cmake/qt4/FindQt4.cmake:619 (message):
Could NOT find QtCore. Check
/home/default/repo/hyperion/build-rpi/CMakeFiles/CMakeError.log for more
details.
Call Stack (most recent call first):
CMakeLists.txt:154 (find_package)
Display More
Now a couple of points:
* For step 1, I couldn't really install the packages (and probably that is the real problem), since LibreElec is plain vanilla linux without a package manager.
* For step 13, I tried rsync-ing, but there wasn't rsync on the board. I installed the network-tools addon which has rsync, but still, I couldn't make it work. So I just copied the folders with scp.
* For step 19, What I read of the error is that there isn't QT4Core on the target filesystem (the copied /usr and /bin). I double checked and they aren't there.
So my questions are:
1. How do I have to proceed? Is there a "development" version of LibreElec which has installed dev packages and is used for compiling addons? Or do I have to decompress raw packages (with arm binaries and shared objects) in the "right" rootfs subfolders.
2. I didn't find any qt related binaries and .so's in the LibreElec file system on my board, is everything linked statically or I just don't have an installed addon that uses them?
3. I read in this forum that the SPI drivers for AML boards aren't behaving well. Does this still hold true?
I am sorry for the long post. I have spent quite a bit of time understanding how everything works, but I feel like I am really close.
Thanks for reading,
Stan