My recent woes re having any IDE at all to do AVR development from/in has led me to do some tests with Bingos builds and NetBeans on GNU/Linux (Ubuntu 11.04 to be precise).
It seems I have successfully installed the pre-built .deb package of Bingos build (specifically avr-gcc-4.3.4-avrfreaks-30-jun-2010-u10.04.i386.deb as hosted by Cliff).
I have not tested this through, but I get the expected files if I test build some trivial "null app".
In /usr/local I see stuff that I do not really understand:
In /usr/local/avr/bin I find the toolchain with the names I recognize from e.g. WinAVR (they have the prefix "avr-"). These are the ones that work as expected.
In /usr/local/avr/avr/bin I find some parts of some toolchain (e.g "gcc" with no prefix). Not all files seen in the previous directory are present here, but those that are seem to be identical re timestamp and size. Still theses does not work for me. E.g.
/usr/local/avr/avr/bin/gcc -c main.c -o main.o
gives this error
gcc: error trying to exec 'cc1': execvp: No such file or directory
So, I could use the former directory you say?
Well, on to NetBeans.. It has a dialogue to set up a tool chain. In this dialogue you must start by supplying a "Base directory" in which NetBeans then tries to locate the components of a GNU tool chain. Problem is that
i) it seems it only finds e.g. "gcc". If I point to /usr/local/avr/avr/bin/ it detects the tool chain there (but that one won't work in NetBeans just as t didn't work in a terminal). If I point to /usr/local/avr/bin then it will not detect the tool chain.
ii) while one can re-point the individual tools, this must be relative to the "base directory" and must be in or below that.
So, I can not use /usr/local/avr/bin since I can not even specify that as a base directory (so I never get to the point where I would be able to tell NetBeans that e.g. gcc is rather named avr-gcc). And I can not use /usr/local/avr/avr/bin since the tool chain there seems to be dysfunctional in general.
My GNU/Linux skills in general are flaky to say the least. My understanding of the philosophy behind Unix/Linux organization of directories are even weaker (example: Why would a directory called "usr" contain subdirectories/files that are general rather than user specific?).
I hope you now have some picture of where I stand in the general Unix/Linux land, and in this specific issue.
While I can pose some specific questions, if you spot anything that might help me find my way through this I would be very grateful if you toss some explanation or suggestion in here:
Why are some of the tool chain files present in two different directories? And then, why not all?
Do you see any reason that NetBeans should assume that a GCC compiler always is named "gcc" (or is that just an "over-asumption" of the NetBeans folks)?
While the error I get says that cc1 can not be found, I can not see any cc1 being present in the tool set that actually works in a terminal - how can this be? (Yes, I know about gcc being a "driver" that runs cc1, cc2 and ld (or some such)...)
And now for the rant - if you'd like to help and can't stand my bad mood airings then stop reading here.
I am genuinely fed up with AS5's sluggishness, it's shakiness when going in and out of debugWire, and the inferior replacement for Visual Studios code navigation, autocomplete, refactoring etc. Right now, the only nice thing with AS5 is AnkhSVN.
While minor, it really pisses me off that I am told, with a very low-level technical message/error that there is no pre-build and post-build step in my project, or - if I lower the verbosity level of the build results to get rid of those I also lose the avr-size output.
And as reported elsewhere, I can no longer run AS4 (this is most likely/mainly a problem with my machine, not primarily AS4).
So I am between a rock and a hard place. I also feel that if an IDE gives the user of it little or no opportunity to tune it then it must really be stellar in how it does things and what it offers the user.
So out goes AS5 - hopefully, and I will instead try to get something limping forward with NetBeans. If I can build with NetBeans that would be the first step. Next, I could live with invoking AVRdude in some more or less clunky way for the time being for programming purposes. The crucial part is to see how far I can get with setting up an "OCD stack" which would be something like (bottom up): Dragon, AVaRICE, (...?...), NetBeans. JÃ¶rg has given me a glimpse of hope for this..
So, would that be an ultimate solution? No, but at the points where it is "clunky" I know where, how and why, and will have a reasonable opportunity to circumvent these in some way. AS5 is a close monolithinc POS (crap squared, if you like) and will not give me any such options for workarounds. I hate it when I'm forced into a corner..
Phew! That felt good..