this latest version of crossdev is broken due to avr-libc ebuild requiring an avr-gcc version being installed. crossdev now trys to emerge the cross-avr-libc-headers before gcc so it fails since gcc is not yet installed. Checking the logs produced it tells you to use "crossdev -t avr" to install the toolchain which was the exact command given in the first place. And so far trying to manually emerge cross-avr/gcc fails for different reasons for every version I've tried so far. Reproducible: Always Steps to Reproduce: 1.crossdev -t avr 2. 3. Actual Results: * Forcing the latest versions of {binutils,gcc}-config/gnuconfig ... [ ok ] * Log: /var/log/portage/cross-avr-binutils.log * Emerging cross-binutils ... [ ok ] * Log: /var/log/portage/cross-avr-avr-libc-headers.log * Emerging cross-avr-libc-headers ... * avr-libc failed :( * If you file a bug, please attach the following logfiles: * /var/log/portage/cross-avr-info.log * /var/log/portage/cross-avr-avr-libc-headers.log big_squirt portage # Expected Results: a crossdev toolchain installed this version of crossdev would only work if a toolchain was already installed.
Well a workaround for now is to edit /usr/bin/crossdev and change line 334 and change WITH_DEF_HEADERS="yes" to WITH_DEF_HEADERS="no" especially since vapier has now hardmasked all the cross-avr/gcc's that need the headers anyway.
Changing WITH_DEF_HEADERS leads me directly to bug #231098, still unresolved.
fixed in cvs http://sources.gentoo.org/dev-embedded/avr-libc/avr-libc-1.2.6.ebuild?r1=1.7&r2=1.8 http://sources.gentoo.org/dev-embedded/avr-libc/avr-libc-1.4.4.ebuild?r1=1.6&r2=1.7 http://sources.gentoo.org/dev-embedded/avr-libc/avr-libc-1.4.8.ebuild?r1=1.1&r2=1.2 http://sources.gentoo.org/dev-embedded/avr-libc/avr-libc-1.6.2.ebuild?r1=1.1&r2=1.2
It doesn't seems fixed to me for avr-libc: cat /var/log/portage/cross-avr-avr-libc-headers.log >>> Emerging (1 of 1) cross-avr/avr-libc-1.6.2 * avr-libc-1.6.2.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * avr-libc-manpages-1.6.2.tar.bz2 RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * Checking for avr-gcc ... [ !! ] * * Failed to locate 'avr-gcc' in $PATH. You can install an AVR toolchain using: * $ crossdev -t avr * * * ERROR: cross-avr/avr-libc-1.6.2 failed. * Call stack: * ebuild.sh, line 49: Called pkg_setup * avr-libc-1.6.2.ebuild, line 40: Called die * The specific snippet of code: * die "AVR toolchain not found" * The die message: * AVR toolchain not found * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/cross-avr:avr-libc-1.6.2:20081028-185317.log'. * The ebuild environment file is located at '/var/tmp/cross/avr/portage/cross-avr/avr-libc-1.6.2/temp/die.env'. * This ebuild is from an overlay: '/usr/local/overlays/portage/' * and it comes from: # $Header: /var/cvsroot/gentoo-x86/dev-embedded/avr-libc/avr-libc-1.6.2.ebuild,v 1.2 2008/10/27 06:57:47 vapier Exp $
I have the same problem and opened a new bug. It's bug 245004.
(In reply to comment #5) > I have the same problem and opened a new bug. It's bug 245004. If you have the same issue as this bug, and the fixes posted here don't work for you, then reopen this bug, not a new one! resync and see if the bug still exists.
*** Bug 245004 has been marked as a duplicate of this bug. ***
(In reply to comment #6) > (In reply to comment #5) > > I have the same problem and opened a new bug. It's bug 245004. > > If you have the same issue as this bug, and the fixes posted here don't work > for you, then reopen this bug, not a new one! I can NOT reopen this bug, because i'm not the reporter. So that's why i kind of have to report a new bug. Anyway: now the new one is marked as a duplicate, and this one is still closed. > resync and see if the bug still exists. i synced multiple times during the last days, no improvement. And changing WITH_DEF_HEADERS to "no" is just a workaround, for the time things don't work out of the box. It's a real sollution, so i really don't consider this bug as resolved fixed.
(In reply to comment #8) > I can NOT reopen this bug, because i'm not the reporter. Maybe this should be fixed in Gentoo bugzilla if you don't want duplicate bugs. > So that's why i kind of have to report a new bug. Anyway: now the new one is > marked as a duplicate, and this one is still closed. Please Mr. Dolbec or toolchain team reopen this bug. It is not fixed for at least two people here. > > resync and see if the bug still exists. > > i synced multiple times during the last days, no improvement. Same here. > And changing WITH_DEF_HEADERS to "no" is just a workaround, for the time things > don't work out of the box. It's a real sollution, so i really don't consider > this bug as resolved fixed. I agree, this is not fixed.
looks like no one ever added headers support to the avr-libc ebuild. someone should submit a patch.
(In reply to comment #10) > looks like no one ever added headers support to the avr-libc ebuild. someone > should submit a patch. I really need a working "crossdev -t avr" so i'll try my very best to do this job. Anyway: I need some point to start from, because i only have a very rough idea of what is needed. Is there some other libc for some other system that already implements some "headers only" logic?
the ebuild part doesnt matter terribly much. you have to figure out how to get avr-libc to only install headers and do so with out a cross-compiler. you figure out that part and i can do the magic glue to work it into crossdev
(In reply to comment #12) > the ebuild part doesnt matter terribly much. you have to figure out how to get > avr-libc to only install headers and do so with out a cross-compiler. > > you figure out that part and i can do the magic glue to work it into crossdev I asked the developers of avr-libc. Many on the devel-mailinglist argue, that avr-gcc doesn't need any libc headers and that the correct ordner of bootstrapping a avr toolchain is simply: - binutils - avr-gcc - avr-libc Knowing that, i could modify the avr-libc ebuild so that it installs nothing if crosscompile_opts_headers-only is enabled. Installing headers only in a clean way is very hard. I'm sure, the avr-libc people won't add support for that and modifying the automake/autoconf-stuff is a hard job. Actually, the Makefiles in the include subdir only do a little sed magic - nothing else, so it might be easier to do that by hand, but it might break with next release already. So what to do?
Following the advice of the avr-libc developers, i changed the ebuild of avr-libc to do basically NOTHING if crosscompile_opts_headers-only is enabled. Then, afterwards, i saw the "--without-headers" parameter of crossdev. So i also fixed the advice in avr-libc's ebuild to "please run crossdev --without-headers -t avr" instead of "please run crossdev -t avr". The parameter --without-headers should do the trick too, but i recommend to patch avr-libc's ebuild anyway, so that it does either: - nothing, when crosscompile_opts_headers-only is enabled - tell the user to run "crossdev --without-headers" is crosscompile_opts_headers-only is enabled I will attach two ebuilds.
Created attachment 170699 [details] avr-libc-1.6.2.ebuild ebuild that does nothing when crosscompile_opts_headers-only is enabled.
Created attachment 170701 [details] avr-libc-1.6.2-r1.ebuild ebuild that tells the user to run crossdev with --without-headers if crosscompile_opts_headers-only is enabled.
Just tested "crossdev --without-headers -S -s4 -t avr". Now, I even have an avr-g++. Sweet!
*** Bug 245619 has been marked as a duplicate of this bug. ***
It would be great to at least have a heads up on this when emerging avr-libc with crosscompile_opts_headers-only.
(In reply to comment #19) > It would be great to at least have a heads up on this when emerging avr-libc > with crosscompile_opts_headers-only. Use "crossdev --without-headers". That does the trick. Building an avr toolchain will never require some "headers only" step.
I had this trouble as well with: crossdev-0.9.18-r10 and cross-avr/avr-libc-1.6.2 Following the notes here I did: crossdev --without-headers -t avr And everything runs without a hitch. Thanks all for the info.
I had the same problem and now, with --without-headers parameter it's done ! Thanks !
set default to --without-headers for avr targets http://sources.gentoo.org/sys-devel/crossdev/files/crossdev?r1=1.109&r2=1.110
*** Bug 280118 has been marked as a duplicate of this bug. ***
*** Bug 277642 has been marked as a duplicate of this bug. ***
*** Bug 300356 has been marked as a duplicate of this bug. ***