Ошыбка компиляции GRUB (pxegrub)

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Orator
рядовой
Сообщения: 36
Зарегистрирован: 2008-07-16 11:21:58

Ошыбка компиляции GRUB (pxegrub)

Непрочитанное сообщение Orator » 2009-09-28 13:34:35

Всем доброго времени суток.

Имею следующую необходимость - скомпилировать pxegrub.
При стандартной установки grub из портов загрузчик pxegrub не создается.
Нагуглил следующие решение:

Код: Выделить всё

cd /usr/ports/sysutils/grub
make extract
cd /work/grub-0.97
./configure --enable-diskless --enable-eepro100
make
eepro100 - является указанием сетевухи.

После данных мытарств в папке согласно описанию должен появится искомый файл (pxegrub)
В моем случае компиляция вылетает с ошибкой:

Код: Выделить всё

main.c:57: error: static declaration of 'bootp_data' follows non-static declaration
./etherboot.h:534: error: previous declaration of 'bootp_data' was here
main.c:59: error: static declaration of 'end_of_rfc1533' follows non-static declaration
./etherboot.h:536: error: previous declaration of 'end_of_rfc1533' was here
main.c: In function 'udp_transmit':
main.c:231: warning: pointer targets in passing argument 1 of 'eth_transmit' differ in signedness
main.c:276: warning: pointer targets in passing argument 1 of 'eth_transmit' differ in signedness
main.c:290: warning: pointer targets in passing argument 1 of 'eth_transmit' differ in signedness
main.c: In function 'tftp':
main.c:462: warning: pointer targets in passing argument 1 of 'fnc' differ in signedness
main.c: In function 'rarp':
main.c:509: warning: pointer targets in passing argument 1 of 'eth_transmit' differ in signedness
main.c: In function 'udpchksum':
main.c:729: warning: dereferencing type-punned pointer will break strict-aliasing rules
main.c: In function 'await_reply':
main.c:893: warning: pointer targets in passing argument 1 of 'grub_memcmp' differ in signedness
main.c:895: warning: pointer targets in passing argument 1 of 'grub_memcmp' differ in signedness
main.c:925: warning: pointer targets in passing argument 1 of 'decode_rfc1533' differ in signedness
main.c: In function 'decode_rfc1533':
main.c:973: warning: pointer targets in passing argument 1 of 'grub_memcmp' differ in signedness
main.c:973: warning: pointer targets in passing argument 2 of 'grub_memcmp' differ in signedness
main.c:984: warning: pointer targets in passing argument 1 of 'grub_memcmp' differ in signedness
main.c:984: warning: pointer targets in passing argument 2 of 'grub_memcmp' differ in signedness
main.c:1057: warning: pointer targets in passing argument 1 of 'grub_memcmp' differ in signedness
main.c:1057: warning: pointer targets in passing argument 2 of 'grub_memcmp' differ in signedness
*** Error code 1

Stop in /usr/ports/sysutils/grub/work/grub-0.97/netboot.
*** Error code 1

Stop in /usr/ports/sysutils/grub/work/grub-0.97.
*** Error code 1

Stop in /usr/ports/sysutils/grub/work/grub-0.97.
Дальнейшее гугление привело к струганию следующего патча

Код: Выделить всё

#cat ../../patch_me
--- work/grub-0.97.orig/netboot/main.c       2004-05-21 00:19:33.000000000 +0200
+++ work/grub-0.97/netboot/main.c    2007-07-20 02:31:28.000000000 +0200
@@ -54,9 +54,9 @@

 static int vendorext_isvalid;
 static unsigned long netmask;
-static struct bootpd_t bootp_data;
+struct bootpd_t bootp_data;
 static unsigned long xid;
-static unsigned char *end_of_rfc1533 = NULL;
+unsigned char *end_of_rfc1533 = NULL;

 #ifndef        NO_DHCP_SUPPORT
 #endif /* NO_DHCP_SUPPORT */
Скармливаю патч:

Код: Выделить всё

 cd ../../
patch < patch_me
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|--- work/grub-0.97.orig/netboot/main.c       2004-05-21 00:19:33.000000000 +0200
|+++ work/grub-0.97/netboot/main.c    2007-07-20 02:31:28.000000000 +0200
--------------------------
Patching file work/grub-0.97/netboot/main.c using Plan A...
Hunk #1 succeeded at 54 with fuzz 2.
Hmm...  Ignoring the trailing garbage.
done
cd work/grub-0.97
снова пытаюсь собрать, получаю следующее^

Код: Выделить всё

In file included from timer.c:11:
timer.h:53: warning: no previous prototype for 'timer2_running'
timer.h:58: warning: no previous prototype for 'waiton_timer2'
make: don't know how to make %.o:. Stop
*** Error code 1

Stop in /usr/ports/sysutils/grub/work/grub-0.97.
*** Error code 1

Stop in /usr/ports/sysutils/grub/work/grub-0.97.
Есть еще у кого-то мысли?

Ось - FreeBSD 7.1-RELEASE-p7
на всякий случай gmake-3.81_3
больше ничего такого не стоит.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Ошыбка компиляции GRUB (pxegrub)

Непрочитанное сообщение hizel » 2009-09-28 14:19:57

загляните в дирикторию files/ , там полюбому патчи нужные для freebsd есть
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Orator
рядовой
Сообщения: 36
Зарегистрирован: 2008-07-16 11:21:58

Re: Ошыбка компиляции GRUB (pxegrub)

Непрочитанное сообщение Orator » 2009-09-28 14:59:17

hizel писал(а):загляните в дирикторию files/ , там полюбому патчи нужные для freebsd есть
там 3 патча

Код: Выделить всё

-rw-r--r--  1 root  wheel  33480 Dec  3  2004 patch-graphics
-rw-r--r--  1 root  wheel    857 Jul  9  2008 patch-grub-install
-rw-r--r--  1 root  wheel    274 Dec 12  2008 patch-lib-device.c
скормил все 3, толку ноль.

дело в том что по умолчанию, банальным make install clean
grub ставится без ошибок, и патчи автоматом эти накладываются.

Но при установке по умолчанию не компилируется pxegrub, а мне нужен именно он.
make config никакого выбора настроек не дает.

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Ошыбка компиляции GRUB (pxegrub)

Непрочитанное сообщение hizel » 2009-09-28 15:09:00

ну попробуйте добавить ваши опции в Makefile именно порта :-\
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Orator
рядовой
Сообщения: 36
Зарегистрирован: 2008-07-16 11:21:58

Re: Ошыбка компиляции GRUB (pxegrub)

Непрочитанное сообщение Orator » 2009-09-28 15:18:53

hizel писал(а):ну попробуйте добавить ваши опции в Makefile именно порта :-\
можно примерчик как именно,
понятно что редактировать /usr/ports/sysutils/grub/MakeFile,
но что именно и куда именно дописать.
Там я добавлял посредством
./configure --enable-diskless --enable-eepro100

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Ошыбка компиляции GRUB (pxegrub)

Непрочитанное сообщение hizel » 2009-09-28 15:22:46

Код: Выделить всё

CONFIGURE_ARGS+=        --libdir=${PREFIX}/share --enable-diskless --enable-eepro100
как то так :-)

...

опсля нет оно не собирается :-(
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.