opencomputeproject / onie

Open Network Install Environment
https://opencomputeproject.github.io/onie
Other
598 stars 371 forks source link

Compile error on DellEMC S4100 #779

Open evwarner opened 5 years ago

evwarner commented 5 years ago

Get compile error on the Dell EMC S4100 build with the latest August and May versions. Doesn't really complete compilation until you drop back to the February versions (2018.02br). The latest compile appears as follows. What is missing?

gms@debian:~/temp2/onie/build-config$ make -j4 MACHINEROOT=../machine/dell MACHINE=dellemc_s4100_c2338 all mkdir: created directory '/home/gms/temp2/onie/build/images' mkdir: created directory '/home/gms/temp2/onie/build/download' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/stamp' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/initramfs' ==== Getting Linux ==== ==== Preparing xtools for x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22 ==== ==== Getting upstream uClibc ==== ==== Getting upstream crosstool-NG ==== ==== Preparing a new sysroot directory ==== mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/dev' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/sys' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/proc' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/tmp' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/etc' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/lib' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/mnt' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/var' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/var/log' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/usr' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/usr/lib' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/usr/bin' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/usr/sbin' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/usr/share' mkdir: created directory '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/sysroot/usr/share/locale' mkdir: created directory '/home/gms/temp2/onie/build/user' mkdir: created directory '/home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22' mkdir: created directory '/home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/stamp' ==== Getting upstream zlib ==== 2018-10-11 06:32:11 URL:http://mirror.opencompute.org/onie/zlib-1.2.8.tar.gz [571091/571091] -> "/home/gms/temp2/onie/build/download/zlib-1.2.8.tar.gz" [1] zlib-1.2.8.tar.gz: OK ==== Getting upstream BusyBox ==== 2018-10-11 06:32:12 URL:http://mirror.opencompute.org/onie/uClibc-ng-1.0.22.tar.xz [1996808/1996808] -> "/home/gms/temp2/onie/build/download/uClibc-ng-1.0.22.tar.xz" [1] uClibc-ng-1.0.22.tar.xz: OK ==== Getting upstream util-linux ==== 2018-10-11 06:32:12 URL:http://mirror.opencompute.org/onie/crosstool-ng-1.23.0.tar.gz [2237648/2237648] -> "/home/gms/temp2/onie/build/download/crosstool-ng-1.23.0.tar.gz" [1] crosstool-ng-1.23.0.tar.gz: OK ==== Getting upstream lzo ==== 2018-10-11 06:32:12 URL:http://mirror.opencompute.org/onie/busybox-1.25.1.tar.bz2 [2103070/2103070] -> "/home/gms/temp2/onie/build/download/busybox-1.25.1.tar.bz2" [1] busybox-1.25.1.tar.bz2: OK ==== Getting upstream mtdutils ==== 2018-10-11 06:32:12 URL:http://mirror.opencompute.org/onie/e4c8885bddac201ba0ef88560d6444f39e1ff870.tar.gz [345204/345204] -> "/home/gms/temp2/onie/build/download/e4c8885bddac201ba0ef88560d6444f39e1ff870.tar.gz" [1] e4c8885bddac201ba0ef88560d6444f39e1ff870.tar.gz: OK ==== Getting upstream dropbear ==== 2018-10-11 06:32:12 URL:http://mirror.opencompute.org/onie/lzo-2.09.tar.gz [594855/594855] -> "/home/gms/temp2/onie/build/download/lzo-2.09.tar.gz" [1] lzo-2.09.tar.gz: OK ==== Getting upstream lvm2 ==== 2018-10-11 06:32:13 URL:http://mirror.opencompute.org/onie/util-linux-2.27.tar.xz [3968872/3968872] -> "/home/gms/temp2/onie/build/download/util-linux-2.27.tar.xz" [1] util-linux-2.27.tar.xz: OK ==== Getting upstream dmidecode ==== 2018-10-11 06:32:13 URL:http://mirror.opencompute.org/onie/lvm2-2_02_105.tar.xz [999124/999124] -> "/home/gms/temp2/onie/build/download/lvm2-2_02_105.tar.xz" [1] lvm2-2_02_105.tar.xz: OK ==== Getting upstream ethtool ==== 2018-10-11 06:32:13 URL:http://mirror.opencompute.org/onie/dmidecode-3.1.tar.xz [61204/61204] -> "/home/gms/temp2/onie/build/download/dmidecode-3.1.tar.xz" [1] dmidecode-3.1.tar.xz: OK ==== Getting upstream e2fsprogs ==== 2018-10-11 06:32:13 URL:http://mirror.opencompute.org/onie/ethtool-3.14.tar.xz [194360/194360] -> "/home/gms/temp2/onie/build/download/ethtool-3.14.tar.xz" [1] ethtool-3.14.tar.xz: OK ==== Getting upstream popt ==== 2018-10-11 06:32:13 URL:http://mirror.opencompute.org/onie/dropbear-2016.74.tar.bz2 [1622234/1622234] -> "/home/gms/temp2/onie/build/download/dropbear-2016.74.tar.bz2" [1] dropbear-2016.74.tar.bz2: OK ==== Getting upstream gptfdisk ==== 2018-10-11 06:32:13 URL:http://mirror.opencompute.org/onie/popt-1.16.tar.gz [702769/702769] -> "/home/gms/temp2/onie/build/download/popt-1.16.tar.gz" [1] popt-1.16.tar.gz: OK ==== Getting upstream parted ==== 2018-10-11 06:32:13 URL:http://mirror.opencompute.org/onie/gptfdisk-0.8.8.tar.gz [188395/188395] -> "/home/gms/temp2/onie/build/download/gptfdisk-0.8.8.tar.gz" [1] gptfdisk-0.8.8.tar.gz: OK ==== Getting upstream grub ==== 2018-10-11 06:32:14 URL:http://mirror.opencompute.org/onie/e2fsprogs-1.42.13.tar.xz [4802740/4802740] -> "/home/gms/temp2/onie/build/download/e2fsprogs-1.42.13.tar.xz" [1] e2fsprogs-1.42.13.tar.xz: OK ==== Getting upstream efibootmgr ==== 2018-10-11 06:32:14 URL:http://mirror.opencompute.org/onie/efibootmgr-15.tar.bz2 [35476/35476] -> "/home/gms/temp2/onie/build/download/efibootmgr-15.tar.bz2" [1] efibootmgr-15.tar.bz2: OK ==== Getting upstream efivar ==== 2018-10-11 06:32:14 URL:http://mirror.opencompute.org/onie/parted-3.1.tar.xz [1524344/1524344] -> "/home/gms/temp2/onie/build/download/parted-3.1.tar.xz" [1] parted-3.1.tar.xz: OK ==== Getting upstream dosfstools ==== 2018-10-11 06:32:14 URL:http://mirror.opencompute.org/onie/efivar-30.tar.bz2 [73202/73202] -> "/home/gms/temp2/onie/build/download/efivar-30.tar.bz2" [1] efivar-30.tar.bz2: OK ==== Getting upstream kexec-tools ==== 2018-10-11 06:32:14 URL:http://mirror.opencompute.org/onie/kexec-tools-2.0.9.tar.xz [272728/272728] -> "/home/gms/temp2/onie/build/download/kexec-tools-2.0.9.tar.xz" [1] kexec-tools-2.0.9.tar.xz: OK 2018-10-11 06:32:14 URL:http://mirror.opencompute.org/onie/dosfstools-3.0.26.tar.xz [79196/79196] -> "/home/gms/temp2/onie/build/download/dosfstools-3.0.26.tar.xz" [1] dosfstools-3.0.26.tar.xz: OK ==== Getting upstream flashrom ==== ==== Getting upstream pciutils ==== 2018-10-11 06:32:15 URL:http://mirror.opencompute.org/onie/grub-2.02.tar.xz [4536996/4536996] -> "/home/gms/temp2/onie/build/download/grub-2.02.tar.xz" [1] 2018-10-11 06:32:15 URL:http://mirror.opencompute.org/onie/flashrom-0.9.8.tar.bz2 [473902/473902] -> "/home/gms/temp2/onie/build/download/flashrom-0.9.8.tar.bz2" [1] 2018-10-11 06:32:15 URL:http://mirror.opencompute.org/onie/pciutils-3.2.1.tar.xz [282268/282268] -> "/home/gms/temp2/onie/build/download/pciutils-3.2.1.tar.xz" [1] grub-2.02.tar.xz: OK flashrom-0.9.8.tar.bz2: OK pciutils-3.2.1.tar.xz: OK ==== Copying conf/crosstool/gcc-6.3.0/uClibc-ng-1.0.22/crosstool.x86_64.config to /home/gms/temp2/onie/build/x-tools/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/build/.config ==== ==== Getting upstream btrfs-progs ==== ==== Extracting upstream crosstool-NG ==== 'conf/crosstool/gcc-6.3.0/uClibc-ng-1.0.22/crosstool.x86_64.config' -> '/home/gms/temp2/onie/build/x-tools/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/build/.config' ==== Extracting upstream zlib ==== ==== Extracting upstream BusyBox ==== ==== Extracting upstream util-linux ==== 2018-10-11 06:32:15 URL:http://mirror.opencompute.org/onie/btrfs-progs-v4.3.1.tar.xz [1184416/1184416] -> "/home/gms/temp2/onie/build/download/btrfs-progs-v4.3.1.tar.xz" [1] btrfs-progs-v4.3.1.tar.xz: OK ==== Extracting upstream lzo ==== ==== Extracting upstream mtdutils ==== ==== Extracting upstream dropbear ==== ==== Extracting upstream lvm2 ==== ==== Extracting upstream dmidecode ==== ==== Extracting upstream ethtool ==== ==== Extracting upstream e2fsprogs ==== ==== Extracting upstream popt ==== ==== Extracting upstream gptfdisk ==== ==== Extracting upstream parted ==== ==== Extracting upstream grub ==== ==== Extracting upstream efibootmgr ==== ==== Extracting upstream efivar ==== ==== Extracting upstream dosfstools ==== ==== Extracting upstream kexec-tools ==== ==== Extracting upstream flashrom ==== ==== Extracting upstream pciutils ==== ==== Extracting upstream btrfs-progs ==== ==== Patching Crosstool_Ng ==== Initialized empty Git repository in /home/gms/temp2/onie/build/crosstool-ng/crosstool-ng-1.23.0/.git/ ==== Patching Busybox ==== '/home/gms/temp2/onie/machine/dell/dellemc_s4100_c2338/busybox/patches/onie-sys-eeprom-platform.patch' -> '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/busybox/patch/onie-sys-eeprom-platform.patch' Initialized empty Git repository in /home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/busybox/busybox-1.25.1/.git/ ==== Patching dmidecode ==== Initialized empty Git repository in /home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/dmidecode/dmidecode-3.1/.git/ Checking for changes in the working directory ... done Importing patch "dmidecode-onie-cross-compile.patch" ... done Now at patch "dmidecode-onie-cross-compile.patch" ==== Patching e2fsprogs ==== Initialized empty Git repository in /home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/e2fsprogs/e2fsprogs-1.42.13/.git/ Checking for changes in the working directory ... done Importing patch "allow-patching-custom-kernel-tarballs.patch" ... done Importing patch "allow-obsolete-isl-0-12-2-with-custom-gcc-version.patch" ... done Now at patch "allow-obsolete-isl-0-12-2-with-custom-gcc-version.patch" ==== Patching popt ==== Checking for changes in the working directory ... Initialized empty Git repository in /home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/popt/popt-1.16/.git/ done Importing patch "gitignore.patch" ... done Importing patch "u-boot-env-tools.patch" ... done Importing patch "fw_env-modify-crc-size-in-getenvsize.patch" ... Checking for changes in the working directory ... done Importing patch "gitignore.patch" ... done Importing patch "feature-iorw-command.patch" ... done Importing patch "popt-workaround-uclibc-glob-pattern-p.patch" ... done Importing patch "dhcp-additional-options.patch" ... done Importing patch "aarch64_support.patch" ... done done Now at patch "aarch64_support.patch" Importing patch "feature-flash-erase-command.patch" ... ==== Patching gptfdisk ==== Initialized empty Git repository in /home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/gptfdisk/gptfdisk-0.8.8/.git/ done Importing patch "feature-onie-syseeprom-command.patch" ... Checking for changes in the working directory ... done done No patches applied Importing patch "feature-onie-syseeprom-disk.patch" ... ==== Patching grub-2.02 ==== Initialized empty Git repository in /home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/grub/grub-2.02/.git/ Checking for changes in the working directory ... done done Importing patch "gptfdisk-onie-cross-compile.patch" ... Importing patch "feature-onie-syseeprom-sysfs.patch" ... done Importing patch "add-onie-partition-types.patch" ... done Importing patch "onie-sys-eeprom-platform.patch" ... error: patch failed: miscutils/sys_eeprom.c:68 error: miscutils/sys_eeprom.c: patch does not apply done Now at patch "add-onie-partition-types.patch" ==== Patching efibootmgr ==== Initialized empty Git repository in /home/gms/temp2/onie/build/user/x86_64-g6.3.0-lnx4.9.95-uClibc-ng-1.0.22/efibootmgr/efibootmgr-15/.git/ stg import: Diff does not apply cleanly make/busybox.make:74: recipe for target '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/stamp/busybox-patch' failed make: [/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/stamp/busybox-patch] Error 2 make: Waiting for unfinished jobs.... Checking for changes in the working directory ... done Importing patch "makefile-changes-for-onie.patch" ... done Importing patch "efibootdump-remove-intl-and-local-support.patch" ... done Now at patch "efibootdump-remove-intl-and-local-support.patch" Checking for changes in the working directory ... done Importing patch "core_in_fs.patch" ... done Importing patch "linuxefi.patch" ... done Importing patch "linuxefi_no_insmod_on_sb.patch" ... done Importing patch "linuxefi_move_fdt_helper.patch" ... done Importing patch "linuxefi_load_arm_with_sb.patch" ... 2018-10-11 06:32:20 URL:http://mirror.opencompute.org/onie/linux-4.9.95.tar.xz [93289700/93289700] -> "/home/gms/temp2/onie/build/download/linux-4.9.95.tar.xz" [1] done Importing patch "linuxefi_fix_efi_validation_race.patch" ... done Importing patch "linuxefi_use_dev_chainloader_target.patch" ... done Importing patch "linuxefi_add_sb_to_efi_chainload.patch" ... linux-4.9.95.tar.xz: OK done Importing patch "linuxefi_honor_sb_mode.patch" ... done Importing patch "linuxefi_rework_linux_cmd.patch" ... done Importing patch "linuxefi_rework_linux16_cmd.patch" ... done Importing patch "linuxefi_rework_pe_loading.patch" ... done Importing patch "linuxefi_rework_non-sb_efi_chainload.patch" ... done Importing patch "linuxefi_debug.patch" ... done Importing patch "linuxefi_minor_cleanups.patch" ... done Importing patch "linuxefi_handle_multiarch_boot.patch" ... done Importing patch "linuxefi_cleanup_errors_in_loader.patch" ... done Importing patch "linuxefi_non_sb_fallback.patch" ... done Importing patch "linuxefi_re-enable_linux_cmd.patch" ... done Importing patch "misc-fix-invalid-char-strtol.patch" ... done Importing patch "net_read_bracketed_ipv6_addr.patch" ... done Importing patch "bootp_new_net_bootp6_command.patch" ... done Importing patch "efinet_uefi_ipv6_pxe_support.patch" ... done Importing patch "bootp_process_dhcpack_http_boot.patch" ... done Importing patch "efinet_set_network_from_uefi_devpath.patch" ... done Importing patch "efinet_set_dns_from_uefi_proto.patch" ... done Importing patch "grub-install-efibootmgr-check.patch" ... done Importing patch "ext4_feature_encrypt.patch" ... done Importing patch "dont-fail-efi-warnings.patch" ... done Importing patch "set-default-graphics-mode-to-text.patch" ... done Importing patch "disable-build-of-documentation.patch" ... done Importing patch "include-compatible-unifont-bdf.patch" ... done Importing patch "gcc8.patch" ... done Now at patch "gcc8.patch" Importing unicode... Importing libgcrypt... Generating Automake input... Saving timestamps... Running autoreconf... autoreconf: Entering directory .' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal -I m4 autoreconf: configure.ac: tracing autoreconf: configure.ac: AM_GNU_GETTEXT is used, but not AM_GNU_GETTEXT_VERSION autoreconf: configure.ac: not using Libtool autoreconf: running: /usr/bin/autoconf autoreconf: running: /usr/bin/autoheader autoreconf: running: automake --add-missing --copy --no-force configure.ac:309: installing 'build-aux/compile' configure.ac:42: installing 'build-aux/config.guess' configure.ac:42: installing 'build-aux/config.sub' configure.ac:48: installing 'build-aux/install-sh' configure.ac:48: installing 'build-aux/missing' Makefile.am: installing 'build-aux/depcomp' parallel-tests: installing 'build-aux/test-driver' docs/Makefile.am:4: installing 'build-aux/mdate-sh' docs/Makefile.am:4: installing 'build-aux/texinfo.tex' autoreconf: Leaving directory.' gms@debian:~/temp2/onie/build-config$

evwarner commented 5 years ago

No, actually figured this one out. Unlike the Install instructions, perform the 'make' without the multiple jobs parameter, '-j4', and it compiles to completion.

lakesh-sharma commented 5 years ago

-j12 works fine in our build infra, with 2018.08 based onie. Good to know that -j4 works fine for you.

evwarner commented 5 years ago

Actually, -j4 didn’t work at all. Only when it was omitted entirely would it go through and compile. Otherwise, it would drop out.

--ericw

From: lakesh-sharma notifications@github.com Sent: Thursday, October 11, 2018 1:31 PM To: opencomputeproject/onie onie@noreply.github.com Cc: Eric Warner EWarner@gms4sbc.com; Author author@noreply.github.com Subject: Re: [opencomputeproject/onie] Compile error on DellEMC S4100 (#779)

-j12 works fine in our build infra, with 2018.08 based onie. Good to know that -j4 works fine for you.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/opencomputeproject/onie/issues/779#issuecomment-429107651, or mute the threadhttps://github.com/notifications/unsubscribe-auth/Ao3KQcYvR8MdKMoTXbZI9jImT9wzYM8Vks5uj6qDgaJpZM4XXkqj.

cbrune commented 5 years ago

Well there is a real error in the above output:

stg import: Diff does not apply cleanly
make/busybox.make:74: recipe for target '/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/stamp/busybox-patch' failed
make: *** [/home/gms/temp2/onie/build/dellemc_s4100_c2338-r0/stamp/busybox-patch] Error 2
make: *** Waiting for unfinished jobs....

Looks like a busybox patch did not apply cleanly.

cbrune commented 5 years ago

I am with @lakesh-sharma here -- using -j<whatever> should work just fine. I do it all the time. Something else is going wrong.

evwarner commented 5 years ago

Was finally able to drop back into this project. Also noted the busybox issue, guessing that the busybox patch was for an earlier version of busybox, not updated since the February version where it last worked. Concerning the make issue, was curious what environment is working. Currently using Debian 9.5 (Stretch), with packages brought in to support both ONIE and OpenSwitch.

paulmenzel commented 3 years ago

Can you please update the original comment and enclose the paste into , so it’s marked up correctly, and not striked through?

How did you fix the BusyBox patch? Please submit a merge/pull request.

I’d open a new issues for the parallel make issue.

TobiPeterG commented 10 months ago

I had the same issue. The patch wasn't created, I could "fix" it by editing the busybox.make file and removing one of the top lines defining where the patch file should be, but I couldn't test the image yet, so I don't know if it'll boot. An actual fix would be nice :) Could BusyBox be downgraded or the patch be updated?