unable to build 10.0-RC2/i386 GENERIC kernel with gcc (stop at hyperv module)

Dimitry Andric dim at FreeBSD.org
Sat Dec 21 18:53:57 UTC 2013


On 21 Dec 2013, at 19:25, Yury Tsybizov <yuriy.tsibizov at gmail.com> wrote:
> 
> I am trying to update (clean) install of 9.2 to releng/10.0 svn on i386.
> 
> It did not work with freebsd-update or usual build world/buildkernel/installworld/reboot/ etc procedure

You are using the incorrect order.  The correct order is:

* make buildworld
* make buildkernel
* make installkernel
* reboot to single user
* make installworld
* mergemaster (or etcupdate, whichever you prefer)
* reboot


> - looks like 9.2 gcc world is unable to run “make installworld" under 10.0 clang kernel.

No, this has nothing to do with clang or gcc.  You are attempting to
install a 10.0 world while still running a 9.2 kernel, which is
unsupported.  (That means, it might work if you are lucky, but it is
more likely to break.)


> As recommended by UPDATING, I am trying to build it with gcc instead of clang.
> 
> Everything builds well, but hyperv module has some problems:
...
> cc  -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/usr/src/sys/modules/hyperv/netvsc/../../../dev/hyperv/netvsc -DHAVE_KERNEL_OPTION_HEADERS -include /usr/obj/usr/src/sys/GENERIC/opt_global.h -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -g -I/usr/obj/usr/src/sys/GENERIC  -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option   -c /usr/src/sys/modules/hyperv/netvsc/../../../dev/hyperv/netvsc/hv_net_vsc.c
> cc1: warnings being treated as errors
> /usr/src/sys/modules/hyperv/netvsc/../../../dev/hyperv/netvsc/hv_net_vsc.c: In function 'hv_nv_init_rx_buffer_with_net_vsp':
> /usr/src/sys/modules/hyperv/netvsc/../../../dev/hyperv/netvsc/hv_net_vsc.c:182: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]

Yes, this is a known problem in the hyperv code.  I have tried to get
some attention for it, but apparently it is not that important to be
able to build 10.0 with gcc anymore...

If you do not care about hyperv, just use WERROR= to build your kernel,
e.g.:

make buildkernel WERROR=

to disable -Werror.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20131221/8a970f89/attachment-0001.sig>


More information about the freebsd-stable mailing list