+1 on KurtE's answer, which is similar to one I posted on another forum a couple of days ago:
Here's perhaps a better solution that avoids having to doctor third-party libraries: use an alternative implementation of pgmspace.h. Here is a version borrowed from the Teensy3 Arduino distribution. The CPU in the Teensy3, like the x86, doesn't have separate instruction/data address spaces--the so-called "Harvard Architecture" of the AVR micros. So its implementation of pgmspace.h simply casts it all away, making pgm_read_byte_near, for example, a simple pointer dereference.
Instructions:
- Create a new folder "avr" under .../hardware/arduino/x86/cores/arduino/avr.
- Grab the pgmspace.h file from http://github.com/mikalhart/galileo-Pgmspace.h/ and put it in the new avr folder.
- Restart the Arduino IDE.
At this point you should be able to compile code that depends on #include <avr/pgmspace.h>