Hi,
this might already be reported or known, but here goes anyway:
Using the included SD library or sdfatlib directly (Google Code Archive - Long-term storage for Google Code Project Hosting.) I am having problems compiling on avr-gcc-4.6.1 (Arch Linux) using arduino 22. I have already this patch applied: http://ix.io/1Uz against pins_arduino.h, but I have to do the following aswell to be able to compile (just avoiding the problem..):
diff -ru old/libraries/SD/utility/SdFile.cpp new/libraries/SD/utility/SdFile.cpp
--- old/libraries/SD/utility/SdFile.cpp 2011-02-16 16:56:10.000000000 +0100
+++ new/libraries/SD/utility/SdFile.cpp 2011-10-06 14:51:03.433583165 +0200
@@ -256,7 +256,8 @@
i = 8; // place for extension
} else {
// illegal FAT characters
- PGM_P p = PSTR("|<>^+=?/[];,*\"\\");
+ char pp[] = "|<>^+=?/[];,*\"\\";
+ char *p = pp;
uint8_t b;
while ((b = pgm_read_byte(p++))) if (b == c) return false;
// check size and only allow ASCII printable characters
Otherwise I will get the error:
build/lib_00/SD/utility/SdFile.cpp: In static member function 'static uint8_t SdFile::make83Name(const char*, uint8_t*)':
build/lib_00/SD/utility/SdFile.cpp:259:17: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
build/lib_00/SD/utility/SdFile.cpp:259:17: warning: only initialized variables can be placed into program memory area [enabled by default]
scons: *** [build/lib_00/SD/utility/SdFile.o] Error 1
Any ideas to how to fix this, and whether this is an Arduino or AVR-GCC issue? Is probably related to: Arduino Forum
- Gaute