Re: How building sys/boot

From: Ilya A. Arkhipov <rum1cro_at_yandex.ru>
Date: Thu, 26 Jan 2017 03:37:59 +0300
Many thanks Dimitry for full definition

25.01.2017, 21:46, "Dimitry Andric" <dim_at_freebsd.org>:
> On 25 Jan 2017, at 14:58, Ilya A. Arkhipov <rum1cro_at_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

-- 
With Best Regards,
Ilya A. Arkhipov
Received on Wed Jan 25 2017 - 23:38:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:09 UTC