Project

General

Profile

Bug #18480

Build of 9.10-MASTER succeeds, build of 9.10-STABLE fails - [[Update README.md]]

Added by Denis Anjos almost 4 years ago. Updated almost 3 years ago.

Status:
Resolved
Priority:
Important
Assignee:
Josh Paetzel
Category:
Middleware
Target version:
Seen in:
Severity:
New
Reason for Closing:
Reason for Blocked:
Needs QA:
Yes
Needs Doc:
Yes
Needs Merging:
Yes
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

Stable version wont build from the source with instructions from README.md while MASTER will.

README.md on branch [[9.10-STABLE]] is the same as in [[MASTER]], so that might be that [[README.md needs update on branch 9-10-STABLE]].

[[On freenas-build MASTER]]
[[ make checkout PROFILE=freenas9 && make release PROFILE=freenas9 ]]works perfectly,

While
[[On freenas-build 9.10-STABLE]]
[[make checkout PROFILE=freenas9 && make release PROFILE=freenas9]] requires [[VERSION]].
using VERSION=9.10 ; VERSION=STABLE ; VERSION=RELEASE ; VERSION=9.10-STABLE always lead to the following error:

[0:00:44] ==> Failed command: env -u DEBUG -u MAKEFLAGS MAKEOBJDIRPREFIX=/tmp/ghub/freenas-build/_BE/objs make -j 25 -C /tmp/ghub/freenas-build/_BE/os __MAKE_CONF=/tmp/ghub/freenas-build/_BE/objs/make-build.conf NOCLEAN=YES buildworld
[0:00:44] > Returned value: 2
[0:00:44] > ERROR: Build failed
  • Error code 1

Associated revisions

Revision 1ebe09b4 (diff)
Added by Alexander Motin almost 4 years ago

Reduce diff with FreeBSD. Ticket: #18480 (cherry picked from commit 120d2b2d071bb1ee1864db288f5ce7978f8d0afe)

Revision 1ebe09b4 (diff)
Added by Alexander Motin almost 4 years ago

Reduce diff with FreeBSD. Ticket: #18480 (cherry picked from commit 120d2b2d071bb1ee1864db288f5ce7978f8d0afe)

History

#1 Updated by Josh Paetzel almost 4 years ago

  • Status changed from Unscreened to Investigation
  • Assignee set to Josh Paetzel
  • Priority changed from No priority to Important

#2 Updated by Josh Paetzel almost 4 years ago

  • Status changed from Investigation to 15

make checkout shouldn't cause buildworld to run. Are there steps missing in this bug report?

#3 Updated by Josh Paetzel almost 4 years ago

Ok, so I found a buildworld failure on our jenkins builder. Can you grep -C 3 'error:' from the buildworld logs and tell me what you get?

/freenas-9.10-stable-clean/_BE/os/usr.sbin/bhyve/pci_e82545.c:50:10: fatal error: 'e1000_regs.h' file not found
#include "e1000_regs.h"

That's the error I found.

There's been no commits to this for three weeks. So this must be some sort of race condition. (Note that since this error there's been 5 successful builds)

#4 Updated by Denis Anjos almost 4 years ago

UPDATING:

I messed up with the tags so information was chopped, it should be:

Stable version won't build from the source with instructions from README.md while MASTER will.

README.md on branch 9.10-STABLE is the same as in MASTER, so that might be that README.md needs update on branch 9-10-STABLE.

On freenas-build MASTER
make checkout PROFILE=freenas9 && make release PROFILE=freenas9 works perfectly,

On freenas-build 9.10-STABLE
make checkout PROFILE=freenas9 && make release PROFILE=freenas9 requires VERSION.

using make release VERSION=9.10 ; VERSION=STABLE ; VERSION=RELEASE ; VERSION=9.10-STABLE always lead to the following error:

[0:00:44] ==> Failed command: env -u DEBUG -u MAKEFLAGS MAKEOBJDIRPREFIX=/tmp/ghub/freenas-build/_BE/objs make -j 25 -C /tmp/ghub/freenas-build/_BE/os __MAKE_CONF=/tmp/ghub/freenas-build/_BE/objs/make-build.conf NOCLEAN=YES buildworld
[0:00:44] > Returned value: 2
[0:00:44] > ERROR: Build failed

Error code 1

#5 Updated by Denis Anjos almost 4 years ago

Josh Paetzel wrote:

Ok, so I found a buildworld failure on our jenkins builder. Can you grep -C 3 'error:' from the buildworld logs and tell me what you get?

/freenas-9.10-stable-clean/_BE/os/usr.sbin/bhyve/pci_e82545.c:50:10: fatal error: 'e1000_regs.h' file not found
#include "e1000_regs.h"

That's the error I found.

There's been no commits to this for three weeks. So this must be some sort of race condition. (Note that since this error there's been 5 successful builds)

grep -C 3 'error:' /tmp/ghub/reproduce/freenas-build/_BE/release.build.log > Returns nothing

root@build:/tmp/ghub/reproduce/freenas-build # grep -C 3 'error:' /tmp/ghub/reproduce/freenas-build/_BE/objs/logs/buildworld
returns same error as yours:

sed e 's|<stdlib.h>|"stand.h"|' /tmp/ghub/reproduce/freenas-build/_BE/os/sys/boot/libstand32/../../../contrib/bzip2/bzlib_private.h > libstand_bzlib_private.h
--
usr.sbin.depend__D ---
--- depend_subdir_bhyve ---
/tmp/ghub/reproduce/freenas-build/_BE/os/usr.sbin/bhyve/pci_e82545.c:50:10: fatal error: 'e1000_regs.h' file not found
#include "e1000_regs.h"
^
--- secure.depend__D ---

#6 Updated by Denis Anjos almost 4 years ago

Josh Paetzel wrote:

Ok, so I found a buildworld failure on our jenkins builder. Can you grep -C 3 'error:' from the buildworld logs and tell me what you get?

/freenas-9.10-stable-clean/_BE/os/usr.sbin/bhyve/pci_e82545.c:50:10: fatal error: 'e1000_regs.h' file not found
#include "e1000_regs.h"

That's the error I found.

There's been no commits to this for three weeks. So this must be some sort of race condition. (Note that since this error there's been 5 successful builds)

The weirdest thing about this is that official freenas' compilation is going through, this one should go as well. The procedure on README.md needs update anyway, but whether this is what is breaking the build or not would be the question, as I managed to get through the "build of stable requires VERSION" error by the following:
git clone https://github.com/freenas/freenas-build.git
git checkout -b 9.10-STABLE origin/9.10-STABLE
make checkout
make release VERSION=9.10-STABLE

First of all: Is this flow correct? Otherwise I may tray exacly the same flow of your compiling servers to understand if the build succeeds even with the error above.

TIA,
D.

#7 Updated by Denis Anjos almost 4 years ago

Maybe... the number of workers building the source?

Are you able to tell how many workers were started on that build that failed and in another that succeeded?

Tia,
D.

#8 Updated by Denis Anjos almost 4 years ago

Building os with only one worker I get to see the following errors (might help):

CC='cc ' mkdep -f .depend -a -std=gnu99 /tmp/reproduce-exactly/freenas-build/_BE/os/usr.bin/tr/cmap.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.bin/tr/cset.c /tmp/reproduce-exactly/freenas-build/_BE
/os/usr.bin/tr/str.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.bin/tr/tr.c
echo tr: /tmp/reproduce-exactly/freenas-build/_BE/objs/tmp/reproduce-exactly/freenas-build/_BE/os/tmp/usr/lib/libc.a >> .depend
===> usr.bin/true (depend)
===> usr.bin/truncate (depend)
===> usr.bin/truss (depend)
env MACHINE=amd64 CPP="cpp " /bin/sh /tmp/reproduce-exactly/freenas-build/_BE/os/usr.bin/truss/../kdump/mkioctls return /tmp/reproduce-exactly/freenas-build/_BE/objs/tmp/reproduce-exactly/freenas-build/_BE/os/t
mp/usr/include > ioctl.c
egrep: net/rndis.h: No such file or directory
<stdin>:1:10: fatal error: 'altq/altq.h' file not found
#include <altq/altq.h>
^
1 error generated.


rm -f .depend
CC='cc ' mkdep -f .depend -a -I/tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/../../contrib/lib9p -I/../../sys/dev/mii -I/../../sys/dev/e1000 -I/tmp/reproduce-exactly/freenas-build/_BE/os/sys/dev/usb/controller -std=gnu99 /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/atkbdc.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/acpi.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/bhyvegc.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/bhyverun.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/block_if.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/bootrom.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/console.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/consport.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/dbgport.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/fwctl.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/inout.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/ioapic.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/mem.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/mevent.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/mptbl.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/ne2000.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_ahci.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_e82545.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_emul.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_fbuf.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_hostbridge.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_irq.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_lpc.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_passthru.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_virtio_9p.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_virtio_block.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_virtio_console.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_virtio_net.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_virtio_rnd.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_uart.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_xhci.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pm.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/post.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/ps2kbd.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/ps2mouse.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/rfb.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/rtc.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/smbiostbl.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/sockstream.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/task_switch.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/uart_emul.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/usb_emul.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/usb_mouse.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/virtio.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/vga.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/vncserver.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/xmsr.c /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/spinup_ap.c /tmp/reproduce-exactly/freenas-build/_BE/os/sys/amd64/vmm/vmm_instruction_emul.c
/tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve/pci_e82545.c:50:10: fatal error: 'e1000_regs.h' file not found
#include "e1000_regs.h"
^
1 error generated.
mkdep: compile failed
  • Error code 1
Stop.
make4: stopped in /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin/bhyve
  • Error code 1
Stop.
make3: stopped in /tmp/reproduce-exactly/freenas-build/_BE/os/usr.sbin
  • Error code 1
Stop.
make2: stopped in /tmp/reproduce-exactly/freenas-build/_BE/os
  • Error code 1
Stop.
make1: stopped in /tmp/reproduce-exactly/freenas-build/_BE/os
  • Error code 1

Stop.
make: stopped in /tmp/reproduce-exactly/freenas-build/_BE/os

#9 Updated by Denis Anjos almost 4 years ago

Found out that the problem is that os/usr.sbin/bhyve/pci_e82545.c is including some files that are not in the search path.

Files are:

#include "e1000_regs.h"
#include "e1000_defines.h"
#include "mii.h"

on lines 50-52

Paths for the files are:
_BE/os/sys/dev/e1000/e1000_regs.h
_BE/os/sys/dev/e1000/e1000_defines.h
_BE/os/sys/dev/mii/mii.h

#10 Updated by Josh Paetzel almost 4 years ago

  • Status changed from 15 to Investigation

For what it's worth this is a race condition and the compilation occasionally succeeds. I'll chase down the includes you mentioned.

#11 Updated by Vaibhav Chauhan almost 4 years ago

#13 Updated by Josh Paetzel almost 4 years ago

  • Status changed from Investigation to Resolved

#14 Updated by Justin Clift almost 4 years ago

It might be a good idea to somehow mention this in the "more in depth build guide" (or write a version of it for -STABLE), as it's not obvious the process is different between the branches.

#15 Updated by Dru Lavigne almost 3 years ago

  • Target version set to N/A

Also available in: Atom PDF