2018-07-31, 20:59
I'm not a cmake expert (or even a compilation expert, I mostly just push buttons and hope it works!), but it looks like when building flatbuffers for the host it uses the build host gcc (ie. in my case gcc-5.4.0 on 16.04 and gcc-7.2.0 on 17.10), but when cross compiling for the target it correctly uses gcc-8.1.0 from $TOOLCHAIN - the following is from 17.10 (as 16.04 failed during the host build):
Somehow we need the host build to use the correct $TOOLCHAIN path(s).
text:neil@nm-linux:~/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/flatbuffers-1.9.0$ grep -r ^COMPILER_PATH=
.x86_64-linux-gnu/CMakeFiles/CMakeOutput.log:COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/
.x86_64-linux-gnu/CMakeFiles/CMakeOutput.log:COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/7/:/usr/lib/gcc/x86_64-linux-gnu/
.armv7ve-libreelec-linux-gnueabi/CMakeFiles/CMakeOutput.log:COMPILER_PATH=/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/../../../../armv7ve-libreelec-linux-gnueabi/bin/
.armv7ve-libreelec-linux-gnueabi/CMakeFiles/CMakeOutput.log:COMPILER_PATH=/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/:/home/neil/projects/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/lib/gcc/armv7ve-libreelec-linux-gnueabi/8.2.0/../../../../armv7ve-libreelec-linux-gnueabi/bin/
Somehow we need the host build to use the correct $TOOLCHAIN path(s).