The OpenNET Project / Index page

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

Проект Debian GNU/Linux планирует заменить GNU C Library на EGLIBC

06.05.2009 18:20

В состав веток "unstable" и "experimental" Debian GNU/Linux интегрирована поддержка системной библиотеки Embedded GLIBC (EGLIBC). В будущем разработчики планируют полностью заменить на eglibc стандартную библиотеку GNU C Library (GLIBC).

Библиотека eglibc разработана с целью использования на встраиваемых системах и отличается значительно более низкими системными требованиями, возможностью гибкой настройки компонентов, улучшенной поддержкой кросс-компиляции и кросс-тестирования. При этом библиотека полностью совместима с glibc как на бинарном уровне, так и на уровне исходных текстов. Из известных проектов использующих eglibc можно отметить OpenWrt.

Из достоинств библиотеки разработчики Debian отметили:

  • Более дружелюбное и открытое комьюнити разработчиков (glibc почти единолично развивает Red Hat);
  • Наличие стабильной ветки, в которую включаются исправления важных ошибок (версии glibc выходят редко, приходится поддерживать набор патчей своими силами);
  • Улучшенная поддержка архитектур встраиваемых систем;
  • Поддержка разных shell-интерпретаторов (glibc поддерживает только bash);
  • Поддержка сборки с флагом оптимизации "-Os" (вариант -O2 без увеличения размера кода);
  • Возможность гибкой настройки компонентов, позволяющая отключать определенные функции библиотеки (например, в инсталляторе debian нет необходимости поддержки NIS или RPC);
  • Улучшенный тестовый набор, позволяющий отлаживать оптимизированные и многоархитектурные пакеты.


  1. Главная ссылка к новости (http://blog.aurel32.net/?p=47...)
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/21615-glibc
Ключевые слова: glibc, debian, gcc, linux
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 18:43, 06/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    любопытно чем это кончится
     
  • 1.2, zibeR (?), 19:04, 06/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Новость стоило сформулировать так: редхатофобы захватили власть в дебиановском комьюнити и решили, что им нужен свой glibc, с блекджеком и шлюхами.

    Думаю, следующий шаг - полный отказ от поддержки ядра linux ;)

     
     
  • 2.3, Knuckles (ok), 19:21, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты будешь смеяться, но использование ядра Linux это и есть временная мера в системе GNU. До тех пор, пока не будет готово ядро Hurd ;)
     
     
  • 3.5, Homo sapiens (?), 19:24, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну когда же уже оно будет готово?
    Уже вон и L4 наподходе к стабильности а Hurd-a все нету и нету...
     
     
  • 4.11, User294 (??), 21:36, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Уже вон и L4 наподходе к стабильности а Hurd-a все нету и нету...

    Наверное когда я буду старым и выйду на пенсию - как раз поспеют, и то и другое :).ИМХО нету их поскольку реальная востребованность всего этого - невелика.Как бы ни было досадно эстетам.

     
  • 3.35, Ivan (??), 18:17, 08/05/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Увы и ах, лично мне очень жаль, но выглядит будто бы на Hurd (точнее Mach microkernel) давно и жирно забили все (включая сообщество) кроме Apple (как известо в основе MacOS X лежит BSD окружение и Mach микроядро).

    Ядро Linux постигла судьба архитекруры x86 - слишком много вложено в него монстрами индустрии, и слишком хорошо к нему уже все адаптировались чтобы взять и отправить его на свалку legacy технологий.

     
  • 3.44, Аноним (-), 13:34, 22/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Важная поправка - если оно будет лучше и затраты будут целесообразны переменам.

    На данном этапе, когда Linux уже давно и неплохо работает много где, а Hurd - всё только в мечтах, речь о том, что "вот-вот, уже-уже выйдёт Hurd и Linux сразу скинут" - наивны.

    Выбрасывать развитую экосистему, которая в некоторых областях уже де-факто стандарт ради какой-то там идеологии GNU или Ъ-шности Hurd никто не будет в здравом уме. Да и в нездравом тоже

     
  • 2.8, kolbusa (?), 20:05, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    советую почитать ссылки на багзилу -- дреппер ведет себя довольно странно
     
     
  • 3.10, asl (?), 21:04, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Вовсе нет. Это его типичная манера общения :)
     
  • 2.16, coroner (ok), 01:51, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    не HURDом единым:) а шлюхи и блекджек это ближе:)
    не хочу вызвать религиозную войну, но, все таки, своя рубашка к телу то ближе..а ее отсутствме предпологает способы заработка на нее.так что, realtime  приносить деньги будет, а linux desktop.
    ЗЫ: основные десктопы-дебиан, редхат, убунту(простимягосподи),у мандривы  даж книжку выиграл..
    как бы джаст фо фан не взывал бойцов на борьбу, но сочетание сервер(корпорейт)+десктоп(канешн корпорейт+гейм+спец(CAD,ERP,документооборот)) будет на уровне джаст фо фаном.причем  с рейтингом ниже лего
     

  • 1.4, yantux (??), 19:21, 06/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А что в этом плохого?
     
     
  • 2.6, Smile (??), 19:35, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    на сколько я понимаю это потенциальные проблемы совместимости.
     
     
  • 3.7, Гость (?), 19:41, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пока что их нет.
     
  • 3.17, seyko (ok), 03:59, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Точно... Программы, собранные для eglibc, не будут работать в системе с glibc. И наоборот. Даже сейчас не все программы, собранные для более ранних glibc, запускаются на системе с новой glibc. Справедливо по крайней мере для glibc 2.3.x 2.2.x Загрузчик начинает говорить, что не найден символ GLIBC_2 трали-вали (что-то похожее).

    В своё время пробовал заменить glibc на ulibc. Геморой. Куча программ не собирается или не запускается. Давно это было. Но думаю, что ситуация не изменилась. ulibc особо не развивается. Зато как кошки плодятся всякие новые klibc, eglibc. Для специализированного примения всякая годится. А так пока замены glibc не видно...

     
     
  • 4.22, Аноним (-), 10:29, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    К тексте новости русским по белому написано, что у eglibc совместимость с glibc и бинарная, и на уровне сорцов.

    ulibc (это ведь Вы так uclibc обозвали?) не имеет ни такой совместимости (полной), ни цели ее заиметь. Не говоря уж об узкоспециальной klibc.

     

  • 1.9, pavlinux (ok), 20:58, 06/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну если все стандарты, от K&R до C++0x будут, тогда пофиг.
     
     
  • 2.12, Онимус (?), 21:50, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну если все стандарты, от K&R до C++0x будут, тогда пофиг.

    Возможно неправ, но все же проясните, при чем тут стандарты на плюсы и сишная библиотека? =\

     
     
  • 3.13, pavlinux (ok), 23:14, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    А libstdc++ где живёт?

    Мне-то вапще пох... я С++ незнаю, и знать не хочу.

    Давеча, упалпадстол, после того, как g++ меня отшило со словами

    error: ISO C++ forbids initialization of member 'a'
    error: ISO C++ forbids in-class initialization of non-const static member 'a'
    error: ISO C++ forbids initialization of member 'b'
    error: making 'b' static
    error: ISO C++ forbids in-class initialization of non-const static member 'b


    на код

    typedef struct { int a = 0; int b = 0; } x;


    :)

     
     
  • 4.14, const86 (ok), 23:52, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > А libstdc++ где живёт?

    GCC.

    > typedef struct { int a = 0; int b = 0; } x;

    Неудивительно, что компилятор это не понял. Я вот тоже не могу понять, что бы это значило...

     
  • 4.19, zloy (??), 08:38, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Чушь какая-то. typedef задает синоним типа. Я даже не могу предположить, что ты хотел сделать :)
     
     
  • 5.28, Ptomaine (?), 18:37, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Да всё нормально. Так можно объявлять типы (кстати, такая манера объявления пришла в С++ из C).
     
  • 5.30, pavlinux (ok), 22:23, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Чушь какая-то. typedef задает синоним типа. Я даже не могу предположить, что
    >ты хотел сделать :)

    А что же тогда пишешь, если не фкуривашь...

    Смысла слеующая.
    Когда, в нужном месте, объявлю новую переменную типа (struct x), то она будет абнулёвана :)

    Cинонимы:

    struct SuperStuct { int a = 0; int b = 0; };
    typedef SuperStuct х;
    -----------------------------------------------
    struct { int a = 0; int b = 0; } SuperStuct;
    typedef SuperStuct х;
    -----------------------------------------------

    struct SuperStuct { int a; int b; } = {0, 0};
    typedef SuperStuct х;
    -----------------------------------------------

    struct SuperStuct { int a; int b; };

    myfunc() {

       struct x a = {0, 0};
       struct x a = {{0}};
    }

    Собственно причёсывал код, после "Писателей" - любителей memset();


    int a[10];
    memset(a, 0, sizeof(a);  :)

    Наверно тяжело было, просто

    int a[10] = {0};

    Таже фигня со структурами...


     
     
  • 6.33, soos (?), 16:49, 08/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    int a[10] = {0};

    странно... а если написать int a[10] = {5}; то всё пятёрками инициализируется или только первый элемент массива? привет от любителей memset()!

     
     
  • 7.34, pavlinux (ok), 17:59, 08/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >int a[10] = {0};
    >
    >странно... а если написать int a[10] = {5}; то всё пятёрками инициализируется
    >или только первый элемент массива? привет от любителей memset()!

    Не, так только первый, он же  нулевой - int a[0] = 5, остальные нули :)


     
     
  • 8.36, soos (?), 18:23, 08/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    вообщем, int a 10 0 полная чушь советую поставить на место memset там г... текст свёрнут, показать
     
     
  • 9.37, pavlinux (ok), 18:40, 08/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    int A int a 10 0 int B int b 10 memset b, 0, 10 gc... текст свёрнут, показать
     
     
  • 10.38, soos (?), 00:01, 09/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    спор окончен вы, товарищ, абсолютно неконструктивно брыжжете по сторонам слюной... текст свёрнут, показать
     
     
  • 11.39, pavlinux (ok), 01:13, 09/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, упал и от жался не конструктивно брызжете - пишется Где вы тут констру... текст свёрнут, показать
     
  • 10.41, Xaionaro (ok), 13:21, 15/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Начнём с того, что в memset надо было указать не 10 , а sizeof int 10 А про... текст свёрнут, показать
     
     
  • 11.42, Xaionaro (ok), 13:25, 15/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Если кто-то хочет убедиться лично, пусть сделает cat 124 gcc -S -o - -x c -O... текст свёрнут, показать
     
  • 4.29, Ptomaine (?), 18:49, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно компилятор выдаст ошибки. :)
    Кто тебе сказал, что инициализировать члены класса (структуры) можно прямо в месте объявления? Хотя можно, но они должны быть static и при этом const и ещё иметь тип целого числа (long, int, short, char). Почитай стандарт. В новой версии С++ будет возможна инициализация в месте объявления членов класса.

    Смешно, ты пишешь код неправильно и обижаешься, что компилятор тебя не понимает.
    Я тоже бы хотел, например, в языке D иметь возможность множественного наследования, но её там нет. Так что теперь, сопли с сахаром по этому поводу лить и говорить что этот язык дерьмо? Не смеши народ.

     
     
  • 5.31, pavlinux (ok), 22:31, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Смешно, ты пишешь код неправильно и обижаешься, что компилятор тебя не понимает.
    > Не смеши народ.

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

     
  • 3.15, const86 (ok), 23:55, 06/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >при чем тут стандарты на плюсы и сишная библиотека? =\

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

     

  • 1.18, Аноним (-), 04:12, 07/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    т.е. флеш, опера, неро & etc proprietary products под дебианом жить не будут.. будем мигрировать на шапку, или на что-нибудь другое тогда)
     
     
  • 2.23, ivan1986 (?), 10:43, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >т.е. флеш, опера, неро & etc proprietary products под дебианом жить не
    >будут.. будем мигрировать на шапку, или на что-нибудь другое тогда)

    Блин, ну написано же - бинарная совместимость, тоесть будут

     

  • 1.20, дАЛЬ (?), 09:59, 07/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Значит ли сие что это будет на убунте?

     
     
  • 2.25, Аноним (-), 13:53, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, бубунта же все пакеты из дебиана берет
     

  • 1.21, Tya (?), 10:06, 07/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    насколько я понял, мужики из glibc просто предложили не городить огород и вынести код для embedded devices в отдельную библу, вот и отпочковались.
     
     
  • 2.24, crick (ok), 10:49, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Коллеги, а на сайт eglibc никто сходить не пробовал? Суть проекта eglibc состоит в том, чтобы взять сорцы glibc, подправить make скрипты так, чтобы без надобности не собиралось все лишнее (типа NIS) и не возникало ошибок при кросс-компиляции и все! Т.е. eglibc по сути и есть glibc, только по-другому собранное!
     
     
  • 3.27, vitek (??), 14:19, 07/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    то-то я всё думал, чтобы это значило:
    >При этом библиотека полностью совместима с glibc ... на уровне исходных текстов.

    ? :-D

     

  • 1.32, Ivan (??), 16:01, 08/05/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А минусы по сравнению с glibc у неё есть?
     
     
  • 2.40, анонимус (??), 12:54, 15/03/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по посту выше, в ней не будет NIS
     

  • 1.43, Аноним (-), 16:08, 09/04/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Репозиторий EGlibC выдаёт какую-то позорную ошибку:
    svn: In directory 'eglibc-2.10\ports\sysdeps\m88k\m88100'
    svn: Can't open file 'eglibc-2.10\ports\sysdeps\m88k\m88100\.svn\tmp\text-base\add_n.s.svn-base': The system cannot find the file
    specified.
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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