Автор Тема: grub 2.0 Сборка из исходников[РЕШЕНО]  (Прочитано 2852 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн demsi

  • Новичок форума
  • Topic Author
  • Сообщений: 9
grub 2.0 Сборка из исходников[РЕШЕНО]
« : 16 Февраль 2013, 18:59:21 »
Скачал последний grub из http://www.gnu.org/software/grub.
Все что требуется для сборки есть. Сверился с файлом INSTALL внутри архива.
Делаю все как там написано:
./configure
make
make install
Проблема в том что на этапе make. Выдаются такие ошибка:
cc1: warnings being treated as errors
grub_script.yy.c: In function 'yy_scan_bytes':
grub_script.yy.c:2296: error: comparison between signed and unsigned integer expressions
make[2]: *** [libgrubmods_a-grub_script.yy.o] ?????? 1
make[1]: *** [check-recursive] ?????? 1
make: *** [check] Ошибка 2
Разве могут быть ошибки в коде? Программисты из GNU не компилировали свой код ?
« Последнее редактирование: 17 Февраль 2013, 18:04:20 от demsi »
 


Оффлайн Olej

  • Старожил
  • ****
  • Сообщений: 521
Re: grub 2.0 Сборка из исходников
« Ответ #1 : 16 Февраль 2013, 21:23:43 »
Скачал последний grub из http://www.gnu.org/software/grub.
Все что требуется для сборки есть. Сверился с файлом INSTALL внутри архива.
Делаю все как там написано:
./configure
make
make install
Проблема в том что на этапе make. Выдаются такие ошибка:
cc1: warnings being treated as errors
grub_script.yy.c: In function 'yy_scan_bytes':
grub_script.yy.c:2296: error: comparison between signed and unsigned integer expressions
make[2]: *** [libgrubmods_a-grub_script.yy.o] ?????? 1
make[1]: *** [check-recursive] ?????? 1
make: *** [check] Ошибка 2
Разве могут быть ошибки в коде? Программисты из GNU не компилировали свой код ?
Могут  ;D ... хотя бы в зависимости от версии gcc (в Debian всегда дремуче отстающие версии).
У вас предупреждения трактуются как ошибки.
Опция -Wall в Makefile.
Уберите.
 

Оффлайн demsi

  • Новичок форума
  • Topic Author
  • Сообщений: 9
Re: grub 2.0 Сборка из исходников
« Ответ #2 : 17 Февраль 2013, 17:19:35 »
Опция -Wall в Makefile.
Странно, я думал опция -Wall выводит предупреждения, то есть сообщения Warning. Что не должно мешать компилированию.
А тут очевидно ошибка Error. Насколько я знаю (по своему опыту) если убрать опцию Wall то исчезнут предупреждения, а вот ошибки останутся.

А вот идея, с версией компилятора интересна. А точнее со стандартом, насколько я знаю написанное на стандарте ANSI C (89) может вполне компилироваться с ошибками стандартом C99. Хотя я не уверен. Ну попробую изменить Makefile и вставить опцию -std=c89.


Сообщение объединено: 17 Февраль 2013, 17:50:24
Проблема решена!
Расскажу по подробней:
Дело в том что я провожу опыты(если их можно так назвать), но дабы не засорять свою основную ОС. Я решил воспользоваться виртуализацией. Установил на виртуальную машину еще один Debian, чтобы не боясь последствий делать там что пожелаю. И вот при установке, там как вы помните дают вам выбрать что поставить. Графическую среду, ... что то там еще, и в конце галка по дефолту стоит на "Системные утилиты" вроде. И вот я как обычно убрал все галки. Ну потому что я не люблю лишний софт. Так как я не знаю что с ним идет, а все что мне нужно я ставлю вручную.

И вот по видимому я ошибался... Там для сборки программ из исходников, куча нужных пакетов, к сожалению я не знаю каких. Опытным путем выяснил, что там есть пакет m4 - Макропроцессор. Кстати его требовал configure груба. Я его естественно установил вручную. Я вообще много всего установил что требовал configure. Но все равно не получалось скомпилировать grub-2.00. Таже самая ошибка.

И вот я заново решил переустановить Debian на виртуальную машину, с единственным отличием. Как вы уже поняли я поставил галку на пункте "Системные утилиты". Снова скачал исходники груба, configure опять требовал много программ, такие как: bison , flex, gettext, libdevmapper-dev, fuse там еще что то. В общем на первый взгляд все также. Но когда я опять скомандовал make никаких ошибок не обнаружилось. Все скомпилировалось прекрасно.

Теперь логичный вопрос, какие пакеты входят в состав загадочной опции "Стандартные утилиты" ?
Я пока знаю, что там less,m4,nfs-common и видимо много других. Но факт в том что там несколько демонов которые мне не нужны, например nfs. Я его естественно удаляю сразу. Там еще вроде MTA демон, и службы ACPI. Но все равно хотелось бы знать список пакетов. А точнее каких пакетов мне не хватало для успешной компиляции grub.
« Последнее редактирование: 17 Февраль 2013, 17:50:24 от demsi »
 

Теги:
 

Не могу установить Grub Customizer

Автор Nikcry

Ответов: 5
Просмотров: 3868
Последний ответ 22 Апрель 2017, 07:17:26
от qupl
Как восстановить Grub после переустановки винды?

Автор Dexel

Ответов: 5
Просмотров: 1063
Последний ответ 01 Февраль 2018, 22:06:41
от Гусак Игорь
Grub

Автор leon

Ответов: 6
Просмотров: 1926
Последний ответ 26 Октябрь 2011, 20:09:59
от leon
grub rescue mode

Автор Galeups

Ответов: 12
Просмотров: 3846
Последний ответ 28 Январь 2014, 10:00:07
от Galeups
grub-install - не могу переустановить...

Автор redkino

Ответов: 3
Просмотров: 1019
Последний ответ 19 Февраль 2015, 05:26:58
от ihammers