LINUX.ORG.RU

Альтернатива glibc


0

0

Доброго времени суток всем.

В очередной раз завис при make glibc. И тут возник вопрос: а может есть ей иная альтернатива, попроще ? кто-нибудь пробовал dietlibc, uClibc, Newlib (информация с wiki) ?


newlib - слабая документация, есть глюки интеграции с GCC если она не является основной libc системы

dietlibc - самая минимальная версия, проблемы с портабальностью, многое не собирается, для отдельных утилит пригодна, как замена - не годится

uClibc - вполне пригодна для embedded и небольших систем как основная libc, можно воспользоваться buildroot системой сборки или gentoo uclibc

есть еще

klibc - минимальная версия расчитаная на initrd и основные системные утилиты, как замена glibc не пригодна

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

Ubuntu кстати тоже, причем там Маттиас Клосе еще больше патчей сверху накидал

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

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

vga ★★
()

> В очередной раз завис при make glibc
Вам компилятор/ведро надо чинить а не искать обходные пути :)

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

Ну это да, если кто-то возьмется ее отвязать от андроида. В андроиде ЕМНИП с пользователями и сетью что-то намучено, файлов в /etc нет, какая-то разделяемая область памяти используется (это я по памяти с того блога, сам не смотрел).

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

ну ТС не возьмется, ему вообще чего бы собрать вообще для LFS...

buildroot пусть берет, на uClibc

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

>>Вам компилятор/ведро надо чинить а не искать обходные пути

Система Ubuntu 9.4 CC=«gcc -B/mnt/newhd/bin/gcc-4.4.3/bin» CFLAGS="-O2 -march=i686 -mtune=native"

bla-bla-bla/glibc-2.11.2/build ../configure --prefix= --with-headers=bla-bla/kernel-2.6.33/include --enable-kernel=2.6 -with-binutils=/mnt/newhd/bin/binutils-2.20.1/bin

/bin/awk -> /mnt/newhd/bin/gawk-3.1.7/gawk /bin/make -> /mnt/newhd/bin/make-3.81/bin/make

configure проходит make выдает ошибку: no rule to to make target «versions.all» needed by «abi-vershions.h»

IlyamI
() автор топика
Ответ на: комментарий от Sylvia

думаю топикстартеру будет проще начать с очень близких родственников glibc

и вообще самый труль libc из freebsd - всем известно :]

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

> configure проходит make выдает ошибку: no rule to to make target «versions.all» needed by «abi-vershions.h»
LFS собираешь? Может тут есть отвтет: http://www.linuxquestions.org/questions/linux-from-scratch-13/glibc-2-5-1-mak...

В очередной раз завис при make glibc.

Так и говорите что «Я завис», не вводите людей в заблуждение. (/me неуверенно оглянулся в поисках других заблужденцев)

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

mawk, gawk )
да, у меня тоже было такое, удалила mawk , поставила gawk
в убунту почему-то mawk как awk по умолчанию

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

У меня фс в lock на HDD уходила при интенсивной «бомбардировке»
при сборке LiveCD.
Слава Богам, был второй HDD и не поперло меня изобретать новые «кости» для OS. ))

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

Почему не работает gawk

Перед тем как собирать glibc я собрал gawk-3.1.7

./configure --prefix= make make install DESTDIR=/mnt/newhd/bin/gawk-3.1.7

затем ln -s /mnt/newhd/bin/gawk-3.1.7/bin/gawk /bin/awk

при сборке glibc ошибка no rule to to make target «versions.all» needed by «abi-vershions.h»

переделал gawk ./configure --prefix= make make install

теперь ошибка

In file included from ../sysdeps/unix/sysv/linux/syslog.c:10: ../misc/syslog.c: In function ‘__vsyslog_chk’: ../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to ‘syslog’: function body not available ../misc/syslog.c:155: sorry, unimplemented: called from here make[2]: *** [/mnt/hd/temp/glibc-2.11.2/build/misc/syslog.o] Error 1 make[2]: Leaving directory `/mnt/hd/temp/glibc-2.11.2/misc' make[1]: *** [misc/subdir_lib] Error 2 make[1]: Leaving directory `/mnt/hd/temp/glibc-2.11.2' make: *** [all] Error 2

IlyamI
() автор топика
Ответ на: комментарий от Gary

Часть мучений закончилась... появились новые проблемы

Последовательность действий:

установка glibc

../configure --prefix=/mnt/hd1 .......

создание пустого файла /mnt/hd1/etc/ld.so.conf

make make install

Окончание лога инсталяции:

test ! -x /mnt/hd1/temp/glibc-2.11.1/build/elf/ldconfig || LC_ALL=C LANGUAGE=C /mnt/hd1/temp/glibc-2.11.1/build/elf/ldconfig /mnt/hd1/lib /mnt/hd1/lib

make[1]: Leaving directory `/mnt/hd1/temp/glibc-2.11.1'

ubuntu@ubuntu:/mnt/hd1/temp/glibc-2.11.1/build$

Дальнейшие действия:

sudo chroot /mnt/hd1 /bin/bash

/bin/bash: error while loading shared libraries: libdl.so.2 (хотя она присутствует в /mnt/hd1/lib): cannot open shared object file: No such file or directory

ubuntu@ubuntu:/mnt/hd1/temp/glibc-2.11.1/build$

делаю так: добавляю в (пустой ?) файл ld.so.conf строчку '/lib' ldconfig -r /mnt/hd1 и перезагружаюсь

Ошибка при загрузке ядра: mounted filesystem ... freeing unused kernel memory.... 'init: error while loading shared libraries: libc.so.6 (такой файл тоже есть): cannot open shared o file: no such file or directory

IlyamI
() автор топика
Ответ на: комментарий от Fracta1L

uClibc - самостоятельная библиотека, и за счет того что ее файлы называются по-другому, она можетбыть установлена и в системе с (e)glibc

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

они не настолько заменяемы,
uClibc легче, но с ограниченными возможностями
glibc имеет полный возможный набор функций для всего чего угодно

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

для initramfs, наверное. хотя для этих целей есть klibc.

uju ★★
()

А как же libc из BSD?

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