LinuxForum.Fans
Тема

Glibc не выполняет make (LFS)

Автор: Xsana 16 сообщений 5750 просмотров
#186203

Добрый день всем жителям! собираю LFS 6.8 по родному английскому хэндбуку. столкнулась вот с такой проблемой:

собираю Glibc -

text
../glibc-2.13/configure --prefix=/tools \ --host=$LFS_TGT --build=$(../glibc-2.13/scripts/config.guess) \ --disable-profile --enable-add-ons \ --enable-kernel=2.6.22.5 --with-headers=/tools/include \ libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes

проходит без ошибок, но после выполнения команды make выдаёт:

text
sysdeps/unix/sysv /linux/sys/syscall.h:25:24: fatal error: asm/unistd.h: Нет такого файла или каталога compilation terminated. In file included from ./sysdeps/unix/sysdep.h:21:0, from ./sysdeps/unix/i386/sysdep.h:19, from sysdeps/unix/sysv/linux/i386/sysdep.h:25, from <stdin>:1:

make[1]: *** Нет правила для сборки цели `/mnt/lfs/sources/glibc-build/Versions.all', требуемой для `/mnt/lfs/sources/glibc-build/abi-versions.h'. Останов. make[1]: Выход из каталога `/mnt/lfs/sources/glibc-2.13' make: *** [all] Ошибка 2

решила скачать Glibc с родного зеркала. Удалила папки и исходник Glibc, скачала заново, но после выполнения (уже повторного):

text
case `uname -m` in i?86) echo «CFLAGS += -march=i486 -mtune=native» > configparms ;; esac

выдаёт —

text
bash: configparms: Отказано в доступе

kernel поставлен, заголовки скопированы в /tools/include

друзья. расскажите пожалуйста, где грабли, и как от них избавляться, буду очень благодарна!

#186217
Xsana написал:
case `uname -m` in i?86) echo «CFLAGS += -march=i486 -mtune=native» > configparms ;; esac

вы надеюсь не копипастили с такими кавычками?

Xsana написал:
bash: configparms: Отказано в доступе

смотрите ls -l configparms и id... скорей всего увидите очевидную нестыковку...

Xsana написал:
fatal error: asm/unistd.h: Нет такого файла или каталога compilation terminated.

проверьте сами, есть ли этот хедр в путях...

если проблема не решится сама, то пришпильте ссылочку на главу с которой сейчас возитесь... ЕМНИП glibc собирается там 2 или 3 раза...

ЗЫ: лучше показывть весь лог сборки...

#186248
Xsana написал:
case `uname -m` in i?86) echo «CFLAGS += -march=i486 -mtune=native» > configparms ;; esac
Xsana написал:
bash: configparms: Отказано в доступе

ещё-бы. Ибо
[console]# chmod +x configparms[/console]
а вообще было-бы здорово или:
1. думать, что эти команды означают
ИЛИ
2. поставить дистрибутив, где уже всё собрано (Slackware, Ubuntu, Mandriva... В терминальном случае - семёрочка).

#186249
text
../glibc-2.13/configure --prefix=/tools \
 --host=$LFS_TGT --build=$(../glibc-2.13/scripts/config.guess) \
 --disable-profile --enable-add-ons \
 --enable-kernel=2.6.22.5 --with-headers=/tools/include \ 
libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes

так надо. А не одной строкой.
хотя дело не в этом.

#186251
drBatty написал:
# chmod +x configparms

не... прочитайте команду... туда вывод сливается...
ЗЫ: вот так домохозяйки из соседней ветки и устанавливают вирусы...

drBatty написал:
думать, что эти команды означают

согласен

#186735

configparms в принципе отсутствует, следовательно никак проверить его (да и создать) у меня не получается.
оговорюсь, что систему переустановила и повторила в точности то, что делала всегда, но configparms первый раз не создаётся.
не знаю, имеет ли это значение, но изначально я не делала su - username (т.к. не делаю этого никогда, но возможно это является ошибкой)

#186736
Xsana написал:
кроме того обнаружила, что unistd.h находится не в asm, а в /usr/include, следовательно папка asm не создалась при работе с заголовками

он должен быть и там и там...

#186747
Fat-Zer написал:
не... прочитайте команду... туда вывод сливается...
Xsana написал:
configparms в принципе отсутствует, следовательно никак проверить его (да и создать) у меня не получается.

вот он так и создаётся у вас. Причём права получаются 0644. Их надо сменить на 0700.

Xsana, обязательно ставить LFS? В в каком месте сейчас? Хотя-бы дайте ссылку на вашу инструкцию, и укажите точное место, в котором проблема.

#186751

http://www.linuxfromscratch.org/lfs/view/stable/chapter05/glibc.html

ну собственно там:
[console]case `uname -m` in
i?86) echo "CFLAGS += -march=i486 -mtune=native" > configparms ;;
esac[/console]
и
[console]make && make install[/console]

собственно тогда странно, почему в tools он делает, а в usr не делает(((

#186752
Xsana написал:
собственно тогда странно, почему в tools он делает, а в usr не делает(((

ещё раз: ls -l /usr и id даст очевидный ответ

#186761

вот что выдал, с моей образованностью легче от полученной информации не стало:

text
ubuntu@ubuntu:/mnt/lfs$ ls -l /usr 
итого 0 
drwxr-xr-x   2 root root  220 2011-08-24 16:37 bin 
drwxr-xr-x   2 root root   92 2011-04-26 02:05 games 
drwxr-xr-x  41 root root 2887 2011-04-26 02:22 include 
drwxr-xr-x 209 root root  220 2011-08-24 16:37 lib 
drwxr-xr-x   3 root root   34 2011-04-26 02:04 lib64 
drwxr-xr-x  10 root root  135 2011-04-26 01:58 local 
drwxr-xr-x   2 root root  120 2011-08-24 15:35 sbin 
drwxr-xr-x 336 root root  120 2011-04-26 02:23 share 
drwxrwsr-x   4 root src    95 2011-04-26 02:15 src 
ubuntu@ubuntu:/mnt/lfs$ id 
uid=999(ubuntu) gid=999(ubuntu) группы=999(ubuntu),4(adm),20(dialout),24(cdrom),46(plugdev),112(lpadmin),120(admin),122(sambashare) 
ubuntu@ubuntu:/mnt/lfs$ ls -l tools 
итого 24 
drwxr-xr-x  2 root root 4096 2011-08-23 18:38 bin 
drwxr-xr-x  4 root root 4096 2011-08-23 17:40 i686-lfs-linux-gnu 
drwxr-xr-x 12 root root 4096 2011-08-23 19:10 include 
drwxr-xr-x  3 root root 4096 2011-08-23 18:38 lib 
drwxr-xr-x  3 root root 4096 2011-08-23 18:38 libexec 
drwxr-xr-x  5 root root 4096 2011-08-23 17:40 share 
ubuntu@ubuntu:/mnt/lfs$ id 
uid=999(ubuntu) gid=999(ubuntu) группы=999(ubuntu),4(adm),20(dialout),24(cdrom),46(plugdev),112(lpadmin),120(admin),122(sambashare) 
#186764

имел ввиду ls -al или -ld... но уверен, что там права такие же... раз не видите - не суть...
укажу конкретно:
права: drwxr-xr-x 2 root root
и ваши права: uid=999(ubuntu) gid=999(ubuntu)
ни о чём не говорит?
на /usr/src у вас тоже нет прав на запись, т.к. в группу src не включён пользователь.

#186767

ливСД убунтовский, перед каждой командой делаю sudo, так значит я рут, а не пользователь?

#186768
Xsana написал:
ливСД убунтовский, перед каждой командой делаю sudo, так значит я рут, а не пользователь?

/facepalm 100500 раз!
перенаправление потоков(>) не работает через sudo
или su -c и в кавычки команду
или sudo -s и в шеле вводите

#186772

стыдно, но я этого не знала, собственно "проблема" решилась.
поэтому хочу сказать большое спасибо за терпение и за решение моей "проблемы"
осталось только добить Glibc, и я закрою топик

#186774

на самом деле, sudo работает. Просто команда исполняется ВМЕСТЕ с sudo,а перенаправление отдельно.

Войдите или зарегистрируйтесь, чтобы ответить.