busybox [solved]
всем привет!
сборка мира заваливается на пакете busybox, вот содержимое build.log
>>> Unpacking source...
>>> Unpacking busybox-1.6.1.tar.bz2 to /var/tmp/portage/sys-apps/busybox-1.6.1/work
* Applying busybox-1.6.0-bb.patch ... [ ok ]
* Could not locate user configfile, so we will save a default one
* # CONFIG_DMALLOC is not set
* # CONFIG_FEATURE_SUID_CONFIG is not set
* # CONFIG_BUILD_AT_ONCE is not set
* # CONFIG_BUILD_LIBBUSYBOX is not set
* CONFIG_FEATURE_SH_IS_ASH=y
* # CONFIG_FEATURE_SH_IS_NONE is not set
* # CONFIG_STATIC is not set
* # CONFIG_DEBUG is not set
* # CONFIG_SELINUX is not set
* # CONFIG_LOCALE_SUPPORT is not set
* # CONFIG_TFTP is not set
* # CONFIG_FTPGET is not set
* # CONFIG_FTPPUT is not set
* # CONFIG_IPCALC is not set
* # CONFIG_TFTP is not set
* # CONFIG_HUSH is not set
* # CONFIG_LASH is not set
* # CONFIG_MSH is not set
* # CONFIG_INETD is not set
* # CONFIG_DPKG is not set
* # CONFIG_RPM2CPIO is not set
* # CONFIG_RPM is not set
* # CONFIG_FOLD is not set
* # CONFIG_LOGNAME is not set
* # CONFIG_OD is not set
* # CONFIG_CRONTAB is not set
* # CONFIG_UUDECODE is not set
* # CONFIG_UUENCODE is not set
* # CONFIG_SULOGIN is not set
* # CONFIG_DC is not set
*
* # CONFIG_DEBUG_INIT is not set
* # CONFIG_DEBUG_CROND_OPTION is not set
* # CONFIG_FEATURE_UDHCP_DEBUG is not set
* # CONFIG_TASKSET is not set
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/sys-apps/busybox-1.6.1/work/busybox-1.6.1 ...
SPLIT include/autoconf.h -> include/config/*
GEN include/bbconfigopts.h
/var/tmp/portage/sys-apps/busybox-1.6.1/work/busybox-1.6.1/scripts/gcc-version.sh: line 11: i686-pc-linux-gnu-gcc: команда не найдена
HOSTCC applets/usage
GEN include/usage_compressed.h
CC applets/applets.o
/bin/sh: i686-pc-linux-gnu-gcc: команда не найдена
make[1]: *** [applets/applets.o] Ошибка 127
make: *** [applets] Ошибка 2
*
* ERROR: sys-apps/busybox-1.6.1 failed.
* Call stack:
* ebuild.sh, line 1695: Called dyn_compile
* ebuild.sh, line 1033: Called qa_call 'src_compile'
* ebuild.sh, line 44: Called src_compile
* busybox-1.6.1.ebuild, line 150: Called die
* The specific snippet of code:
* emake busybox || die "build failed"
* The die message:
* build failed
у кого есть какие соображения...
- Для комментирования войдите или зарегистрируйтесь
Ну так тут
Ну так тут что-то с компилятором. Под рутом делаете? Перевели ? Не находит команду компилятора.
так это понятно что с ним
если поглядеть в /var/tmp/portage/sys-apps/busybox-1.6.1/work/busybox-1.6.1/scripts/gcc-version.sh:
там задается переменная
compiler="$*"
и потом юзается, так вот я задается она тем самым i686-pc-linux-gnu-gcc ей передается ккакая то команда и она ее найти не может
и в итоге вываливается ошибка. вручную ставить через make make install не получается таже самая ошибка, даже если переменную явно обозначить как "gcc"
Может, с CHOST не
Может, с CHOST не то что-то? Недоделанное обновление CHOST или gcc, что-нибудь вроде того
(просто неквалифицированное предположение)
вобщем
вручную я вроде как его поставил через make make install,
а emerge -pv world все равно показывает мне устанволенную старую версию и предлагает обновиться до новой :-)
как мне можно обмануть портеджи?? :-)
Честно не знаю,
Честно не знаю, но вроде информация по пакетам есть в /var/db;
А вообще можно переписать ebuild , убрав от туда компиляцию и запустить ))
gcc
а может методом научного тыка
emerge gcc
я сейчас обновляю старый бук с 2005.0, собирал gcc. Так вроде при установке нужные переменные среды задаются.
Попробуй. Если просто лаг с ссылками, то он исчезнет.
научный тык помог
пересборка компилятора спасла отца русской демократии, но в чем косяк я так и не понял, система была собрана из третьего стеэйджа, и после emerge --sync'а просто пересобирался мир.... наверно вспышки на солнце...
Крайне не
Крайне не советую обманывать portage, но если очень хочется, то
пропиши в /etc/portage/profile/package.provided нужный пакет с указанием версии.
--
Программист - это, прежде всего, творческая личность и только потом - пьяная скотина ...
дело не в GCC
дело было не в GCC, а в каком то пакете, ситуация повторилась, и помогло только следующее
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 собрался, от какого пакета он зависит я не выяснял
Проблема в том,
Проблема в том, что в системе gcc лежит как, скажем i686-pc-linux-gnu-gcc-4.2.2, а при сборке busybox ищется i686-pc-linux-gnu-gcc... Достаточно сделать симлинк и все самым чудесным образом собирается... Причем об этом сказано в ошибке "/bin/sh: i686-pc-linux-gnu-gcc: команда не найдена"...
Спасибо и от меня
Та же проблема, сейчас попробую Ваш рецепт.