Hi,
I was trying to build LibreELEC 11 using the focal docker image via:
Code
docker run \
--log-driver none \
--rm -it \
-v "$PWD":/build \
-w /build \
-e PROJECT=RPi \
-e DEVICE=RPi4 \
-e ARCH=arm \
-e MTPROGRESS=yes \
libreelec \
/bin/sh -c 'PATH=/build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/bin:$PATH make image'
Display More
However, the build fails at building kodi with the following (slightly reformatted) error message:
Code
FAILED:
build/libdvdcss/src/libdvdcss-stamp/libdvdcss-configure
/build/build.LibreELEC-RPi4.arm-11.0-devel/build/kodi-20.1-Nexus/.armv8a-libreelec-linux-gnueabihf/build/libdvdcss/src/libdvdcss-stamp/libdvdcss-configure
cd /build/build.LibreELEC-RPi4.arm-11.0-devel/build/kodi-20.1-Nexus/.armv8a-libreelec-linux-gnueabihf/build/libdvdcss/src/libdvdcss &&
/build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/bin/autoreconf -vif &&
ac_cv_path_GIT= ./configure --target=arm --host=arm --disable-doc --enable-static --disable-shared --with-pic --prefix=/build/build.LibreELEC-RPi4.arm-11.0-devel/build/kodi-20.1-Nexus/depends --libdir=/build/build.LibreELEC-RPi4.arm-11.0-devel/build/kodi-20.1-Nexus/depends/lib CC=/build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/bin/armv8a-libreelec-linux-gnueabihf-gcc "CFLAGS=-march=armv8-a+crc -mtune=cortex-a53 -mabi=aapcs-linux -Wno-psabi -Wa,-mno-warn-deprecated -mfloat-abi=hard -mfpu=neon-fp-armv8 -Wall -pipe -O3 -fomit-frame-pointer -DNDEBUG -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type" "LDFLAGS=-Wl,--as-needed -fuse-ld=gold -fuse-ld=gold " &&
/build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/bin/cmake -E touch /build/build.LibreELEC-RPi4.arm-11.0-devel/build/kodi-20.1-Nexus/.armv8a-libreelec-linux-gnueabihf/build/libdvdcss/src/libdvdcss-stamp/libdvdcss-configure
Can't locate Autom4te/ChannelDefs.pm in
@INC (you may need to install the Autom4te::ChannelDefs module)
(@INC contains:
/usr/share/autoconf
/etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.30.0
/usr/local/share/perl/5.30.0
/usr/lib/x86_64-linux-gnu/perl5/5.30
/usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.30
/usr/share/perl/5.30
/usr/local/lib/site_perl
/usr/lib/x86_64-linux-gnu/perl-base
) at /build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/bin/autoreconf line 52.
BEGIN failed--compilation aborted at /build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/armv8a-libreelec-linux-gnueabihf/sysroot/usr/bin/autoreconf line 52.
Display More
Seems like to me that m4 is build the host toolchain but perl struggles to find it.
I was able to create a quick & dirty workaround to make it compile on my system by adding the following lines to the Dockerfile:
Code
RUN ln -s /build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/share/autoconf /usr/local/lib/site_perl
RUN ln -s /build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/bin/autoconf /usr/bin/autoconf
RUN ln -s /build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/bin/autom4te /usr/bin/autom4te
RUN ln -s /build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/bin/autoheader /usr/bin/autoheader
This is a rather unstable workaround as it hardcodes the build path which depends on the build parameters.
Am I the only one experiencing this?
(I do not know anymore why I added PATH=/build/build.LibreELEC-RPi4.arm-11.0-devel/toolchain/bin:$PATH, so it might not be required)