LINUX.ORG.RU

Ошибка при компиляции Glibc

 , ,


0

1

Debian 5.0 x86.

kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1$ fakeroot ./debian/rules binary
dh_testroot
Installing libc
rm -rf /1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/debian/tmp-libc
/usr/bin/make -C build-tree/i386-libc \
          install_root=/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/debian/tmp-libc install
make[1]: Entering directory `/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i386-libc'
LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; \
        /usr/bin/make -r PARALLELMFLAGS="" CVSOPTS="" -C /1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1 objdir=`pwd` install
make[1]: *** [install] Segmentation fault
make[1]: Leaving directory `/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i386-libc'
make: *** [/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/stamp-dir/install_libc] Error 2
★★★★★

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

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

Затем что Glibc 2.7 устарел. Я хотел сразу 2.20, но там ошибка при генерации локалей с помощью localedef, а чтобы обновить localedef, нужно обновить Glibc. Вот и обновляюсь на что-то посередине.

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

Она не запускает Steam, Google Chrome и Skype. К сожалению, я - потребитель, и назвать софт, который позволяет делать что-то полезное, а не только потреблять, я не могу. Например Bitwig Studio и Lightworks. А вообще я был бы счастлив, если бы проприетарщики все, как один, соблюдали стандарт LSB, и делали бинарники, совместимые и со старыми, и с новыми дистрибутивами Linux! Но они делают вразнобой, без общей схемы, кто как умеет.

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

Т.е. ты взял откуда то сырцы и компилишь? Не пробовал через fakeroot dpkg-buildpackage? Я про то, что можно взять с тестинга, к примеру, и скомпилить в пакет дебиана.

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

Ой, как-то так видимо:

cd /1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i386-libc
LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; gdb --args /usr/bin/make -r PARALLELMFLAGS="" CVSOPTS="" -C /1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1 objdir=`pwd` install
(gdb) run // Тут должно сегфолтнуться
(gdb) bt full // Выхлоп backtrace

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

Блин, gdb тоже сегфолтится. Даже без параметров! Несколько минут назад я распаковывал libgcc_s.so в /usr/lib64 (при линковке Multilib 64-битной сборки возникла ошибка -lgcc). Наверное, дело в этом. Сейчас удалю и перепробую.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от EXL
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i
386-libc$ gdb
Segmentation fault
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i
386-libc$ cd -
/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1$ cd /lib64
kanotix@Kanotix:/lib64$ sudo rm crt
crtbegin.o     crtbeginT.o    crtendS.o      crtprec32.o    crtprec80.o
crtbeginS.o    crtend.o       crtfastmath.o  crtprec64.o
kanotix@Kanotix:/lib64$ sudo rm crt*.o
kanotix@Kanotix:/lib64$ gdb
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
(gdb) q
kanotix@Kanotix:/lib64$

Вроде пофиксил.

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

Попытка выполнить gdb из этой директории выдаёт сегфолт. Размонтирвать и сделать fsck.ext4?

kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12$ cd glibc-2.12-2-gc4ccff1/
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1$ LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; gdb
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
(gdb) q
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1$ cd build-tree/i386-libc
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i
386-libc$ LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; gdb
Segmentation fault
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i
386-libc$
ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 3)
Ответ на: комментарий от EXL

Не работает, что ж такое-то :-( Перезагружаться и пробовать снова (это LiveCD), только тогда придётся установить много зависимостей, снова. И из /var/cache/apt/archives не возьмёшь, потому что таместь лимит, после которого старые файлы стираются.

Лол, даже ls не работает. В этом каталоге находится libc.so.6, наверное он почему-то хочет включиться. Да, я его перенёс в другой каталог, и команды начали работать.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 1)
Ответ на: комментарий от EXL
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i
386-libc$ touch libc.so
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i
386-libc$ touch libc.so.6
kanotix@Kanotix:/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i
386-libc$ ls
ls: error while loading shared libraries: libc.so.6: file too short
ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от EXL

Сборка пошла. Если будет создан DEB-пакет, проведу низкоуровневое перепаковывание.

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

Ага! Я бы думал что вследствие своей криворукости указал LD_LIBRARY_PATH, когда решал другие ошибки компиляции, если бы это не повторилось в других директориях:

make[1]: Entering directory `/1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1/build-tree/i386-xen'
LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; \
        /usr/bin/make -r PARALLELMFLAGS="" CVSOPTS="" -C /1/zenitur/kanotix/glibc/2.12/glibc-2.12-2-gc4ccff1 objdir=`pwd` install
/bin/sh: error while loading shared libraries: libc.so.6: ELF file OS ABI invalid

Перепаковываю по этой мануалке, раздел «Перепаковка пакета». dpkg-deb -x hello_2.5-1_i386.deb destdir для распаковки, и ar -qS test-1.0.deb debian-binary control.tar.gz data.tar.gz для упаковки.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от EXL
eglibc-source_glibc-2.12.1-0el6-149_all.deb
glibc-doc_glibc-2.12.1-0el6-149_all.deb
libc-bin_glibc-2.12.1-0el6-149_i386.deb
libc-dev-bin_glibc-2.12.1-0el6-149_i386.deb
libc6-amd64_glibc-2.12.1-0el6-149_i386.deb
libc6-dbg_glibc-2.12.1-0el6-149_i386.deb
libc6-dev-amd64_glibc-2.12.1-0el6-149_i386.deb
libc6-dev_glibc-2.12.1-0el6-149_i386.deb
libc6-pic_glibc-2.12.1-0el6-149_i386.deb
libc6-prof_glibc-2.12.1-0el6-149_i386.deb
libc6-xen_glibc-2.12.1-0el6-149_i386.deb
libc6_glibc-2.12.1-0el6-149_i386.deb
nscd_glibc-2.12.1-0el6-149_i386.deb

Готово! Спасибо.

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

Вот и выросло поколение, которое не может и представить, что бывает меньше гига памяти. И которое не знает что Linux «летает» там, где XP тормозит!

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

В шестом 2.11, а множество проприетарного софта желает 2.12 минимум - потому что это версия из Enterprise Linux 6. Поэтому я взял DEB-SRC, добавил патчи из SRPM для el6, и получилось здорово. Только версию неправильно указал - надо было не «glibc-2.12.1», а «2.12.1», из-за этого пришлось ещё раз пересобрать. Теперь всё норм, система работает, проги запустились :-) Следующий шаг - 2.15, необходимый для Steam!

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

touch libc.so

:D Так же нельзя делать, это пустышка а не library

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

Было бы всё так просто - на Raspberry Pi устанавливали бы последний Debian,и не заморачивались с Raspbian. У меня на целевом компе памяти меньше 1 Гб, поэтому Debian 8 не подходит.

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

У меня чуть ниже, 60 Мб с KDE3. Но я подозреваю что после обновления ядра, GLIBC и Xorg потребление незначительно вырастет.

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

+50 Мб ― да. Причина отката на старый дистр в том, что современные дистры сжирают гиг ещё при старте DE. Даже если какая-либо программа «тяжёлая», то пусть она и занимает всю память, а не дерётся за неё с DE! Паниковать я начал ещё в 2009, а в 2011 перешёл на Opensuse, в котором KDE3 до сих пор поддерживается. Но KDE3 на новом дистре неполноценен - апплеты Bluetooth и Network Manager не работают, галочки «не гасить монитор» и «запомнить пароль для текущей сессии» тоже не работают, а всплывающее окно «Вам монтировать флешку?» спрашивает про уже примонтированную флешку.

А ещё жручесть к памяти оказалась не только из-за DE - в Opensuse 11.4 90 Мб отожрано в режиме «init 3», а в SUSE 10.1 60 Мб вместе с DE. Поняв это, я и начал делать то, что делаю. Когда закончу, собираюсь выложить реп и образ LiveCD на LOR.

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

если уж так заморачиватся с ОЗУ тогда уж на тайловый WM нужно переходить.

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

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

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