Не собирается klibc-1.5.15-r1[РЕШЕНО]
Youshi 23 ноября, 2010 - 09:37
Пересобираю систему после перехода на gcc-4.5.1-r1.
Уперся в klibc. Помогите разобраться, чего ему не хватает.
Кусок вывода:
KLIBCCC usr/klibc/asprintf.o In file included from usr/klibc/../include/sys/types.h:15:0, from usr/klibc/../include/unistd.h:11, from usr/klibc/../include/stdio.h:11, from usr/klibc/vsnprintf.c:13: linux/include/linux/posix_types.h:47:29: фатальная ошибка: asm/posix_types.h: Нет такого файла или каталогаIn file included from usr/klibc/../include/sys/types.h:15:0, from usr/klibc/../include/unistd.h:11, from usr/klibc/../include/stdio.h:11, from usr/klibc/vsprintf.c:5: linux/include/linux/posix_types.h:47:29: фатальная ошибка: asm/posix_types.h: Нет такого файла или каталога Компиляция прервана.
Понятно, что не может найти asm/posix_types.h
и что его нет там, где он должен быть. В /var/tmp/portage/dev-libs/klibc-1.5.15-r1/work/klibc-1.5.15/linux/include/
присутствует только asm-generic/posix_types.h
UPD
# eix -I linux-headers [D] sys-kernel/linux-headers ... Installed versions: 2.6.36!b!s{tbz2}(20:20:46 22.11.2010) # eix -I sources [D] sys-kernel/tuxonice-sources ... Installed versions: 2.6.34-r6(2.6.34-r6)!b!s(07:15:13 24.10.2010)(symlink -build -deblob) 2.6.35-r5(2.6.35-r5)!b!s(19:35:56 23.10.2010)(symlink -build -deblob) 2.6.35-r6(2.6.35-r6)!b!s(19:10:20 25.10.2010)(symlink -build -deblob) 2.6.36(2.6.36)!b!s(22:40:52 27.10.2010)(symlink -build) 2.6.36-r1(2.6.36-r1)!b!s(18:32:55 18.11.2010)(symlink -build) # eselect kernel list Available kernel symlink targets: [1] linux-2.6.34-tuxonice-r6 [2] linux-2.6.35-tuxonice-r5 [3] linux-2.6.35-tuxonice-r6 [4] linux-2.6.36-tuxonice [5] linux-2.6.36-tuxonice-r1 *
UPD2
Проблема решена установкой klibc из git. Свежая версия нормально собралась с новым ядром.
»
- Для комментирования войдите или зарегистрируйтесь
Названный вами файл
Названный вами файл принадлежит пакету sys-kernel/linux-headers-2.6.36, попробуйте переустановить.
Я ♥ Gentoo & Funtoo
Я знаю об этом. И наличие
Я знаю об этом. И наличие нужного файла проверял. На всякий случай переустановил - результат тот же.
Судя по ebuild`у, klibc не использует заголовки sys-kernel/linux-headers. Отдельно распаковываются исходники ядра и заголовочные файлы берутся оттуда. И, ясно-понятно, нужного файла там нет. Отсюда и ошибка.
Так как же тогда заставить компилятор искать их в правильном месте?
Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!
Ядро не пробовали обновить до
Ядро не пробовали обновить до 2.6.36 ?
Ядро и так стоит 2.6.36 (но
Ядро и так стоит 2.6.36 (но загружено 2.6.34. это может быть причиной?),
/usr/src/linux
указывает в правильное место.Да... вот еще что упомянуть забыл. С некоторых пор klibc перестал собираться, т. к. в ebuild намертво вшита связь с ядром 2.6.26 - явно устаревшим. И собираться с такой вот "зависимостью" он отказывался.
Немного поразмыслив, решил это "недоразумение" поправить. Тогда стояло еще 2.6.34 ядро. Чуть изменил ebuild. И все нормально собралось с 34-м ядром.
Теперь обновил gcc и все. Не хочет собираться ни с 34, ни с 36.
Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!
Youshi написал(а): Да... вот
ыыы ))) klibc установлен... попробовал пересобрать...
>>> Emerging (1 of 1) dev-libs/klibc-1.5.15-r1 * klibc-1.5.15.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * linux-2.6.26.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * Package: dev-libs/klibc-1.5.15-r1 * Repository: gentoo * Maintainer: * USE: amd64 elibc_glibc kernel_linux multilib userland_GNU video_cards_nvidia >>> Unpacking source... >>> Unpacking linux-2.6.26.tar.bz2 to /var/tmp/portage/dev-libs/klibc-1.5.15-r1/work >>> Unpacking klibc-1.5.15.tar.bz2 to /var/tmp/portage/dev-libs/klibc-1.5.15-r1/work * Applying klibc-1.4.11-interp-flags.patch ... [ ok ] * Applying klibc-1.5-sigaction.patch ... [ ok ] * Applying klibc-1.5.11-klibcasmarch.patch ... [ ok ] * Applying klibc-1.5.7-strip-fix-dash-s.patch ... [ ok ] * Applying klibc-1.5.11-x86_64-io.h-return.diff ... [ ok ] >>> Source unpacked in /var/tmp/portage/dev-libs/klibc-1.5.15-r1/work >>> Compiling source in /var/tmp/portage/dev-libs/klibc-1.5.15-r1/work/klibc-1.5.15 ... make -j2 defconfig CC=gcc HOSTCC=x86_64-pc-linux-gnu-gcc Makefile:434: *** смешаны неявные и обычные правила. Останов. emake failed * ERROR: dev-libs/klibc-1.5.15-r1 failed: * No defconfig * * Call stack: * ebuild.sh, line 56: Called src_compile * environment, line 2417: Called die * The specific snippet of code: * emake ${defconfig} CC="${CC}" HOSTCC="${HOSTCC}" || die "No defconfig"; * * If you need support, post the output of 'emerge --info =dev-libs/klibc-1.5.15-r1', * the complete build log and the output of 'emerge -pqv =dev-libs/klibc-1.5.15-r1'. * The complete build log is located at '/var/log/portage/dev-libs:klibc-1.5.15-r1:20101123-074834.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-libs/klibc-1.5.15-r1/temp/environment'. * S: '/var/tmp/portage/dev-libs/klibc-1.5.15-r1/work/klibc-1.5.15' >>> Failed to emerge dev-libs/klibc-1.5.15-r1, Log file: >>> '/var/log/portage/dev-libs:klibc-1.5.15-r1:20101123-074834.log'
может просто пока отказаться от splashutils? ))
Да, да, да... такая же ошибка
Да, да, да... такая же ошибка была до того, как поправил ебилд под 2.6.34. :)
Потом оно успешно собралось...
У меня уже тоже возникала мысль отказаться. Страшного в общем-то ничего не произойдет :)
Удалю, пожалуй до поры, до времени. :)
Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!
Youshi написал(а): Да, да,
не, погодь... если уж собралось с исправленным ебилдом, то кидай его в оверлей и попробуй как работает splashutils ;) если все работает, то поправь ебилд на использование исходников текущего ядра (того, что по ссылке /usr/src/linux) и выкладывай на bugs.gentoo.org !!! пусть разработчики голову ломают ;)
^_^
Раз уж вы не страшитеся "чуть изменять ebuild" и использовать gcc-4.5.1, то пройдёмте до конца -
набросайте нужных файлов в нужные директории, и попробуйте ещё раз!
(если потребуется, воспользуйтесь http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=3&chap=6)
и наведите порядок с eix, а то эти [D] раздражают
а эта строка - это просто подпись
n0nado написал(а): Раз уж вы
n0nado, ССЗБ :)
Знаете, не страшусь :) EIX
Знаете, не страшусь :)
EIX вроде поправил. Всегда полагал, что для его корректной работы достаточно
eix-remote update
.Набросал, как Вы и советовали, файлов. И получил новую ошибку. И если до этого мне была более-менее понятна причина, то тут явно просматривается несовместимость версии ядра и klibc.
Что посоветуете?
Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!
попробуйте так
http://groups.google.com/group/linux.kernel/browse_thread/thread/6de65a3145007ae5?pli=1
а эта строка - это просто подпись
Если я правильно понял
Если я правильно понял написанное,
<sys/socket.h>
должен быть подключен раньше, чем заголовки ядра.Однако:
Вроде бы все верно?
Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!
а ты посмотри в
а ты посмотри в
usr/klibc/inet/inet_addr.c
А что я должен там
А что я должен там увидеть?
#include <arpa/inet.h>
arpa/inet.h:
#include <klibc/extern.h> #include <stdint.h> #include <sys/types.h> #include <netinet/in.h> #include <netinet/in6.h>
netinet/in.h:
#include <klibc/extern.h> #include <stdint.h> #include <endian.h> /* Must be included *before* <linux/in.h> */ #include <sys/socket.h> /* Must be included *before* <linux/in.h> */ #include <linux/in.h>
sys/socket.h:
#include <klibc/extern.h> #include <klibc/compiler.h> #include <klibc/sysconfig.h> #include <linux/socket.h> #if _KLIBC_HAS_ARCHSOCKET_H #include <klibc/archsocket.h>
linux/socket.h:
typedef unsigned short sa_family_t;
а только потом следует
#include <linux/in.h>
. Вроде бы тип sa_family_t определен... Чего ему надо?Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!
а ты уверен, что #include
а ты уверен, что
включает не
?
Нет. Не уверен. Но как это
Нет. Не уверен.
Но как это проверить?
Я не смог понять твой комментарий...
И по этому поводу решил подарить тебе запятую: ",". Используй её с умом!
.
ммм...
а эта строка - это просто подпись