Problem compiling mdadm for LibreELEC 9.0.2

  • Hello


    unfortunately I have a problem compiling mdadm. For Libreelec 8.2.5 the compilation had worked, but somehow not anymore for 9.0.2. The problem is apparently not directly compiling, but creating the package for installation. The binary "mdadm" is not copied because the compiler thinks this is a directory. Enclosed my package.mk and the installtion failure.


    Maybe someone has an idea what I have to change.


    Many thanks in advance.


    Rgds


    ###########################################################################################

    make[1]: Leaving directory '/home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/mdadm-4.0'

    make[1]: Entering directory '/home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/mdadm-4.0'

    sed -e 's/{DEFAULT_METADATA}/1.2/g' \

    -e 's,{MAP_PATH},/run/mdadm/map,g' mdadm.8.in > mdadm.8

    /usr/bin/install -D -m 644 mdadm.8 /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/share/man/man8/mdadm.8

    /usr/bin/install -D -m 644 mdmon.8 /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/share/man/man8/mdmon.8

    /usr/bin/install -D -m 644 md.4 /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/share/man/man4/md.4

    /usr/bin/install -D -m 644 mdadm.conf.5 /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/share/man/man5/mdadm.conf.5

    /usr/bin/install -D -m 644 udev-md-raid-arrays.rules /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/udev/rules.d/63-md-raid-arrays.rules

    /usr/bin/install -D -m 644 udev-md-raid-assembly.rules /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/lib/udev/rules.d/64-md-raid-assembly.rules

    /usr/bin/install -D /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/bin/x86_64-libreelec-linux-gnu-strip -m 755 mdadm /home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/sbin/mdadm

    /usr/bin/install: target '/home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/sbin/mdadm' is not a directory

    make[1]: *** [Makefile:273: install] Error 1

    make[1]: Leaving directory '/home/user/LibreELEC.tv/build.LibreELEC-Generic.x86_64-9.0-devel/mdadm-4.0'

    Makefile:12: die Regel für Ziel „image“ scheiterte

    make: *** [image] Fehler 2

    ###########################################################################################

    ###########################################################################################

    ###########################################################################################

    PKG_NAME="mdadm"

    PKG_VERSION="4.0"

    PKG_ARCH="any"

    PKG_LICENSE="LGPLv2"

    PKG_SITE="http://neil.brown.name/blog/mdadm"

    PKG_URL="http://www.kernel.org/pub/linux/utils/raid/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"

    PKG_DEPENDS_TARGET="toolchain systemd"

    PKG_SECTION="system"

    PKG_SHORTDESC="mdadm: manager for raid arrays"

    PKG_LONGDESC="mdadm is a tool for managing Linux Software RAID arrays."


    PKG_IS_ADDON="no"

    PKG_AUTORECONF="no"


    STRIP="--strip --strip-program=$STRIP"


    PKG_MAKE_OPTS_TARGET="SYSCONFDIR=/storage/.config CC=$CC CWFLAGS="

    PKG_MAKEINSTALL_OPTS_TARGET="SYSTEMD_DIR=/usr/lib/systemd/system BINDIR=/usr/sbin install-systemd"

    ###########################################################################################

    ###########################################################################################

    ###########################################################################################

    Files

    • package.mk.txt

      (635 Byte, downloaded 84 times, last: )
  • You need to set variables STRIP and PKG_MAKE_OPTS_TARGET in function pre_configure_target() to evaluate them correctly because you are using environment variables STRIP and CC which are known little later. Correct reason can tell someone else :D

    Code
    1. pre_configure_target() {
    2. STRIP="--strip --strip-program=$STRIP"
    3. PKG_MAKE_OPTS_TARGET="SYSCONFDIR=/storage/.config CC=$CC CWFLAGS="
    4. PKG_MAKEINSTALL_OPTS_TARGET="SYSTEMD_DIR=/usr/lib/systemd/system BINDIR=/usr/sbin install-systemd"
    5. }


    Also your build was compiled with ggdb :)

    Gone...