| View previous topic :: View next topic |
| Author |
Message |
shadowoperator n00b


Joined: 16 Mar 2006 Posts: 36
|
Posted: Sat May 19, 2007 1:46 pm Post subject: busybox (and other package) compile failures [SOLVED] |
|
|
I wasn't quite sure which subforum this should go in, so I put it here.
I did an
| Code: | | emerge -v --deep --update system |
This went along nicely until:
| Code: | >>> Emerging (7 of 36) sys-apps/busybox-1.4.2 to /
>>> Downloading 'ftp://gentoo.virginmedia.com/sites/gentoo/distfiles/busybox-1.4.2.tar.bz2'
--14:22:43-- ftp://gentoo.virginmedia.com/sites/gentoo/distfiles/busybox-1.4.2.tar.bz2
=> `/usr/portage/distfiles/busybox-1.4.2.tar.bz2'
Resolving gentoo.virginmedia.com... 194.117.143.72, 194.117.143.69, 194.117.143.70, ...
Connecting to gentoo.virginmedia.com|194.117.143.72|:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /sites/gentoo/distfiles ... done.
==> PASV ... done. ==> RETR busybox-1.4.2.tar.bz2 ... done.
Length: 1,509,690 (1.4M) (unauthoritative)
100%[=======================================================================================================>] 1,509,690 258.09K/s ETA 00:00
14:22:53 (234.68 KB/s) - `/usr/portage/distfiles/busybox-1.4.2.tar.bz2' saved [1509690]
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
* checking busybox-1.4.2.tar.bz2 ;-) ... [ ok ]
>>> Unpacking source...
>>> Unpacking busybox-1.4.2.tar.bz2 to /var/tmp/portage/sys-apps/busybox-1.4.2/work
* Applying bb.patch ... [ ok ]
* Applying selinux-link.patch ... [ ok ]
* # 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.4.2/work/busybox-1.4.2 ...
SPLIT include/autoconf.h -> include/config/*
GEN include/bbconfigopts.h
HOSTCC applets/usage
LD archival/built-in.o
/bin/sh: i686-pc-linux-gnu-ar: command not found
make[1]: *** [archival/built-in.o] Error 127
make: *** [archival] Error 2
make: *** Waiting for unfinished jobs....
CC applets/busybox.o
/bin/sh: i686-pc-linux-gnu-gcc: command not found
make[1]: *** [applets/busybox.o] Error 127
make[1]: *** Waiting for unfinished jobs....
make: *** [applets] Error 2
!!! ERROR: sys-apps/busybox-1.4.2 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_compile
ebuild.sh, line 971: Called qa_call 'src_compile'
environment, line 3333: Called src_compile
busybox-1.4.2.ebuild, line 168: 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.2/temp/build.log'.
|
I've been having this with various packages lately, 'boinc' being another example. Previously, I thought this was due to part of the system being compiled with one version of gcc (3.4.5) and subsequently trying to compile packages with a newer version of gcc (4.1.1). Long story short: I am now on a newly built system so this shouldn't be the case anymore. Yet...see above.
Any ideas?
Last edited by shadowoperator on Wed Jun 06, 2007 8:29 pm; edited 3 times in total |
|
| Back to top |
|
 |
John R. Graham Administrator


Joined: 08 Mar 2005 Posts: 4460 Location: Somewhere over Atlanta, Georgia
|
Posted: Sat May 19, 2007 3:40 pm Post subject: |
|
|
The utility that's not found, i686-pc-linux-gnu-ar, is part of the binutils package. Looks like your symlinks to some of the binutils packages have gotten messed up. You can try to re-establish the missing symlinks by hand (problematic if you don't know what they are) or just re-emerge binutils (the easiest solution).
Note that I didn't just happen to know what package i686-pc-linux-gnu-ar was part of. Here's the transcript of the investigation so you can know how to find what package a file belongs to in the future: | Code: | mercury ~ # which i686-pc-linux-gnu-ar
/usr/bin/i686-pc-linux-gnu-ar
mercury ~ # equery belongs /usr/bin/i686-pc-linux-gnu-ar
[ Searching for file(s) /usr/bin/i686-pc-linux-gnu-ar in *... ]
mercury ~ # | Hmmm. No hits. Probably a symlink, so follow the symlink to it's ultimate target: | Code: | mercury ~ # readlink -f /usr/bin/i686-pc-linux-gnu-ar
/usr/i686-pc-linux-gnu/binutils-bin/2.16.1/ar
mercury ~ # | Okay, so the, real file name is "/usr/i686-pc-linux-gnu/binutils-bin/2.16.1/ar". Use equery to find out what package it belongs to: | Code: | mercury ~ # equery belongs /usr/i686-pc-linux-gnu/binutils-bin/2.16.1/ar
[ Searching for file(s) /usr/i686-pc-linux-gnu/binutils-bin/2.16.1/ar in *... ]
sys-devel/binutils-2.16.1-r3 (/usr/i686-pc-linux-gnu/binutils-bin/2.16.1/ar)
mercury ~ # | Now I know it's part of binutils and I know the exact version of binutils that is installed.
This might be made harder because something is obviously missing. If I hadn't found some ar-like things rather quickly, I would have searched my path until I found likely candidates and then used "equery belongs" as above to find which package to rebuild.
Let me know how it goes.
- John |
|
| Back to top |
|
 |
shadowoperator n00b


Joined: 16 Mar 2006 Posts: 36
|
Posted: Sat May 19, 2007 5:38 pm Post subject: |
|
|
John,
I re-emerged binutils, then tried the 'system' update again. Busybox failed to compile with a similar, but different error. The first step ('which...') of your transcript didn't find anything, but I could see that it had to do with gcc, so I re-emerged gcc.
busybox compiled fine after this, the rest of the system update is currently underway. Looks like the problem might be solved for the time being, and, usefully, I have some idea of how to go about this with future similar problems.
Thanks! |
|
| Back to top |
|
 |
shadowoperator n00b


Joined: 16 Mar 2006 Posts: 36
|
Posted: Sun May 20, 2007 5:08 pm Post subject: |
|
|
Unfortunately I need to reopen this topic again.
I wanted to emerge rss-glx, which requires imagemagick. Fine. The problem being that imagemagick also fails to compile:
| Code: | p Magick.bs blib/arch/auto/Image/Magick/Magick.bs
chmod 644 blib/arch/auto/Image/Magick/Magick.bs
rm -f blib/arch/auto/Image/Magick/Magick.so
i486-pc-linux-gnu-gcc -L../magick/.libs -lMagick -shared -L/usr/local/lib Magic
k.o -o blib/arch/auto/Image/Magick/Magick.so \
-L/usr/lib -L/var/tmp/portage/media-gfx/imagemagick-6.3.3/work/ImageM
agick-6.3.3/PerlMagick/../magick/.libs -lMagick -lfreetype -lz -ltiff -lfreetype
-ljpeg -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lz -lpthread -lm -lpthread \
gcc-config error: Could not run/locate "i486-pc-linux-gnu-gcc"
make[1]: *** [blib/arch/auto/Image/Magick/Magick.so] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-gfx/imagemagick-6.3.3/work/Im
ageMagick-6.3.3/PerlMagick'
make: *** [all-perl] Error 2
!!! ERROR: media-gfx/imagemagick-6.3.3 failed.
Call stack:
ebuild.sh, line 1615: Called dyn_compile
ebuild.sh, line 972: Called qa_call 'src_compile'
ebuild.sh, line 44: Called src_compile
imagemagick-6.3.3.ebuild, line 86: Called die
!!! compile problem
!!! If you need support, post the topmost build error, and the call stack if rel
evant.
!!! A complete build log is located at '/var/tmp/portage/media-gfx/imagemagick-6
.3.3/temp/build.log'.
|
Following John's methodology, I start with the seeming culprit:
| Code: | | "Could not run/locate "i486-pc-linux-gnu-gcc" |
So I do :
| Code: | geonosis bosch # which i486-pc-linux-gnu-gcc
/usr/bin/i486-pc-linux-gnu-gcc |
Next:
| Code: | geonosis bosch # equery belongs /usr/bin/i486-pc-linux-gnu-gcc
[ Searching for file(s) /usr/bin/i486-pc-linux-gnu-gcc in *... ] |
No hits, so I try if it's a symlink:
| Code: | geonosis bosch # readlink -f /usr/bin/i486-pc-linux-gnu-gcc
/usr/bin/i486-pc-linux-gnu-gcc |
Hmmm.
| Code: | equery belongs /usr/bin/i486-pc-linux-gnu-gcc
[ Searching for file(s) /usr/bin/i486-pc-linux-gnu-gcc in *... ] |
Nothing.
Hmmm again. So I could emerge gcc again, but I think I did this recently.
Not sure whether this is useful info:
| Code: | geonosis bosch # gcc-config -c
i686-pc-linux-gnu-4.1.1
geonosis bosch # gcc-config -l
[1] i686-pc-linux-gnu-3.3.6
[2] i686-pc-linux-gnu-4.1.1 *
geonosis bosch # gcc-config -B
/usr/i686-pc-linux-gnu/gcc-bin/4.1.1
geonosis bosch # gcc-config -L
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1 |
I believe the relevant parts of make.conf to be in order as well:
| Code: | CFLAGS="-march=pentium4 -mtune=i686 -O2 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
AUTOCLEAN="yes" |
More generally, I am concerned as this seems to point to an intrinsic problem with my install (no?), although I built it just a few days ago - yet I run into these compile failures time and again.
Any help would be much appreciated. |
|
| Back to top |
|
 |
kardal n00b


Joined: 24 Dec 2003 Posts: 34 Location: Sykkylven, Norway
|
Posted: Fri Jun 01, 2007 4:57 am Post subject: |
|
|
I'm having the same problem.. And it's anoying. But when I get home (currently at work) I'm going to try an emerge -e system and the -e world.
Did you use the stage3-x86-2007.0 ? That's the one I used.
Edit: I have now rebuilt the binutils package, and done an emerge -e system. Everything works. Hopefully it can be helpfull for others.  _________________ What! I'm using a computer? |
|
| Back to top |
|
 |
fadef n00b

Joined: 22 May 2007 Posts: 1
|
Posted: Mon Jun 04, 2007 1:03 pm Post subject: same with me |
|
|
Jeah have the same problem as describes above.
Same solution.
emerge -e system
made it,
but there must be an easier way !
Is there one for the othere who will run into this problem? |
|
| Back to top |
|
 |
djdunn Guru


Joined: 26 Dec 2004 Posts: 517 Location: Under the moon and all the stars in the sky.
|
Posted: Mon Jun 04, 2007 1:43 pm Post subject: |
|
|
it sounds like you have a problem with parts of the toolchain being out of sync and or broken. there are many many ways this could happen, with similar but different errors, without knowing which parts of the toolchain or the dependencys that are effected by this the emerge -e system would bring the toolchain back into a proper sync not to be confused with emerge --sync _________________ Now, with penguins, (cuddly such), "contented" means it has either just gotten laid, or it's stuffed on herring. Take it from me, I'm an expert on penguins, those are really the only two options.
--Linus Torvalds |
|
| Back to top |
|
 |
shadowoperator n00b


Joined: 16 Mar 2006 Posts: 36
|
Posted: Wed Jun 06, 2007 8:29 pm Post subject: |
|
|
| emerge -e system did it for me as well. Be there an easier way or not, this worked...phew. Imagemagick now compiles. Thanks for the advice everyone. |
|
| Back to top |
|
 |
KWhat Guru


Joined: 04 Sep 2005 Posts: 510 Location: Los Angeles
|
Posted: Wed Jun 27, 2007 7:12 pm Post subject: |
|
|
This was due to a gcc update.
make sure your make.conf profile matchs `gcc-config -l`
emerge --sync
emerge -av binutils
and maybe the following if stuff is still not working
emerge -uavDN --newuse world |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|