As I do not have a dedicated linux machine I thought I'd try setting up a Docker build environment and run it on my QNAP. There were a few extra packages required to be installed, here is the Dockerfile if anyone else wants to setup a similar environment:
Docker
FROM ubuntu:bionic
RUN apt-get update && \
apt-get install -y sudo curl git-core locales wget nano gcc make git unzip wget xz-utils bc gperf zip unzip g++ xsltproc gawk lzop xfonts-utils default-jre python3 patchutils qemu-user-binfmt libncurses5-dev libc6-amd64-i386-cross libjson-perl libxml-parser-perl libparse-yapp-perl && \
locale-gen en_US.UTF-8 && \
adduser --quiet --disabled-password --home /mnt/devuser --gecos "User" devuser && \
echo "devuser:p@ssword1" | chpasswd && usermod -aG sudo devuser && \
mkdir -p /lib/x86_64-linux-gnu && \
mkdir -p /lib64 && \
test -f /lib64/ld-linux-x86-64.so.2 || ln -s /usr/i686-linux-gnu/lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 && \
test -f /lib/x86_64-linux-gnu/libc.so.6 || ln -s /usr/i686-linux-gnu/lib64/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6
USER devuser
Display More
and then to build:
Only issue is the QNAP is an Arm64 device and the Generic x86 build fails compiling pixman:
Code
../pixman/pixman-x86.c: In function 'detect_cpu_features':
../pixman/pixman-x86.c:90:5: error: unknown register name '%ecx' in 'asm'
As far as I can tell it is a cross-compiling issue as it expects an x86 cpu (similar issue), I couldn't find anything relevant on the forum on extra settings for cross-compiling. Does anyone have any suggestions?