не обновить busybox [solved]

уже дня три сразу на двух системах одна и та же ошибка:

Цитата:
~ # 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

Цитата:
~ # emerge -pv busybox
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild U ] sys-apps/busybox-1.4.1-r2 [1.2.2.1] USE="-debug -make-symlinks -savedconfig -static (-netboot%)" 0 kB

Total: 1 package (1 upgrade), Size of downloads: 0 kB

Цитата:
~ # emerge --info
Portage 2.1.2.2 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.5-r0, 2.6.18-gentoo-r6 i686)
=================================================================
System uname: 2.6.18-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 3.20GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Mon, 26 Mar 2007 07:50:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
dev-lang/python: 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.61
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.14
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.17-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=pentium2 -O2 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distcc distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.mirrors.easynews.com/linux/gentoo/ http://gentoo.cites.uiuc.edu/pub/gentoo/ http://gentoo.localhost.net.ar/ http://www.las.ic.unicamp.br/pub/gentoo/ http://gentoo.inode.at/ http://gd.tuwien.ac.at/opsys/linux/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://mirror.bih.net.ba/gentoo/ "
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="berkdb bitmap-fonts cli cracklib crypt dri fortran gdbm gpm iconv ipv6 isdnlog ldap libg++ midi ncurses nls nptl nptlonly pam pcre perl png ppds pppd python readline reflection samba session spl ssl tcpd truetype-fonts type1-fonts unicode winbind x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark ati chips cirrus cyrix dummy fbdev glint i128 i740 i810 imstt mga neomagic nsc nv rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

не думаю что эточем-то поможет, т.к. перестал он собирться у меня везде..
_________________
Eugeny Davidov [ED404-RIPE]

ап, блин! уже на

ап, блин!
уже на трех машинах та же фигня.
в чем дело?
неужели у всех нормально собирается sys-apps/busybox-1.4.1-r2
???

_________________
Eugeny Davidov [ED404-RIPE]

А что скажут

А что скажут товарищи:

emerge -pv --deep --newuse busybox
revdep-rebuild

?

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: помогло

easy_john написал(а):
помогло создать линк от i386-pc-linux-gnu-ar на i686-pc-linux-gnu-ar
и i686-pc-linux-strip.
все собралось. спасибо за подсказку.
_________________
Eugeny Davidov [ED404-RIPE]

такая же проблемма. не могу въехать с чего на чего линку создать. в gcc-config -l таких профилей нет. что делать?

ln -sf

ln -sf /usr/bin/i686-pc-linux-gnu-gcc /usr/bin/i386-pc-linux-gnu-gcc 
emerge python 
emerge -e system

Буквально пару дней назад на древнем ноуте так обновил 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'}`
т.е. емерджнул все пакеты кроме busybox и еще некоторых
emerge linux-headers module-init-tools ca-certificates net-tools hardened-sources
и обновил оставшиеся, и busybox собрался и мир обновился
мне показалось что он выпадал из-за того что какой то пакет был еще необновлен, во процессе пересборки мира

А у меня другой

А у меня другой вопрос: зачем он вообще нужен в "нормальной" системе? busybox ведь для минимальных/встраиваемых систем...

Пытался его удалить - при обновлении опять ставиться. Хотел отследить обратные зависимости - нету...

Как busybox удалить нормальными средствами из системы (кроме маскировки)?

он что тебе так

он что тебе так сильно мешает?

vadim ~ # dep -L busybox
sys-apps/busybox:
        SYSTEM PROFILE                       *sys-apps/busybox

Мешает... зачем

Мешает... зачем он нужен если ничем не используется? Как его из системного профиля удалить?

Он очень

Он очень пригодится, когда однажды весенним ясным днём после очередного веселенького апдейта система прикажет долго жить. а если кернелю сказать init=/bin/busybox, то система волшебным образом загружается и даже работает в достаточной для починки мере.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".