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

Yury Tsybizov yuriy.tsibizov at gmail.com
Sat Dec 21 20:36:58 UTC 2013


oh, mistype.

it was BUILDWORLD/BUILDKERNEL/INSTALLKERNEL, of course.



On 21 Dec 2013, at 19:53, Dimitry Andric <dim at FreeBSD.org> wrote:

> 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
> 



More information about the freebsd-stable mailing list