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