On 25 Jan 2017, at 14:58, Ilya A. Arkhipov <rum1...@yandex.ru> wrote:
> 
> Somebody can explain to me how build sys/boot?
> Right now I doing:
> make -C sys/boot obj depend all
> And I get:
> cc  -O2 -pipe   -DSKEIN_LOOP=111 -fPIC -I/usr/src/sys/boot/efi/loader 
> -I/usr/src/sys/boot/efi/loader/arch/amd64 
> -I/usr/src/sys/boot/efi/loader/../include 
> -I/usr/src/sys/boot/efi/loader/../include/amd64 
> -I/usr/src/sys/boot/efi/loader/../../../contrib/dev/acpica/include 
> -I/usr/src/sys/boot/efi/loader/../../.. 
> -I/usr/src/sys/boot/efi/loader/../../i386/libi386 
> -I/usr/src/sys/boot/efi/loader/../../zfs 
> -I/usr/src/sys/boot/efi/loader/../../../cddl/boot/zfs 
> -I/usr/src/sys/boot/efi/loader/../../../crypto/skein -DEFI_ZFS_BOOT -DNO_PCI 
> -DEFI -DSMBIOS_SERIAL_NUMBERS -DBOOT_FORTH 
> -I/usr/src/sys/boot/efi/loader/../../ficl 
> -I/usr/src/sys/boot/efi/loader/../../ficl/amd64 -DLOADER_DISK_SUPPORT 
> -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT -fPIC -I/usr/src/sys/boot/ficl 
> -I/usr/src/sys/boot/ficl/amd64  -I/usr/src/sys/boot/ficl/../common 
> -I/usr/src/sys/boot/efi/loader/../../common -ffreestanding -Wformat 
> -msoft-float -mno-mmx -mno-sse -mno-avx -fshort-wchar -mno-red-zone -mno-aes 
> -g -MD  -MF.depend.zfs.o -
> MTzfs.o -std=gnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W 
> -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes 
> -Wpointer-arith -Wno-uninitialized -Wno-pointer-sign -Wno-empty-body 
> -Wno-string-plus-int -Wno-unused-const-variable -Wno-tautological-compare 
> -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function 
> -Wno-enum-conversion -Wno-unused-local-typedef -Wno-sign-compare 
> -Wno-array-bounds -Wno-missing-prototypes -Qunused-arguments  -c 
> /usr/src/sys/boot/efi/loader/../../zfs/zfs.c -o zfs.o
> /usr/src/sys/boot/efi/loader/../../zfs/zfs.c:602:17: error: incompatible 
> pointer types initializing 'int (*)(void *, int, daddr_t, size_t, size_t, 
> char *, size_t *)' (aka 'int
>      (*)(void *, int, long, unsigned long, unsigned long, char *, unsigned 
> long *)') with an expression of type 'int (void *, int, daddr_t, size_t, char 
> *, size_t *)' (aka 'int
>      (void *, int, long, unsigned long, char *, unsigned long *)') 
> [-Werror,-Wincompatible-pointer-types]
>        .dv_strategy = zfs_dev_strategy,
>                       ^~~~~~~~~~~~~~~~
> /usr/src/sys/boot/efi/loader/../../zfs/zfs.c:606:14: error: incompatible 
> pointer types initializing 'void (*)(int)' with an expression of type 'int 
> (int)'
>      [-Werror,-Wincompatible-pointer-types]
>        .dv_print = zfs_dev_print,
>                    ^~~~~~~~~~~~~
> 2 errors generated.

This is because of r310850, which changed the dv_strategy member of
struct devsw in stand.h [1].  You need to update your libstand before
you can build sys/boot, e.g:

cd /usr/src/lib/libstand
make obj
make depend
make
sudo make install

Then try building sys/boot again.  Or just run a regular buildworld. :)

-Dimitry

[1] 
https://svnweb.freebsd.org/base/head/lib/libstand/stand.h?r1=310850&r2=310849&pathrev=310850

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to