LINUX.ORG.RU

Начат проект создания новой реализации libc

 ,


0

0

Стартовал проект libposix, нацеленный на создание написанной с нуля альтернативной кроссплатформенной реализации стандартной системной библиотеки libc.

Henrique Almeida, создатель библиотеки Libposix, поставил перед собой цель не зацикливаться на одной платформе и создать унифицированное для всех Unix систем решение, одновременно поддерживающее Linux, *BSD и прочие системы.

Задачами этого проекта являются:

  • Строгое соответствие стандарту POSIX 2008
  • Кросплатформеннность и использование во всех *nix-системах
  • Отсутствие поддержки чего-либо, что выходит за рамки POSIX 2008 (т.е. без поддержки расширений и устаревшего кода)
  • Ясность и документированность кода

Так же, как одну из задач, разработчики ставят «легкость поддержки», что является намеком на сложности, возникающие при взаимодействии с разработчиками libc. Проект уже предложен к развитию разработчикам Ubuntu.

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

★★★★★

Проверено: boombick ()

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

>Хм, если оно станет быстрее glibc

и счего бы оно станет быстрее? Медленне и унифицированнее, да. Быстре? Сомневаюсь.

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

libposix вроде самостоятельное решение и написанное с нуля =)

ЗЫ : Вот бы еще компиллер кроссплатформенный , написанный с нуля. Тогда уж точно все перестанут дрочить на gcc =)

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

> Вот бы еще компиллер кроссплатформенный , написанный с нуля. Тогда уж точно все перестанут дрочить на gcc =)

LLVM?

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

Отсутствие поддержки чего-либо, что выходит за рамки POSIX 2008 (т.е. без поддержки расширений и устаревшего кода)

Это действительно плюс. Вот ты интелу взять и разработать новую архитектуру с нуля . Забить на все устаревшие костыли

graynder
()

интересная тобличка в исходниках:
                       libposix   glibc   eglibc  uclibc   *BSD libc
1. cross platform          X        X       X       X
2. strict conformance      X
3. legacy code                      X       X       X          X
4. multi-standard support           X       X       X          X
5. extensions                       X       X       X          X
6. embedded targets                         X       X
7. ease of (cross)building X                X       X
8. support                 X                X       X          X

и лицензия:

libposix is available under the BSD license. The license is applied to
each source file in the project. The variant used is the two clause license,
which is commonly used in FreeBSD and NetBSD systems. The license template is available at:
http://www.opensource.org/licenses/bsd-license.php

:-)

hizel ★★★★★
()
Ответ на: комментарий от Sun-ch

> Как я понял, это попытка унификации libc, которая у всех нормальная кроме линакса.

Ты понял нееправильно. У линукса уже есть нормальная libc - это glibc.

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

>>Отсутствие поддержки чего-либо, что выходит за рамки POSIX 2008 (т.е. без поддержки расширений и устаревшего кода)

> Вот ты интелу взять и разработать новую архитектуру с нуля . Забить на все устаревшие костыли

И получится sparc или arm?

daemontux
()

Надеюсь API будет не такой тупорылый как раньше.

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

>LLVM основан на gcc Так не интересно

это как? оО
как они из GPL в LLVM Release License перелецензировались!?

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

что то я не вкуриваю, bsd libc почему не кросс-платформенная?
netbsd и freebsd не уступает линупсам по кол-ву поддерживаемых платформ
нипанятно :-\

hizel ★★★★★
()

одноим велосипедом станет больше :) Этот будет и шоссейником и кросс-кантри и BMX. Пущай пилят

azure ★★
()

благородные цели перед собой ставят товарищи. посмотрим, что из этого вырастет.

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

>под какой лицензией сырцы - вот что интересно, что то я на сайте на нашел :-(

Под правильной - BSD.

А то что не включать ничего лишнего - это он оптимист. Поддержка большинства систем будет лучше, если он будет поддерживать все системы, а 78.6% подмножество всех систем.

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

>да во всех известных дистрибутивах это glibc
На лоре как-то была новость, что дебиан собирается заменять glibc на eglibc. А если заменит дебиан, то заменят и производные дистрибутивы вроде убунту. Впрочем, eglibc не сильно отличается от обычного glibc как я понимаю.

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

>что то я не вкуриваю, bsd libc почему не кросс-платформенная?

мне показалось, что имеется в виду не аппаратная платформа (x86, arm, etc), а программная (Linux, BSD, SunOS).

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

>А, ну пусть бсдшники ей и пользуются.

~> rpm --info -qa | grep BSD | wc -l
196

застрелись.

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

>что то я не вкуриваю, bsd libc почему не кросс-платформенная?
>netbsd и freebsd не уступает линупсам по кол-ву поддерживаемых платформ


Платформа - это операционка.

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

>Вот ты интелу взять и разработать новую архитектуру с нуля . Забить на все устаревшие костыли

Уже было, man itanium, вот только амдэшники запилили его своей идиотской x86_64.

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

>одноим велосипедом станет больше :)

Вот именно - велосипедом. Лучше бы патчи для libc писал бы, если что-то не нравится. А то выйдет как всегда. Сначала заявляют, что нужно непременно написать с нуля свою, новую библиотеку "с преферансом и куртизанками". А заканчивается обычно это ничем. Просто пустое распыление усилий, вот и всё.

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

>> Вот ты интелу взять и разработать новую архитектуру с нуля . Забить на все устаревшие костыли

> Уже было, man itanium

man Epic_fail

> амдэшники запилили его своей идиотской x86_64.

Потому что никому нах не нужна навороченная архитектура, ни с чем не совестимая.

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

>А заканчивается обычно это ничем. Просто пустое распыление усилий, вот и всё.

А всем надо построиться за лидером и идти куда указала партия?

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

> LLVM основан на gcc Так не интересно

Бэкэнд? 0.o

Или Вы про llvm-gcc?

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

>man Epic_fail

Why?

>Потому что никому нах не нужна навороченная архитектура, ни с чем не совестимая.


Значит мы приходим к тому, что прогрессивные решения никому не нужны, а нужно обвешанное привычными свистелками и пертделками, хорошо знакомое говно на костылях и подпорках?

fat_angel ★★★★★
()

Я в последнее время начал крайне настороженно относиться ко всему, что сразу начинают "поддерживать" убунтушники.

По сайту складывается впечатление радостного изобретения велосипеда с квадратными колёсами, но под BSD лицензией. Напоминает переписывание бздшниками GNU coreutils, да так что бы ls другими цветами по умолчанию раскрашивал.

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

>Значит мы приходим к тому, что прогрессивные решения никому не нужны, а нужно обвешанное привычными свистелками и пертделками, хорошо знакомое говно на костылях и подпорках?

Называется "инерционность рынка".

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

Кто нить может сказать почему у glibc на сайте документация лежит от версии 2.8, хотя уже вышла версия 2.10? Где взять свежую доку? и Где взять полное описание posix в реализации под линукс (pthread и т.д.). Маны читать не удобно, в pdf есть или html?

Robotron
()

да это авгиевы конюшни

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

Нет, конечно. Но реализация POSIX API - очень большая задача. И если ты берёшься за реализацию такой задачи с ноля, но не предлагаешь никаких значительных конкурентных преимуществ по сравнению с другими проектами, то ты обречён на провал. А какой-то значительной цели, которая отличала бы его проект от других реализаций libc я не вижу.

Если взглянуть на таблицу, которую автор libposix приводит на сайте, то что он декларирует? Выбросить legacy code, extensions, multi-standard support? Так половина программ перестанет компилироваться, да и выброс возможностей сам по себе не является каким-то конкурентным преимуществом. На embedded targets он тоже не нацеливается. ease of (cross)building? Это, конечно, хорошо но по его же табличке eglibc и uclibc справляются с этой задачей. support? Вообще не ясно что имеется в виду. Вот разве что strict conformance в его таблице привлекает. Конформанс это хорошо. Но в glibc, например, уже реализовано подавляющее большинство системных вызовов POSIX, так он лучше написал бы патчи и реализовал бы недостающие вместо того чтобы реализовывать с ноля вообще всё.

petrucho
()

этой либе надо установить еще одну цель - спрыгнуть с соурсфоржа.

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

>Называется "инерционность рынка".
Хех, моя мизантропия всетаки не безпочвенна.

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

>что то я не вкуриваю, bsd libc почему не кросс-платформенная?
>netbsd и freebsd не уступает линупсам по кол-ву поддерживаемых платформ нипанятно :-\


Наверно, имеется в виду совместимость с различными ядрами, а не процессорами (;

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

>netbsd и freebsd не уступает линупсам по кол-ву поддерживаемых платформ нипанятно :-\

Давно уступает. FreeBSD никогда и не догоняла.

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

>Так и знал что оно будет либо BSD либо под любой из лицензий защищающей от форка.

BSD не защищает от форка.

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

>Уже было, man itanium, вот только амдэшники запилили его своей идиотской x86_64.

Она сама умерла.

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

>Значит мы приходим к тому, что прогрессивные решения никому не нужны, а нужно обвешанное привычными свистелками и пертделками, хорошо знакомое говно на костылях и подпорках?

Читай про то, как оно держало 32-битные приложения...

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