Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Jan 2017 17:34:11 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        "Ilya A. Arkhipov" <rum1cro@yandex.ru>
Cc:        Dimitry Andric <dim@freebsd.org>, freebsd-current Current <freebsd-current@freebsd.org>
Subject:   Re: How building sys/boot
Message-ID:  <CANCZdfpwbCax3CJo8fCZBgTtmh_kZc%2B8Qj-cn=pDq0gd3Ep1QQ@mail.gmail.com>
In-Reply-To: <1028661485391079@web29m.yandex.ru>
References:  <9680921485352709@web26h.yandex.ru> <450EEB74-2B4D-493C-82E2-FD4AF0BC4CEC@FreeBSD.org> <1028661485391079@web29m.yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 25, 2017 at 5:37 PM, Ilya A. Arkhipov <rum1cro@yandex.ru> wrote=
:
> Many thanks Dimitry for full definition
>
> 25.01.2017, 21:46, "Dimitry Andric" <dim@freebsd.org>:
>> On 25 Jan 2017, at 14:58, Ilya A. Arkhipov <rum1cro@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=3D111 -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/loa=
der/../../.. -I/usr/src/sys/boot/efi/loader/../../i386/libi386 -I/usr/src/s=
ys/boot/efi/loader/../../zfs -I/usr/src/sys/boot/efi/loader/../../../cddl/b=
oot/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/ef=
i/loader/../../ficl -I/usr/src/sys/boot/efi/loader/../../ficl/amd64 -DLOADE=
R_DISK_SUPPORT -DLOADER_GPT_SUPPORT -DLOADER_MBR_SUPPORT -fPIC -I/usr/src/s=
ys/boot/ficl -I/usr/src/sys/boot/ficl/amd64 -I/usr/src/sys/boot/ficl/../com=
mon -I/usr/src/sys/boot/efi/loader/../../common -ffreestanding -Wformat -ms=
oft-float -mno-mmx -mno-sse -mno-avx -fshort-wchar -mno-red-zone -mno-aes -=
g -MD -MF.depend.zfs.o -
>>>  MTzfs.o -std=3Dgnu99 -Wsystem-headers -Werror -Wall -Wno-format-y2k -W=
 -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-a=
rith -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-un=
used-local-typedef -Wno-sign-compare -Wno-array-bounds -Wno-missing-prototy=
pes -Qunused-arguments -c /usr/src/sys/boot/efi/loader/../../zfs/zfs.c -o z=
fs.o
>>>  /usr/src/sys/boot/efi/loader/../../zfs/zfs.c:602:17: error: incompatib=
le 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 *, unsi=
gned 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 *)') [-W=
error,-Wincompatible-pointer-types]
>>>         .dv_strategy =3D zfs_dev_strategy,
>>>                        ^~~~~~~~~~~~~~~~
>>>  /usr/src/sys/boot/efi/loader/../../zfs/zfs.c:606:14: error: incompatib=
le pointer types initializing 'void (*)(int)' with an expression of type 'i=
nt (int)'
>>>       [-Werror,-Wincompatible-pointer-types]
>>>         .dv_print =3D 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=3D31085=
0&r2=3D310849&pathrev=3D310850
>

Alternatively, you can do a make buildworld and then a make buildenv
and cd to sys/boot if you don't want to scrag the installed system.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfpwbCax3CJo8fCZBgTtmh_kZc%2B8Qj-cn=pDq0gd3Ep1QQ>