Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to install AVR cross-compiler on my PC. Some time ago I have used crossdev -S avr to build one, but it doesn't work anymore. I get following:

Calculating dependencies   * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-9999.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.9.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.8.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.7.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.6.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.5.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.3.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.2.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.51.0.1.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.1.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.23.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.22.90.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.22.52.0.4.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.22-r1.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.21.1-r1.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.20.1-r1.ebuild'
 * Missing digest for '/var/lib/layman/calculate/cross-avr/binutils/binutils-2.19.1-r1.ebuild'
... done!

!!! All ebuilds that could satisfy "cross-avr/binutils" have been masked.
!!! One of the following masked packages is required to complete your request:
- cross-avr/binutils-9999::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.9::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.8::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.7::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.6::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.5::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.3::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.2::calculate (masked by: corruption)
- cross-avr/binutils-2.23.51.0.1::calculate (masked by: corruption)
- cross-avr/binutils-2.23.1::calculate (masked by: corruption)
- cross-avr/binutils-2.23::calculate (masked by: corruption)
- cross-avr/binutils-2.22.90::calculate (masked by: corruption)
- cross-avr/binutils-2.22.52.0.4::calculate (masked by: corruption)
- cross-avr/binutils-2.22-r1::calculate (masked by: corruption)
- cross-avr/binutils-2.21.1-r1::calculate (masked by: corruption)
- cross-avr/binutils-2.20.1-r1::calculate (masked by: corruption)
- cross-avr/binutils-2.19.1-r1::calculate (masked by: corruption)

Since all the packages are masked by corruption, it is not possible to unmask them common way; while manual manifest generation is considered to be bad practice.

share|improve this question

migrated from electronics.stackexchange.com Feb 19 '13 at 22:03

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

    
you mean avr-gcc? – vicatcu Feb 19 '13 at 3:25
    
yes, avr-gcc and all the stuff – xtreye Feb 19 '13 at 3:27
2  
These kind of messages are, amongst other things, the reason why I switched distributions couple years ago. Gentoo is brilliant for leaning Linux, but it can be a pain when you want things to just work (after installing updates). – jippie Feb 19 '13 at 8:53
    
@jippie, as person skilled in electroincs, could you please recommend good linux distribution for the HW/FW development? – xtreye Feb 19 '13 at 22:10
1  
Distributions are pretty much a personal thing to choose. In my opinion Gentoo is brilliant for learning all the ins and outs of GNU/Linux. I don't like Fedora and OpenSUSE because these are pretty much the test and play yard for RHEL and SLED. I personally am not fond of rpm-based package managers. I had couple bad experiences in the past, probably these are solved during the past 15 years but never really tried them again. I switched to Kubuntu because of the ease of its use and the KDE interface is a bit like the Windows interface that I'm familiar with. – jippie Feb 20 '13 at 7:05
up vote 1 down vote accepted

I don't know if you were able to fix your issue but here is, to anyone who's experiencing the same issue; as of Sep. 2, 2015 (portage date on my crossdev environment) the problem doesn't occur if you run the following command:

USE="-openmp -sanitize" crossdev -t avr -s4 -S --without-headers

The latter is an excerpt from Gentoo Arduino Wiki. Just be sure to edit /usr/avr/etc/portage/make.conf and set ACCEPT_KEYWORDS="avr" (I noticed "~ARCH" is always included even if you selected the stable branch).

EDIT: No more overlay needed for the AVR tool-chain nowadays.

EDIT: You might need to add a symbolic link to the ldscripts directory for AVR:

ln -s /usr/lib64/binutils/avr/2.24/ldscripts /usr/avr/lib/

otherwise gcc might give up with this error message:

/usr/libexec/gcc/avr/ld: cannot open linker script file ldscripts/avr4.xn: No such file or directory

This error is mentioned by the end of the wiki but I used a slight variation of the symbolic link, as is points to /usr/lib64/binutils/avr/2.24/ldscripts anyway.

After adding that symbolic link I could compile a sample code for the ATmega8L without any errors.

share|improve this answer
    
Unfoturnately (or may be not) that was the last straw for me to switch to more mainstream distro (openSUSE). However, if you can test this solution with one more machine, I beleive I can mark your answer as the best. – xtreye Apr 13 at 22:38
    
I'll see what I can do. What kind of machine would you like me to test? – Nasha Apr 14 at 14:13
    
I assume it does't matter as long as it won't be your machine or it's clone :) Just anything other than that. – xtreye Apr 14 at 21:31
    
I don't know if that counts but I've run the same instruction on my other Gentoo machine at home and it completed successfully. Portage only dates like 100 days ago there, no more. (Gentoo Linux is not legion around me...) – Nasha Apr 15 at 9:29
    
I think that's enough. Others will correct if otherwise. – xtreye Apr 15 at 9:58

Is this the link you're looking for (in an Obi-Wan-Kinobe voice): http://code.google.com/p/gentoo-avr-gcc/

share|improve this answer
    
Good try, but produces exactly the same output. – xtreye Feb 19 '13 at 5:11
    
you'd probably be better served on Gentoo mailing lists / forums – vicatcu Feb 19 '13 at 5:20
1  
@xtreye "Good try, but produces exactly the same output." the Obi-Wan-Kinobe voice or the compiler output? – Chetan Bhargava Feb 19 '13 at 5:37

This is the important message:

!!! All ebuilds that could satisfy "cross-avr/binutils" have been masked.

You can unmask one of the cross-avr/binutils packages, but they are all marked as corrupting something. Basically this means that when you compile the package it will not work anyway. Not sure in what way things get corrupted. How to unmask packages in Gentoo is pretty well explained in the Gentoo handbooks, and otherwise help can be found on http://unix.stackexchange.com/ It's been too long for me to remember from the top of my mind.

share|improve this answer
1  
First hit on DuckDuckGo.com: forums.gentoo.org/viewtopic-p-5501540.html – jippie Feb 19 '13 at 8:35
    
I've been using Gentoo for several years an surely know how to unmask packages. But since they are masked by corruption, the only way to proceed is to build manifest manually. An this is a bad practice. – xtreye Feb 19 '13 at 22:52
    
I wasn't aware of that, you should update your question to make it more specific. – jippie Feb 20 '13 at 7:06

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.