Somewhere in your code you have a reference to something named "variable", possibly with the 'extern' keyword. The actual definition of that is however not seen anywhere.

For us to say more, you need to show us code. Reduce to the minimal that displays the problem and post here.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here.

No guarantees, but if we don't report problems they won't get much of a chance to be fixed! Details/discussions at link given just above.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

I try to build (as fairly new to Studio) and get only this, and three compilation warning for implicit declarations and no errors.

Show us the complete build output.

Do a Rebuild. Switch to the output tab. Mark everything. Copy and paste in a post here.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here.

No guarantees, but if we don't report problems they won't get much of a chance to be fixed! Details/discussions at link given just above.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Well, I'm not sure that the problem that getchxx has is "the same" as the OPs.

We can claim that it should have been a separate thread, but applying the "friendly 'freaks" approach I am interested in seeing the build output that getchxx has.

As for a separate thread, I leave this for the moderators to decide and possibly act upon.

My major critique would be with his vague/superficial problem description, while at the same time complaining about the error messages/diagnostics being vague... Someone here said just the other day "we don't do magic here". 100% applicable to #9.

@getchxx:

The "recipe" wording is a concept from Make, the utility that actually executes your build. A recipe is a description for how a certain target (the ultimate one, or an intermediate one) is to be built.

Re the mystery about Make and makefiles: Anything is mysterious that one does not study. You can either gradually get to know how a failed build manifestates itself or actually dive into how Make works (given a reasonable first ambition level it is actually not that hard). If you opt for the latter, then ask questions about Make in a separate new thread.

The reasons for not touching the make file is that (with default project settings) the makefile is generated as the very first step of the build. Therefore it is meaningless to change anything in the makefile since it will be overwritten upon the next build.

I am asking about the complete build output because with that we can, in many cases, determine what is wrong. We can not do that with sweeping and superficial descriptions of a failed build. Things like "some errors/warnings" does not leave much to go on. It might well be that the failure at the step where the ELF file is to be produced is a consequence of earlier errors or warnings in the build sequence.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here.

No guarantees, but if we don't report problems they won't get much of a chance to be fixed! Details/discussions at link given just above.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

short impass on; yes, I will produce an output. My major problem with generated glue, like the makefile is not the scripting itself, but the lack of information where you can read why and how it should look. Thus the learning curve is unappetizinig. Be back. Thanks for support.

With a fairly high degree of certainty there is no error in the makefile as such that Atmel Studio has generated (but knowing how to read a makefile can sometimes help hunt down an error elsewhere).

I will moderate my previous statements with this: If you want to prioritize what you want to learn then here is my rough advice:

1. The C (or C++) language itself. Fundamental for understanding a lot of error messages. This includes the idiosyncrasies of how GCC some error messages are formulated.

2. The different parts of the tool chain (compiler, linker and binutils (especially objcopy) and how they come together to make up the different steps of a build).

3. Learning, very much by experience, how to read diagnostic messages from the different links in the tool chain. What several of us here stress, or at least hint at, from time to time is to get used to switching to the Output tab and learn how to read the contents there. This is in contrast to merely looking at the Errors tab which often is not sufficient to correctly diagnose and understand what goes wrong in a build.

4. Learning, at some level, GNU Make.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here.

No guarantees, but if we don't report problems they won't get much of a chance to be fixed! Details/discussions at link given just above.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

A "recipe" in this context is the same as a recipe in the cooking context - it is a list of "ingredients" (your source files, etc) and operations to be performed with those ingredients in order to produce the result.

but the lack of information where you can read why and how it should look.

Unless there is a bug in AS7 you should never need to. In fact that is kind of the point of using IDEs - they write the Makefiles so you don't have to. All that is "hidden runes".

As others have said the one thing that IS misleading in AS7 is this insistence on switching to the "Error List" at the end of the build. It just gives some one line summaries of what has failed without giving any of the detail. Often it is useless/misleading. As others have said the true way to see what went wrong is to switch to the Output tab and read the complete output of the build. Look for "error". Especially the first one as often the first triggers the next 100! There is likely some error that causes one compilation or link to fail, that in turn stops the building of the "recipe" for the project and back over on the error list you are just told "recipe failed" with no explanation (the error that caused this may also be on that error list somewhere but the sort order does not appear to be chronological!).

The ONLY point I have ever found in the Error List (in Visual Studio not AS7) is when you are building a Solution with 100 projects. At the end of the build you are told "97 successfully built, 2 failed, 1 skipped". Trying to identify the 2 that failed in pages and pages of build output can be tricky. If you switch to the Error List and enable the column that gives the project names you can instantly see the names of the 2 that failed.

So far that is the only time I have ever found Microsoft's "Error List" useful.

(for AVR this is unlikely to occur - on the whole, in AS7 there tends to be only 1 project per solution. At a pinch I guess there may be 2 or 3 but spotting the failure in the Build Output is pretty easy usually)

the "Error List" ... just gives some one line summaries of what has failed without giving any of the detail

Worse than that, it re-orders messages so that things which need to be read together no longer come together!

Often it is useless/misleading.

Indeed.

Note that this is exactly the same in Eclipse - another for the "Pet Peeves" list ...

The ONLY point I have ever found in the Error List...

I actually find that the error list is useful for trivial errors - that is, the case where it really just needs to tell you "Error Here!" and you can see the problem immediately when you look at the line.

Otherwise, as you say, the 'Output' tab (or "Console" in Eclipse) is the place to go.

get only this, and three compilation warning for implicit declarations and no errors.

in combination with

gechxx wrote:

there is no main

So I switched over to Windoze and did a quick test. For a "null" project with no main I get this in the error list:

Conclusions and observations:

The claim from getchxx that there was only the "recipe failed" error and two warnings was probably not true.

Errors from the linker is not transformed nicely by Atmel Studio (IIRC we've discussed this before in ancient days). The actual build output contains a reasonably good error message. Atmel Studio should extract that "undefined reference to main". Perhaps it would also make sense to filter out the "recipe ... failed" error completely?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here.

No guarantees, but if we don't report problems they won't get much of a chance to be fixed! Details/discussions at link given just above.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Hi again and thanx for some good thinking. As to me claiming only one error Im not sure. Well from what I precieved to be compilation. Then I note that you have reveresed the sequence of the two events (up arrow) In the default the errors occur the other way around and I made the misstake (?) of interpreting those as time evolving in descending order.

NOW, i know that I should start a new discussion, but as usual I get stuck!! I see no button for making a new topic (!!? have I been blocked :) or only my usual fail ).

Well, this is it (yes very wrong place):

I want to study the timing on acivities in the simulator/simulation /debug. So I had expected one could step by clock cycle and then (have a) log the output on e.g. two pins (GPIO /TWI) and see what happens

in approximate (need not be exact) time with respect to clock (needent have flanks e.g. just if pin is on or off in clock sykle). Cannot see how/if that is possible.

Well I have done that before, but now I didnt get the "broniwh" button " Start a New Topic" !!!?? (btw using opera on w10 (not a favorit), as earlier Firefox on XP.....)(neighter the "mark all read", green one)

Ill retry, but if I have missed the button and find it now, I think I might consult a ...

What you need to realize is that there are two similar but separate sets of forum listings.

1) go to www.avrfreaks.net and you get "SUMMARY OF RECENT ACTIVITY FOR ALL AVR FREAKS FORUMS". This lists all activity in all AVRfreaks forums. The list can be "filtered" by using the drop-down box (but there's still a "SUMMARY OF RECENT ACTIVITY FOR ALL AVR FREAKS FORUMS" headline).

2) Go to https://www.avrfreaks.net/forum (you can do this by clicking the "FORUMS" link in the page head) and you get a list of available forums. From here you can select a list of activity in a specific forum deceptively similar to the filtered list in 1) above but this one has the "Mark all topics read" button, and the "Start a new topic" button (if you have the rights in that specific forum).

It's a mess. Get used to it.

It won't change as long as the current laws of the universe holds true.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here.

No guarantees, but if we don't report problems they won't get much of a chance to be fixed! Details/discussions at link given just above.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Come on awneil... Don't cut out half of what I wrote, quote that and then claim I was wrong.

Let me emphasise what you cut out:

JohanEkdahl wrote:

Go to https://www.avrfreaks.net/forum (you can do this by clicking the "FORUMS" link in the page head) and you get a list of available forums. From here you can select a list of activity in a specific forum [...]

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here.

No guarantees, but if we don't report problems they won't get much of a chance to be fixed! Details/discussions at link given just above.

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]