The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск GNU Mes 0.21, инструментария для самодостаточной сборки дистрибутивов

28.11.2019 07:50

Представлен выпуск инструментария GNU Mes 0.21, обеспечивающего процесс бутстрэппинга (bootstrap) для GCC. Инструментарий решает задачу верифицированной начальной сборки компилятора в дистрибутивах, разрывая цепочку цикличной пересборки (для сборки компилятора требуются исполняемые файлы уже собранного компилятора).

В GNU Mes предлагается самодостаточный (self-hosting) интерпретатор для языка Scheme, написанный на языке Си, и простейший компилятор для языка Си (MesCC), написанный на языке Scheme. Оба компонента взаимособираемы. Scheme-интерпретатор даёт возможность собрать Си-компилятор MesCC, который затем позволяет собрать урезанную версию компилятора TinyCC (tcc), возможностей которого уже достаточно для сборки GCC.

В новом выпуске появилась возможность частичного (Reduced Binary Seed) бутстрэппинга дистрибутива Guix с использованием командной оболочки Gash (Guile as Shell) вместо bash и Gash Core Utils вместо coreutils, grep, sed, gzip, make, awk и tar, используя только компоненты на языке Scheme. В новой версии также подготовлен пакет с Mes для Debian GNU/Linux.

В следующих выпусках ожидается появление поддержки бутстрэппинга для NixOS, возможность использования dietlibc и uClibc для бутстрэппинга GNU (bash, binutils, gcc, tar), поддержка архитектуры ARM, дистрибутива Debian и ядра GNU Hurd, возможность компиляции Mes.c с использованием M2-Planet.

  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Выпуск GNU Mes 0.19, инструментария для самодостаточной сборки дистрибутивов
  3. OpenNews: Связывание повторяемых сборок GNU Guix с архивом исходных текстов Software Heritage
  4. OpenNews: Доступен пакетный менеджер GNU Guix 1.0 и дистрибутив GuixSD на его основе
  5. OpenNews: Уязвимость в пакетном менеджере GNU Guix
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/51940-gnu
Ключевые слова: gnu, mes, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (41) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:31, 28/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Божественно! Не уверен, зачем это лично мне нужно, но внутренний перфекционист трепещет в восторге и жаждет создания самодостаточных дистрибутивов, таких, чтобы в случае пост-апокалипсиса все необходимые вещи, включая код и средства сборки, остались доступны и позволили развивать и распространять дистрибутив оффлайн-методами.
     
     
  • 2.5, Аноним (5), 10:22, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > жаждет создания самодостаточных дистрибутивов

    Горшочек не вари. Та хватит этих дистрибутивов делать

     
     
  • 3.33, Суп из потрошков (?), 15:27, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Но ведь когда-нибудь количество должно таки будет перейти в качество! Аккурат, после Апокалипсиса.
     
  • 2.9, Аноним (9), 10:59, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >чтобы в случае пост-апокалипсиса все необходимые вещи, включая код и средства сборки, остались доступны и позволили развивать и распространять дистрибутив оффлайн-методами

    Первый компилятор вручную компилировать на машинных кодах будешь? В случае апокалипсиса всегда будет дофига электроники, на которой можно будет запустить предсобранный компилятор.

     
     
  • 3.18, myhand (ok), 12:45, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В случае апокалипсиса всегда будет дофига электроники, на которой можно будет запустить предсобранный компилятор.

    Главное, чтобы кучно положили.  А то электроннике плохеет от близких ядерных взрывов.

     
     
  • 4.40, аноним3 (?), 08:49, 01/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    на лампе собирать будешь. она не боится электромагнитных афтершоков)) там и коды попроще будут))
     
  • 3.29, Аноним (29), 14:00, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    https://guix.gnu.org/blog/2019/guix-reduces-bootstrap-seed-by-50/
    >The stage0 project by Jeremiah Orians starts everything from ~512 bytes

    512 байт можно и на перфокартах.

     
     
  • 4.34, Урри (?), 17:14, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    .. и по памяти
     
  • 3.37, Ordu (ok), 19:24, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Первый компилятор вручную компилировать на машинных кодах будешь?

    Не, там же есть MesCC, ему достаточно лисп-машины (точнее схемашины), а такую лисп-машину вполне можно написать и в машинных кодах. Причём тебе не нужен даже компилятор лиспа, тебе будет достаточно иметь интерпретатор, который позволит тебе получить бинарь MesCC, а им уже скомпилять схему написанную на C.

     
  • 2.26, Аноним (26), 13:28, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Фраза собирать мир заиграла новыми красками.
     

  • 1.2, Ононимус (?), 09:33, 28/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    С каких пор компилятор написанный на C++  можно собрать компилятором C?
     
     
  • 2.3, Аноним (1), 09:39, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если я правильно понимаю, он собирает сам себя, то есть сначала собираешь старый GCC (с поддержкой С++), написанный на Си, потом его средствами собираешь более свежий GCC. Сейчас многие компиляторы так делают, называется self-hosted разработка (когда сам себе зависимость)
     
     
  • 3.4, омномном (?), 10:22, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что-то вроде guile->MesCC->gcc-2.95->gcc-3.x->gcc-4.85->gcc-6.x->gcc-8(или gcc-9)

    А там глядишь либо ишак издохнет, либо султан...

     
     
  • 4.11, Ононимус (?), 11:20, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Порой, ребята из ГНУ слишком перебарщивают с извращениями...
     
     
  • 5.13, Аноним (13), 12:01, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто сборки это буржуазно-капиталистическое извращение.
     
  • 5.17, Andrey Mitrofanov_N0 (??), 12:43, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >ребята из ГНУ слишком перебарщивают

    То ли! Дело!! Твои друзья,, Гейтс-Эпшейн 123!

     
  • 2.15, исчо_адын_гентушнег (?), 12:25, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    gcc он такой))0 сам 3 стадии бутсрапа при сборке умеет
     
     
  • 3.16, исчо_адын_гентушнег (?), 12:29, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    guile->MesCC->TinyCC-> gcc 1 stage (small C only)->gcc 2 stage ( full C + small C++) -> gcc3 stage( full C/C++ + other lang)->gcc3 stage from gcc3 stage( optimize compl. time)
     
     
  • 4.21, Аноним (21), 13:01, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Докер файл будет?
     
     
  • 5.25, Аноним (21), 13:24, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не собирается современным gcc

    [root@4bf84eb72a5e tinycc-master]# make
    gcc -o tcc.o -c tcc.c -DCONFIG_LDDIR="\"lib64\"" -DTCC_TARGET_X86_64       -DONE_SOURCE=0 -Wall -g -O2 -Wdeclaration-after-statement -fno-strict-aliasing -Wno-pointer-sign -Wno-sign-compare -Wno-unused-result -I.
    /bin/sh: /usr/bin/gcc: Permission denied
    make: *** [Makefile:187: tcc.o] Error 126

     
     
  • 6.28, Аноним (21), 13:43, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Missing dependencies: blood-elf M1 hex2
     
  • 6.35, Урри (?), 17:16, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    /bin/sh: /usr/bin/gcc: Permission denied

    Вы вообще читаете что постите?

     
     
  • 7.36, Аноним (36), 18:16, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Каралось бы, причём тут компилятор. Вот что за аноним пошёл.
     

  • 1.6, Аноним (6), 10:25, 28/11/2019 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –2 +/
     

     ....ответы скрыты (7)

  • 1.12, Аноним (12), 11:26, 28/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В GNU Mes предлагается самодостаточный (self-hosting) интерпретатор для языка Scheme, написанный на языке Си, и простейший компилятор для языка Си (MesCC), написанный на языке Scheme. Оба компонента взаимособираемы.

    Осталось собрать этой штуковиной операционку, скомпилировать в ней систему искусственного интеллекта и загрузить её поиском ответа на вопрос "что появилось раньше - Си или Схема?".

     
     
  • 2.20, Andrey Mitrofanov_N0 (??), 12:51, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >в ней систему искусственного
    > интеллекта и загрузить её поиском ответа на вопрос

    Такой большой, а в магхию веришь.

    >"что появилось раньше
    > - Си или Схема?".

    FORTRAN.  Учись читать википедию.  Там ещё много сказок!

     
     
  • 3.22, Аноним (12), 13:08, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В том мире, в котором будет существовать этот ИИ, неоткуда будет взяться сведениям о фортране. Но даже если он (или Алгол-60, или PL/1) там как-то появится, его компилятор будет написан на C, что исключает фортран из претендентов на звание первоначального языка и сводит вопрос к прежней формулировке - "C или Scheme".
     

  • 1.23, б.б. (?), 13:10, 28/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    вопрос что было раньше, курица или яйцо, решён. сначала был компилятор C
     
     
  • 2.24, Аноним (24), 13:16, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нет, интерпретатор Схемы :)
     
     
  • 3.30, Andrey Mitrofanov_N0 (??), 14:31, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нет, интерпретатор Схемы :)

    M-expressions на 13-ой странице _мануала_ Lisp 1.5 МакКарти !
    https://www.gnu.org/software/mes/manual/html_node/Introduction.html
    http://www.righto.com/2008/07/maxwells-equations-of-software-examined.html

     
  • 3.32, Andrey Mitrofanov_N0 (??), 14:40, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нет, интерпретатор Схемы :)

    :)))))
    "наспех сколотили на перле"....  когда сроки поджимали.
    https://xkcd.ru/224/
    https://www.xkcd.com/224/
    https://www.explainxkcd.com/wiki/index.php/224:_Lisp

     

  • 1.27, Crazy Alex (ok), 13:33, 28/11/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Мне мерещится, или классический путь предполагал старт с Форта, который и на машинных кодах написать не то чтобы сильно сложно?
     
     
  • 2.31, Andrey Mitrofanov_N0 (??), 14:35, 28/11/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Мне мерещится, или классический путь предполагал старт с Форта, который и на
    > машинных кодах написать не то чтобы сильно сложно?

    Пока вы там "предполагаете", юные академики уже GCC собирают.

     
     
  • 3.41, Unnamed (??), 09:37, 02/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Отвечу, потому что хочется поболтать трудно молчать.
    Почему не BF? Ну или лучше подойдёт урезанный tcl.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру