1

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.

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? – Ilia Nedoluzhko 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
1

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.

  • 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. – Ilia Nedoluzhko Apr 13 '16 at 22:38
  • I'll see what I can do. What kind of machine would you like me to test? – user86969 Apr 14 '16 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. – Ilia Nedoluzhko Apr 14 '16 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...) – user86969 Apr 15 '16 at 9:29
  • I think that's enough. Others will correct if otherwise. – Ilia Nedoluzhko Apr 15 '16 at 9:58
3

One reason you may be getting the "missing digest" error (as of 2016 in Gentoo, don't know if this was true in 2013) is that you're using the portage tree from git (thus, with thin manifests which don't contain digests for the ebuilds themselves) while the overlay used for crossdev does not allow that. If that's the case, adding thin-manifests = true to $overlay/metadata/layout.conf should be enough to fix the problem.

  • 1
    I feel like this should be the accepted answer. – Adrian Frühwirth Nov 20 '16 at 0:32
0

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 https://unix.stackexchange.com/ It's been too long for me to remember from the top of my mind.

  • 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. – Ilia Nedoluzhko 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
1

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

  • 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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