LINUX.ORG.RU

Подготовка к 40-летию проекта GNU

 ,


1

3

27 сентября проекту GNU исполняется 40 лет! На странице юбилея опубликован календарь праздничных мероприятий, которые пройдут в швейцарском Биле (Biel/Bienne).

GNU — свободная операционная система, основанная Ричардом Столлманом, использующая в качестве ядра Linux, Libre-Linux, ядро GNU/Hurd (не доделано). Существует также проект Debian GNU/kFreeBSD с использованием ядра ОС FreeBSD.

Проект представляет из себя набор системных утилит и библиотек без которых представить работу современного Linux почти невозможно.

Это:

  • GCC (GNU Compiler Collection): gas, gcc, g++, gfortran, gnucobol, gccgo, gccrs и др. — компиляторы различных языков программирования;
  • GNU Bash — интерпретатор командной оболочки;
  • GNU Make — утилита сборки Makefile;
  • Glibc — стандартная библиотека языка Си;
  • GNU Net (бета) — анонимная компьютерная оверлейная сеть;
  • GNU Bison — библиотека для создания статических анализаторов по данному описанию грамматики;
  • GNU Autotools — набор утилит для автоматической конфигурации сборки программ из исходных текстов;
  • GNU PG — софт для шифрования;
  • GNU TLS — библиотека для шифрования;
  • GNU Emacs — отличнейший расширяемый текстовый редактор, написанный на Emacs Lisp;

и многое другое!

>>> Подробности

★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 6)

Ответ на: комментарий от Forum0888

Адрес MMIO регистра интерфейса fw-cfg в QEMU. По идее должна работать закоментированная выше строка, но в GCC она почему-то не работает, хотя работает в Clang. gFwCfgRegs задаётся тут: https://github.com/haiku/haiku/blob/master/src/system/boot/platform/riscv/fdt.cpp#L169.

Это код загрузчика ОС компилируемый в RAW бинарник.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)

Всегда готов!

J ★★★★
()
Ответ на: комментарий от Werenter

Всем кто празднует юбилей GNU эти проприетарные мерзости точно не нужны.

Polugnom ★★★★★
()
Ответ на: комментарий от X512

Извиняюсь, но сегодня решил в своих проектах, использование математических функций перевести на использование https://uclibc.org/ API.

Заодно с Си перевел часть функций на C++.

Работа не сложная, но трудоемкая.

Надеюсь завтра завтра процентов на 80 подрихтую проекты.

Проблему с gcc попытаюсь найти (как время появится).

Может быть вы уже нашли причину в чем проблема?

Forum0888
()
Ответ на: комментарий от mittorn

На сайте cmake есть бинарные сборки в формате tar.gz. Всегда ими пользовался на протухших дистрибутивах.

Reset ★★★★★
()
Ответ на: комментарий от Reset

экспортировать object library кажется возможно только с 3.10, pch с 3.12, соответственно заюзав это дело ты сломаешь совместимость со старыми дистрами

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

соответственно заюзав это дело ты сломаешь совместимость со старыми дистрами

Это не аргумент. Какое мне дело до старых дистрибутивов? Кому надо собрать скачают бинарный свежий cmake с сайта.

Reset ★★★★★
()
Ответ на: комментарий от Reset

Да, а ещё в сорцах есть скрипт бутстрапа, но это уже блин 3 мажорная версия, а он только начал устаканиваться. Кстати, новые фичи по работе со строками завозят и сейчас, а значит что ломка совместимости продолжится т.к их будут юзать

mittorn ★★★★★
()
Ответ на: комментарий от Reset

Система сборки не должна быть переусложнена настолько что нужна какая-то определённая версия. Её надо сразу написать, а не вкручивать фичи одну за другой

mittorn ★★★★★
()
Ответ на: комментарий от Forum0888

https://uclibc.org/ решил использовать для того, чтобы не было лишних зависимостей от стандартных библиотек.

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

Для кроссплатформенности проектов это очень удобно.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)
Ответ на: комментарий от mittorn

Да, а ещё в сорцах есть скрипт бутстрапа

Какое мне дело до того что есть в сорцах cmake? Я его не собираю. Где взять бинарный я уже сказал.

Система сборки не должна быть переусложнена настолько что нужна какая-то определённая версия.

передергивать не надо, не определенная, а >=

Её надо сразу написать

Ты когда программы пишешь, то пишешь сразу, а потом не обновляешь?

Я в итоге аргументов так не услышал.

Reset ★★★★★
()
Ответ на: комментарий от zx_gamer

реализация различных программ из проекта GNU позволила создать полностью свободную ОС.

«Настоящая» OS/360 вообще была докопирайтна. Кстати, проекту скоро 60

vM ★★
()

Предлагаю перечисление достижений и продуктов оформить в виде лозунгов Политбюро и ЦК Партии в очередному съезду! :)

gns ★★★★★
()
Ответ на: комментарий от Forum0888

Наконец то функции стали давать правильный результат (перевел часть API на C++).
Исходный текст был пригоден лишь для gcc, теперь можно использовать любой компилятор для C++.

Кстати https://uclibc.org/ это клад для обсуждения на ЛОР.
Алгоритмы весьма интересны.

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)
Ответ на: комментарий от Forum0888

перевел часть API на C++

Пишите «в стол» или где? :)

dataman ★★★★
()
Ответ на: комментарий от Original_1

Жду, когда кто-нибудь из модераторов окончательно бомбанёт и забанит меня.

Ты и сам замечательно справляешься.

Dimez ★★★★★
()
Ответ на: комментарий от zx_gamer

Это помогло многочисленным производителям клонов S/360 клонировать также OS/360, DOS/360, и прочее программное обеспечение, разработанное IBM для пользователей S/360, считать имеющимся.

https://www.cbttape.org/os360.htm http://www.ibiblio.org/jmaynard/

vM ★★
()
Ответ на: комментарий от Werenter

Я в треде выше упоминал что с make не так. Приходится костылями вывод gcc править чтобы dependency tracking работал и build dir отличался от src dir

mittorn ★★★★★
()
Ответ на: комментарий от Reset

Кривости CMake это не отменяет. Абсолютно нечитаемый синтаксис, так ещё и позволяющий легко выстрелить себе в ногу, низкое качество генераторов (как вам проект который генерится в мейкфайлы, но не в ниндзю?) и ворох встроенных модулей, которые зачастую кстати тоже не работают.

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

Хорошо ему документацию дописали, и то с подачки копрораций.

a1ba
()
Ответ на: комментарий от DrBrown

Зачем писать свою, когда есть адекватные инструменты? Просто CMake по своей убогости занял нишу мертвого Autotools.

a1ba
()
Ответ на: комментарий от a1ba

У cmake есть недостатки, но альтернатив особо нет. Я кстати вместо модулей cmake использую вызов pkg-config из cmake.

Reset ★★★★★
()
Ответ на: комментарий от a1ba

есть адекватные инструменты

Имя, сестра, имя! ©

DrBrown
()

Столлман классный дядька, вот только его стремление к отказу от приприетари типа Маков и Айфонов с Windows и CAD-системами мне не понятно. У нас, например, в школе были Аймаки с Garage Band, а мы даже делали лабы на бейсике и html (а что еще делать школоте) изучив Макось с ее user-friendly интерфейсом. До этого была «Электроника» с какими-то дикими двухпанельниками и играми вроде Load Runner’а на черно-белых мониторах, Интернет и Garage Band ясно что было не освоить) Да, Маки скорее всего были чем-то вроде гуманитарки, как ноги буша и глюкоза. Врядли их школа закупала за свои деньги. Линукс здесь при том, что на «Электронике» он бы не пошел.

anon1984
()
Последнее исправление: anon1984 (всего исправлений: 1)
Ответ на: комментарий от Reset

Альтернативы есть. Во многих проектах с Autotools на Meson переехали и довольны, как например в QEMU. Я свой проект с CMake на Waf перевёл, живу счастливо, кросс компиляция кстати тоже гораздо удобнее. :)

В реальности конечно с чем только дела не приходится иметь. И с проектами с PreMake, Soong и с голыми мейкфайлами, и Autotools, SCons выглядывают в каких-то легаси. И только в CMake постоянно происходит какая-то нечитаемая неотлаживаемая лапша, особенно стоит что-то большое поковырять типа LLVM :)

@DrBrown ^^^

a1ba
()
Последнее исправление: a1ba (всего исправлений: 1)
Ответ на: комментарий от DrBrown

Вот вот, возможно это хорошие штуки, но брезгую ими пользоваться из-за питона.

Reset ★★★★★
()
Ответ на: комментарий от a1ba

Хуже/лучше это ведь субъективная оценка, вот не нравится питон. А с системой сборки на питоне рано или поздно придется ковыряться в его кишках.

DrBrown
()
Ответ на: комментарий от DrBrown

Надо же, теперь мы дошли до субъективности! А ещё пару реплаев назад советовали жрать и не выделываться или писать своё самостоятельно. :)

рано или поздно придется ковыряться в его кишках

Строгой необходимости я ни разу не увидел. Мне наоборот всегда хотелось прикрутить что-то своё, чтобы упростить себе работу. И это я просто задрот, мне в кайф, даже когда пользовался CMake. Среднему кодеру это навряд ли нужно. Но при ближайшем рассмотрении в CMake такое задротство так же вызывает чтение либо исходников модулей, либо попыток сопоставить документацию с реальностью. Слава Селестии, в его C++ исходниках разбираться ни разу не приходилось.

@Reset у меня кстати вопрос так и остается. А что плохого? Я поделился чем CMake по моему мнению – отстой. И все кто его продвигают – либо необученные, либо необучаемые. :)

a1ba
()
Ответ на: комментарий от a1ba

советовали жрать и не выделываться или писать своё самостоятельно.

А теперь посоветую не выдавать свои домыслы за слова собеседника. Написать свою систему сборки я предложил после категоричного заявления, что делать надо сразу хорошо, в полном объёме и бесплатно.

И мы не дошли с субъективности, мы с нее и начали. Кому-то нравится cmake, кому-то qbs, третьим meson. Меня устраивает cmake и не обламывает для микроконтроллеров написать голый make, а кого-то это бесит.

DrBrown
()
Ответ на: комментарий от DrBrown

что делать надо сразу хорошо, в полном объёме и бесплатно

Но почему все остальные смогли сделать нормально, а эти нет?

a1ba
()
Ответ на: комментарий от zx_gamer

А вот и нет. По твоим ссылкам мнение GNU, а не автора проекта GnuTLS.

Хотя да, технически по первой ссылке ложь от GNU.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от DumLemming

Пока Сопляки писали на асме (каком асме? бейсике!) для спектрума, RMS писал на лиспе свой Emacs :)

zx_gamer ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.