Audio "examples\Analysis\FFT\FFT.ino" Compile failure: ide 1.6 Beta6

Status
Not open for further replies.
Does Help > About show anything about Teensyduino?

Please try to leave the 1.6.0 copy as-is. Running tests on that with new jar files is probably the only way this problem is ever going to get figured out. I'm starting to suspect it's really a bug deep within Arduino, which only strikes on Windows in certain situations. The specific conditions to reproduce the problem might be fragile, so please try to hold on to that 1.6.0 copy and hopefully not change too much on that machine. I'll try to make another pair of jar files this afternoon.
 
Too Odd! I killed the dir that I copied from Explorer to the directory.

I did a ZIP extract of 1.0.6 this time and then ran TeensyDuino1.2 again on I:\Teensy1.0.6: Same Result.

I ran my 1.6 tree Arduino and uploaded Interrupt Blink and changed it and ran it again: Good

I re-ran the TeensyD install and still no list of boards to choose from. 1.0.6 w/1.20 install won't work for me? I wonder if the 1.0.6 has some fear of the I: drive, or some reliance on a registry pointer to another install on C:?

For 1.21 and 1.6 you moved the Teensy libraries into the Hardware tree I see. Under 1.20 they shared the libraries directory?
 
Won't do anything else - the 'guy' at PJRC told me these types of installs were harmless - just hoping to see 1.06 installation run - but I still can't get a list of Boards. That about just shows 'Teensy Loader 1.20' for 1.0.6 and in 1.6 'Teensy Loader 1.21-beta6, begin program'

And I still haven't tried the ZIP 1.6 on my two busted Win8 machines so they are probably in the same state.
 
Here's another pair of jar files. These will print info about the library paths much earlier in the scanning process.
 

Attachments

  • defragster_libconflict_test2.zip
    1.3 MB · Views: 124
Paul:
Since it is in the failure state ideally your debug jars will point to the problem. Here is what I just got I loaded as indicated below and in the quote is what was in the CMD window from the Forum past then OPENED FFT and saw the same:

View attachment Jar2SAM.txt

I:\Teensy16\arduino-1.6.0>cd ..

I:\Teensy16>arduino_debug.exe > Jar2SAM.txt
WARNING: library Audio claims to run on [sam] architecture(s) and may be incompa
tible with your current board which runs on [avr] architecture(s).

sketch_feb27a_post101_th25532.ino:26:17: fatal error: ADC.h: No such file or dir
ectory
compilation terminated.
Error compiling.
WARNING: library Audio claims to run on [sam] architecture(s) and may be incompa
tible with your current board which runs on [avr] architecture(s).

In file included from C:\Users\Tim\Documents\Arduino\libraries\Audio\src/Audio.h
:16:0,
from FFT.ino:14:
Error compiling.

I:\Teensy16>

Whatever broke #101 Forum post happened before today's updates to the thread and any known changes I made. I wasn't sure I tried that after doing the ZIP install so today I tried that and found it broken.

I say that because I now get this same recurring SAM.vs.AVR failure on the FFT sample that I know I saw working last night.

When I get time I'll repeat the 1.6 ZIP install on my Dev Win8.1x64 and see what comes up. And I can always redo the clean unzip 1.6 I did yesterday on this Win7 laptop.
 
Is there a place that harbors 'obj' type intermediate files that I could wipe to do a CLEAN build to get a full recompile?
 
Wow, Jar2SAM.txt shows your copy of Arduino is pulling some stuff from C: drive and some from I: drive.

I'll looking through the code right now, trying to figure out how that's even possible....
 
Maybe this will tell you something. I went to %Appdata%\local and found this file:

"C:\Users\Tim\AppData\Local\Temp\build3436861197138004568.tmp\buildprefs.txt"

View attachment p101_buildprefs.txt

Lots of stuff jumping back to my C: >> build.core.path = C:\Users\Tim\Documents\Arduino\hardware\teensy\avr\cores\teensy3
 
Ok, I see what's wrong.

C:\Users\Tim\Documents\Arduino is your "sketchbook folder". It's a place meant to hold all the data files you create with Arduino. It's also a place you can put stuff to customize Arduino.

Things have gone horribly wrong because your C:\Users\Tim\Documents\Arduino folder is also a complete copy of Arduino. You must have consciously decided to unzip the file there and name it that way, doing the same thing on all 3 machines?

Turns out, Arduino is getting very, very messed up by this. It's mistaking files that are a copy of Arduino you put there as files meant to customize other copies of Arduino you're running in other locations. It's utter chaos.

I've never seen this particular case come up before. Maybe the Arduino devs haven't either? Or maybe it has, but nobody's ever figured out what went wrong?

Ideally, the Arduino software should check to make sure the sketchbook folder is not actually a complete copy of Arduino itself. But it doesn't do this. I don't believe anyone has ever really thought about this particular situation.

Anyway, for your machines, all you should need to do is delete EVERYTHING inside C:\Users\Tim\Documents\Arduino, so it's just an empty folder. Then unzip a fresh copy of Arduino anywhere else. Whatever you do, DO NOT put an extracted copy of Arduino into Documents, named only "Arduino". Even if that seem like an obvious thing do it, it's a case that massively confuses the Arduino IDE. Documents/Arduino is suppose to be only for data files and never for a copy of the software.
 
Can you completely delete all Arduino stuff from your Documents folder.

Then reboot. With Windows, always reboot!

Then run the 1.6.0 installer and let it install to the default location. Do not move it to Documents.

Then run the Teensyduino installer, make sure it's installing to the new copy.

When you run the new copy, it should automatically create an empty Arduino folder in Documents. Whether you get that empty folder is a sign if things are working.
 
Actually, I should really figure out a way to detect if things are set up wrongly and make some sort of dialog box warn you.

More jar files....
 
Okay - I'll do that - I have gotten about a DOZEN of those directories all the way down to this file which is there again now after being deleted:

"C:\Users\Tim\Documents\Arduino\libraries\readme.txt"
 
Here's new jar files, which will add printing of Arduino's view of which directories you're really using.
 

Attachments

  • defragster_libconflict_test3.zip
    1.3 MB · Views: 111
Got them copied over. Going to reboot.

On the il9341 The LED pin needs the resistor to limit current from 3.3v? And the display needs over 3.3v - so running on a LiPo - if I cut the VUSB line - won't work?

[looks like 20 min wait to reboot as my DOC dir old Arduino moves out to c:\tmp]
going to run with what I have for now . . .
 
Last edited:
Yup, it's using I:\Teensy16 has your sketchbook location, but I:\Teensy16 has a complete copy of Arduino.

The software doesn't check for this situation, but it really should.
 
I manually told it to use i:\teensy16 - it came up without that.

It occurred to me that with all my Above Wiping (preferences from %appdata% for Arduino and Arduino15 etc) that I could retry my 1.0.6/TeensyD installation and indeed I can now PICK up all boards - including the TEENSY family! And compiling the FFT samples works with output of:
Opening Teensy Loader...
Binary sketch size: 93,948 bytes (of a 262,144 byte maximum)
Estimated memory use: 14,740 bytes (of a 65,536 byte maximum)

Just a flashback for comparison that looks like this in VERBOSE compile mode : View attachment FFT_TD120_ard106.txt

here goes the reboot. Did you record my note about Pin 17 on the 'cheat card' matching the board back silkscreen?
 
The "sketchbook" concept may not be explained very well....

It's a folder where all your work goes. It's meant for only the files you've written.

If you have many copies of Arduino on your computer, they all are supposed to read files from the sketchbook folder, and default saving files there. So the files you create are meant to be in the sketchbook folder.

A copy of the Arduino IDE is NEVER meant to be in the sketchbook folder. Normally, you should not need to chance the location of the sketchbook folder. It's meant to be your ongoing collection of stuff you've created. When you run Arduino 1.5.x or 1.6.0 or even the old 1.0.x copies, the File > Sketchbook menu is the stuff you've written. All copies of Arduino look there for your stuff.

They also allow you to put extra libraries and hardware files there.

This is the huge problem. In designing the ability to override stuff in the IDE by placing things into your sketchbook, it seem the Arduino devs didn't consider what would happen if you mistakenly set the sketchbook folder to a copy of the IDE. You're not ever supposed to do that. It's probably something noone has really considered.

But from all these weird problems, and the info in those logs, clearly what's going wrong here is you're setting the sketchbook folder to the location of a copy of the Arduino software. The software doesn't know how to deal with that. It doesn't, but really should disallow such a setting, or refuse to startup and give you a helpful error explaining why it can't run. But nobody's ever really considering this situation and understood the issue (or if they have, I'm not aware of it).

I filed this as a bug on Arduino's issue tracker.

https://github.com/arduino/Arduino/issues/2719

Eventually, the IDE really needs to be updated to prevent this misconfiguration and also detect it if it does somehow happen.

For now, you can recover by just making an empty folder, and use File > Preferences to set that to be your sketchbook. If you have files you've written, just copy their folders into the empty sketchbook folder.

Whatever you do, never select the location of a copy of the software with File > Preferences, and never extract a copy of the Arduino zip file into your sketchbook folder.

Once you get a clean sketchbook folder, I'm sure all these troubles will be solved.
 
Yup, this latest file has EXACTLY the same problem.

Code:
hardware path = I:\Teensy16\hardware
   sketchbook = I:\Teensy16
     platform = I:\Teensy16\hardware\teensy\avr

See, it's using I:\Teensy16 as your sketchbook. But that's the same folder it's running from.


You must create a clean sketchbook folder which does NOT contain a copy of the Arduino software.


Use File > Preference to configure Arduino to use the clean sketchbook folder.
 
Status
Not open for further replies.
Back
Top