"error compiling" when uploading blinker

Hi Arduino-Community,

on an openSUSE 11.2-Platform I get an "error compiling" while trying to upload the Blinker-program. There is some pre-history which can be read under "Software-Troubleshooting-Arduino-IDE on openSUSE 11.2". Within this thread David told me how to get the board run under Suse 11.2. Everything (Installation, programstart) seemed to be OK, but with the first attempt to upload a program, this error is recorded. Maybe the author of the WInterrupts.c-file has an Idea of what is going wrong. David obviously doesn't have a solution to this problem, because on his Suse11.2 the error doesn't occur.

The whole error-message:

Error compiling
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c: In function 'attachInterrupt':
~/bin/arduino-IDE/arduino-0018/hardware/arduino/co
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c:91: error: (Each undeclared identifier is reported only once
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c:91: error: for each function it appears in.)
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c:91: error: 'INT0' undeclared (first use in this function)
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c:95: error: 'INT1' undeclared (first use in this function)
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c: In function 'detachInterrupt':
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c:135: error: 'EIMSK' undeclared (first use in this function)
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c:135: error: 'INT0' undeclared (first use in this function)
~/bin/arduino-IDE/arduino-0018/hardware/arduino/cores/arduino/WInterrupts.c:138: error: 'INT1' undeclared (first use in this function)

Thanks in advance, Rafa

Hi,
INT0 is defined in the avr-libc include files. This is not an error caused by the Arduino-IDE.

There is obviuosly something wrong with you installation of the gcc -avr compiler and the avr-libc, because the compiler doesn't have the avr-libc headers in the default include path.

I don't run Suse, but did your read this article?
http://www.arduino.cc/playground/Linux/OpenSUSE
If you reinstall the whole thing following the steps in the article does it work?

Eberhard

Hi Eberhard,

currently I didn't have the time to finish the installation. But in advance I can tell you: If you try to figure out the installation exactly according to Arduino Playground - OpenSUSE and furthermore according to /repositories/CrossToolchain:/avr - openSUSE Download step by step, there will be a lot of problems to be solved. It is a matter of fact, that the installation manual for Linux(Suse) , as described in the arduino-playground, does not work well (some version-missmatches).
I guess I have to find my own way to get the things run. When everything once works fine, I'll post a more detailled description of a (I hope) better installation-routine.

Thanks for your answer, Rafa

When everything once works fine, I'll post a more detailled description of a (I hope) better installation-routine.

That is how improvements get made. You could even register for a playground account, and update the playground.

Hi PaulS, Eberhard and the rest of the community,

the problems are solved, that means: My Arduino-Duemilanove is blinking with the 1/1-sec-cycle :slight_smile: YEEEAAAAAAAAAAAAAAAAAHHHHHHHHH
After all the problems I had to get it run, it's worth to be shouted out, - loud and with the shown BB-fist !!!!!

And here the promised step-by-step-installation-guide:

As I am an absolute Newbie and as I'm not sure if the installation will work on every SUSE11.2-System, I prefer to post it here, and not directly to the playground-site (as suggested by PaulS). If somebody is skilled enough to decide that this guide is worth to be posted as general-solution to the playground... don't hesitate to do so :slight_smile: As a beginner I can't take the responsibility..

Pre-Story: Before getting the system run according to the following way, I tried to install it step by step according to the written solution of the playground-site. From the beginning this way to me seemed a little bit confusing and in deed I run into various problems with version-mismatches, warnings and error-messages. Furthermore, due to his experiences, an other user (David) told me not to install "this or this version". So I really got confused as well as the entire software-system on my computer :-(. If somebody is interested in this odyssey: search for forum-software-troubleshooting-Arduino-IDE on openSUSE 11.2.

After performing the following steps, you at least should be able to start the arduino-program, connect it to an atmega328p-Duemilanove-Board by USB and upload the "Blinker-Program" on a 64-Bit openSUSE 11.2-System (intel-atom-dual-core). And this with only the standard-rxtx-mismatch-warning at program-start :slight_smile: (up to now, I couldn't solve this, but according to David's words: that doesn't matter, the system will work properly anyway)

OK, let's go:

Preparation: In order not to run once-more into mismatches, I first uninstalled all the libraries and programs which I later had to install again. I un-installed with yast: avr-libc, cross-avr-binutils, cross-avr-gcc, JRE and avrdude. I un-installed manually (deleted) the arduino-0018-IDE. At the end I had a virgin-like-system (according to the arduino-matter).

Step 0: Un-install everything as described above and add the following repository to Yast's repository management: http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11.2

Step 1: Install with Yast: avrdude 5.10-256.1-x86_64

Step 2: Install with Yast: avr-libc 1.6.8-2.2-x86_64 (AVR-Arduino-version), with this, cross-avr-binutils 2.19.51-11.26.2 and cross-avr-gcc44 4.4.1_20090817-2.3.1 will be installed automatically in order to resolve dependencies.

Step 3: Install with Yast: JRE: java-1_6_0-openjdk Version: 1.6.0.0_b16-5.10.1-x86_64

Step 4: Add symlinks as described at the playground-page from a terminal-command-line with: find /opt/cross/bin/ -iname "avr*" -exec ln -s -t /usr/local/bin/ {} ;

Step 5: Go to Search, choose the third offer in the list (rxtx-java-geo-version) and install it with the One-Click-Installation-Button

Step 6: Use the Yast-User-Group-Management and ensure, that the arduino-user (you, or a guest) is member of the dialout and the uucp-groups.

Step 7: Go to http://arduino.cc/en/Main/Software, select Linux 64-bit and download the arduino-0018. Unpack it to your ~/bin directory (so I did..)

Step 8: Connect the Board with the USB-Cable to the first USB-Port of your Computer (so I did..)

Step 9: Start the arduino-0018 from the command-line by typing: /~/bin/arduino

Step10: Select the tools-serial-menu: The /dev/ttyUSB0 should be checked and not be greyed out.

Step11: Load the Blinker-Program from the File-Examples-Digital-Menu

Step12: Push the upload-button. Now the Program should be uploaded and started. The Pin13-LED will blink within 1-1 Sec-Cycle.

Congratulations... if it works.. if not ... Mh: Ask the experts (but not me:-)

Happy greetings from good old Germany (Ludwigshafen), Rafa