Go Down

Topic: Error building library "SoftwareSerial" - Fedora10 (Read 3074 times) previous topic - next topic

zurz

Hello,
I'm working around this Arduino+Fedora installation and now I'm sad.
I've been installing all packets requested to be done and, when I start the arduino script it opens up with this message:

"Error building library "SoftwareSerial" "

My avr-gcc version is :

Configured with: ../gcc-4.3.3/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --with-system-zlib --enable-version-specific-runtime-libs
Thread model: single
gcc version 4.3.3 (GCC)

Java:
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Server VM (build 11.3-b02, mixed mode)

I'm working with arduino-0013 IDE
*****************************************************************
Forget that I'm pretty new to linux and arduino (even if I'm already working with arduino+processing on Xp without troubles) and if someone can help me solving this errrrorrr I'll be happy again to fight with Hardware and Software.

zurz

AlphaBeta

I suspect this could be a #include "WProgram.h" problem again.

Why not use Arduino-0015? :)

zurz

Hello,
I've tried with arduino-0015, but I get the same message (sigh), and now I got another warning:
"check_group_uucp(): error testing lock file creation Error details:Permission deniedcheck_lock_status: No permission to create lock file."
something I think related to java user or maybe I completely miss it.

Thnx, I'll be back tomorrow morning (for me).

The Clever Monkey

That looks like the RXTX libraries failing.  Maybe a permissions issue on a device?

There are a lot of hits on Google for this message, but it is from a common library so there is going to be a lot of noise.
I yield() for co-routines.

zurz

Hello,
if I run arduino from gnome I don't get rxtx messages any more.
I keep having the usual message regarding SoftwareSerial, for any reference I post the entire error message , if someone can help me solving this issue I'll be safe.

"In file included from /home/user/Desktop/software/arduino-0015/hardware/cores/arduino/WConstants.h:1,
                from SoftwareSerial.cpp:24:
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:28:28: error: avr/include/io.h: No such file or directory
In file included from SoftwareSerial.cpp:25:
SoftwareSerial.h:23:22: error: inttypes.h: No such file or directory
In file included from /home/user/Desktop/software/arduino-0015/hardware/cores/arduino/WConstants.h:1,
                from SoftwareSerial.cpp:24:
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:97: error: 'uint8_t' does not name a type
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:98: error: 'uint8_t' does not name a type
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:102: error: variable or field 'pinMode' declared void
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:102: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:102: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:103: error: variable or field 'digitalWrite' declared void
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:103: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:103: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:104: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:105: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:106: error: variable or field 'analogReference' declared void
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:106: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:107: error: variable or field 'analogWrite' declared void
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:107: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:107: error: expected primary-expression before 'int'
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:119: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:119: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:119: error: expected primary-expression before 'unsigned'
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:119: error: initializer expression list treated as compound expression
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:121: error: variable or field 'shiftOut' declared void
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:121: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:121: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:121: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:121: error: 'byte' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:123: error: variable or field 'attachInterrupt' declared void
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:123: error: 'uint8_t' was not declared in this scope
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:123: error: expected primary-expression before 'void'
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:123: error: expected primary-expression before 'int'
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:124: error: variable or field 'detachInterrupt' declared void
/home/user/Desktop/software/arduino-0015/hardware/cores/arduino/wiring.h:124: error: 'uint8_t' was not declared in this scope
In file included from SoftwareSerial.cpp:25:
SoftwareSerial.h:28: error: 'uint8_t' does not name a type
SoftwareSerial.h:29: error: 'uint8_t' does not name a type
SoftwareSerial.h:32: error: 'uint8_t' has not been declared
SoftwareSerial.h:34: error: expected `)' before ',' token
SoftwareSerial.h:39: error: 'uint8_t' has not been declared
SoftwareSerial.h:40: error: 'void SoftwareSerial::print(int)' cannot be overloaded
SoftwareSerial.h:39: error: with 'void SoftwareSerial::print(int)'
SoftwareSerial.h:48: error: 'uint8_t' has not been declared
SoftwareSerial.h:49: error: 'void SoftwareSerial::println(int)' cannot be overloaded
SoftwareSerial.h:48: error: with 'void SoftwareSerial::println(int)'
SoftwareSerial.cpp:35: error: expected `)' before 'receivePin'
SoftwareSerial.cpp: In member function 'void SoftwareSerial::begin(long int)':
SoftwareSerial.cpp:51: error: '_transmitPin' was not declared in this scope
SoftwareSerial.cpp:51: error: 'digitalWrite' was not declared in this scope
SoftwareSerial.cpp: In member function 'int SoftwareSerial::read()':
SoftwareSerial.cpp:65: error: '_receivePin' was not declared in this scope
SoftwareSerial.cpp:65: error: 'digitalRead' cannot be used as a function
SoftwareSerial.cpp:68: error: '_receivePin' was not declared in this scope
SoftwareSerial.cpp:68: error: 'digitalRead' cannot be used as a function
SoftwareSerial.cpp:79: error: 'digitalRead' cannot be used as a function
SoftwareSerial.cpp: At global scope:
SoftwareSerial.cpp:90: error: variable or field 'print' declared void
SoftwareSerial.cpp:90: error: 'uint8_t' was not declared in this scope
"

The Clever Monkey

Well, some headers are missing there.

- io.h should be in the Arduino source somewhere, but it should be in /avr/io.h, not include/io.h.  This must be a problem with either a compiler option, or the headers is found in is wrong.
- inttypes.h is a standard header, but it is C99.  Maybe you need to build with -std99?

The rest of the message seem to stem from these.  I think if you sort out the headers and build env you can get past this part, at least.
I yield() for co-routines.

santiago barro

#6
May 31, 2009, 06:15 pm Last Edit: May 31, 2009, 06:16 pm by santiagojbt Reason: 1
Hello everybody! I had the same trouble, but I've just fixed it! I am using Ubuntu 9.04, where I had to install the package "gcc-avr" (which includes the compiler and other basic tools). But header files are installed separatedly, through the package "avr-libc" (which includes hearders like avr/io.h and so on...).

Arduino checks for libraries to compile every time you run it, in this case compiling SoftwareSerial is not possible because there are some missing header files (the above mencioned).

I hope this helps :)

Santiago

ashon

Hey guys,

It's great to know someone got this working on Ubuntu 9.04... Please can you be a little bit more explicit on what thing you did.

I searched through my "/usr/lib/gcc/avr/4.3.2/" and my "/arduino-0016/" directories I couldn't find the missing header files nor even where they should be located  :'(
Code: [Select]

ashon21@P34CE:/usr/bin/arduino-0016$sudo sh arduino
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7

EEPROM.cpp:24:24: error: avr/eeprom.h: No such file or directory
In file included from /usr/bin/arduino-0016/hardware/cores/arduino/WConstants.h:1,
                from EEPROM.cpp:25:
/usr/bin/arduino-0016/hardware/cores/arduino/wiring.h:28:20: error: avr/io.h: No such file or directory
In file included from EEPROM.cpp:26:
EEPROM.h:23:22: error: inttypes.h: No such file or directory
In file included from /usr/bin/arduino-0016/hardware/cores/arduino/WConstants.h:1,
                from EEPROM.cpp:25:
/usr/bin/arduino-0016/hardware/cores/arduino/wiring.h:101: error: 'uint8_t' does not name a type


Code: [Select]

ashon21@P34CE:/usr/bin/arduino-0016$ avr-gcc --version
avr-gcc (GCC) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.


Sorry if I'm acting a little nub

santiago barro please can you be a bit more elaborate! I know my problem is just similar to zurz's

Thanks in advance :popcorn: ::)

mellis

ashon: did you install the avr-libc package?

ashon

[Solved]

WOW!

the "avr-libc" package just did the trick ;D Thumbs up mellis  ;)


Thanks once again! :)

SYS49152

Thank you so much santiago barro. I have been scratching my head for four days since my board arrived trying to figure out why even the examples wouldn't work. This fix MUST be put on the front page so all Linux users are aware of it.

Go Up