не обновить busybox [solved]
easy_john 26 марта, 2007 - 11:09
уже дня три сразу на двух системах одна и та же ошибка:
Цитата:
~ # emerge --usepkg --newuse --update --deep world
Calculating world dependencies... done!>>> Emerging (1 of 23) sys-apps/busybox-1.4.1-r2 to /
...skip...
Цитата:
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-apps/busybox-1.4.1-r2/work/busybox-1.4.1 ...
SPLIT include/autoconf.h -> include/config/*
GEN include/bbconfigopts.h
HOSTCC applets/usage
CC applets/busybox.o
LD archival/built-in.o
LD archival/libunarchive/built-in.o
/bin/sh: i686-pc-linux-gnu-ar: command not found
/bin/sh: i686-pc-linux-gnu-ar: command not found
make[1]: *** [archival/libunarchive/built-in.o] Error 127
make[1]: *** [archival/built-in.o] Error 127
make: *** [archival] Error 2
make: *** Waiting for unfinished jobs....
make: *** [archival/libunarchive] Error 2
GEN include/usage_compressed.h
CC applets/applets.o
LD applets/built-in.o!!! ERROR: sys-apps/busybox-1.4.1-r2 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 3318: Called src_compile
busybox-1.4.1-r2.ebuild, line 183: Called die!!! build failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-apps/busybox-1.4.1-r2/temp/build.log'.
»
- Для комментирования войдите или зарегистрируйтесь
emerge -pv busybox emerge
emerge -pv busybox
emerge --info
Quote:~ # emerge -pv
не думаю что эточем-то поможет, т.к. перестал он собирться у меня везде..
_________________
Eugeny Davidov [ED404-RIPE]
ап, блин! уже на
ап, блин!
уже на трех машинах та же фигня.
в чем дело?
неужели у всех нормально собирается sys-apps/busybox-1.4.1-r2
???
_________________
Eugeny Davidov [ED404-RIPE]
А что скажут
А что скажут товарищи:
?
P.S. у меня на 3х машинах собрался без проблем.
emerge busybox
При сборке busybox использует в качестве компилятора/архиватора не просто gcc и ar, а платформенно-зависимые $CHOST-gcc, $CHOST-ar и т.п. Обычно установка на x86 всего этого добра происходит со значением $CHOST="i386-pc-linux-gnu", и если потом поменять в make.conf CHOST, например, на "i686-pc-linux-gnu", имена платформенно-зависимого софта с названием платформы совпадать уже не будут.
Соответственно, нужно либо переименовать все /usr/bin/i386-pc-linux-gnu-* в /usr/bin/$CHOST-*, либо собирать busybox отдельно командой
CHOST="i386-pc-linux-gnu" emerge busybox
В общем, как-то так...
не помогло.
не помогло. другая ошибка:
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-apps/busybox-1.4.1-r2/work/busybox-1.4.1 ...
SPLIT include/autoconf.h -> include/config/*
GEN include/bbconfigopts.h
HOSTCC applets/usage
LD archival/built-in.o
CC archival/ar.o
CC applets/busybox.o
gcc-config error: Could not run/locate "i386-pc-linux-gnu-gcc"
make[1]: *** [archival/ar.o] Error 1
make: *** [archival] Error 2
make: *** Waiting for unfinished jobs....
gcc-config error: Could not run/locate "i386-pc-linux-gnu-gcc"
make[1]: *** [applets/busybox.o] Error 1
make: *** [applets] Error 2
!!! ERROR: sys-apps/busybox-1.4.1-r2 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 3319: Called src_compile
busybox-1.4.1-r2.ebuild, line 183: Called die
!!! build failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-apps/busybox-1.4.1-r2/temp/build.log'.
_________________
Eugeny Davidov [ED404-RIPE]
ну дык таким же
ну дык таким же нехитрым способом создай линк на гцц...
_________________
Вот такие пироги
помогло
помогло создать линк от i386-pc-linux-gnu-ar на i686-pc-linux-gnu-ar
и i686-pc-linux-strip.
все собралось. спасибо за подсказку.
_________________
Eugeny Davidov [ED404-RIPE]
если несложно
если несложно [РЕШЕНО] в тему добавь...
Re: помогло
такая же проблемма. не могу въехать с чего на чего линку создать. в gcc-config -l таких профилей нет. что делать?
ln -sf
Буквально пару дней назад на древнем ноуте так обновил i386 на i586
_________________
... чтобы понять рекурсию, нужно сперва понять рекурсию ...
сделал ln -sf
сделал
ln -sf /usr/bin/i686-pc-linux-gnu-gcc /usr/bin/i386-pc-linux-gnu-gcc
ln -sf /usr/bin/i686-pc-linux-gnu-gcc /usr/bin/i386-pc-linux-gnu-ar
emerge python
emerge -e system
доходит до busybox и вылезает такое:
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-apps/busybox-1.5.0/work/busybox-1.5.0 ...
SPLIT include/autoconf.h -> include/config/*
GEN include/bbconfigopts.h
HOSTCC applets/usage
GEN include/usage_compressed.h
CC applets/applets.o
CC applets/busybox.o
LD applets/built-in.o
LD archival/built-in.o
gcc-config error: i686-pc-linux-gnu-ar wrapper: Unable to determine executable.
CTARGET=i686-pc-linux-gnu
exec=ar
make[1]: *** [archival/built-in.o] Ошибка 1
make: *** [archival] Ошибка 2
!!! ERROR: sys-apps/busybox-1.5.0 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
ebuild.sh, line 44: Called src_compile
busybox-1.5.0.ebuild, line 167: Called die
!!! build failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/sys-apps/busybox-1.5.0/temp/build.log'.
тоже сталкивался
но обошел по другому
emerge `emerge -pev world |grep -v busybox |grep -v R |grep -v linux |grep -v module |grep -v net |grep -v hardened |grep -v ca |awk -F ] {'print $2'} |awk {'print $1'} |awk -F / {'print $2'} |awk -F - {'print $1'}`
emerge linux-headers module-init-tools ca-certificates net-tools hardened-sourcesт.е. емерджнул все пакеты кроме busybox и еще некоторых
и обновил оставшиеся, и busybox собрался и мир обновился
мне показалось что он выпадал из-за того что какой то пакет был еще необновлен, во процессе пересборки мира
А у меня другой
А у меня другой вопрос: зачем он вообще нужен в "нормальной" системе? busybox ведь для минимальных/встраиваемых систем...
Пытался его удалить - при обновлении опять ставиться. Хотел отследить обратные зависимости - нету...
Как busybox удалить нормальными средствами из системы (кроме маскировки)?
он что тебе так
он что тебе так сильно мешает?
Мешает... зачем
Мешает... зачем он нужен если ничем не используется? Как его из системного профиля удалить?
Он очень
Он очень пригодится, когда однажды весенним ясным днём после очередного веселенького апдейта система прикажет долго жить. а если кернелю сказать init=/bin/busybox, то система волшебным образом загружается и даже работает в достаточной для починки мере.