Arduino GSM Shield Compatibility only with ATMega328 boards?

Hi, I would just like to ask if the Arduino GSM Shield, or if I may say the Arduino GSM Library, is compatible with custom boards that is not carrying the ATMega328 chip, that where supposed to be Arduino-Compatible.

I have been using a board that has an ATMega644p (supplied with its own Board options) and I have been able to work with my project that uses Adafruit's Data Logging Shield, an ADXL345 Accelerometer and a Pulse Sensor. No problem compiling and uploading.

Then I bought the Arduino GSM shield since I wanted to upload my data to Xively. Testing the example sketches with the ATMega644P board, the following errors came up when compiling,

In file included from /usr/share/arduino/libraries/GSM/GSM3ShieldV1ModemCore.h:39:0,
                 from /usr/share/arduino/libraries/GSM/GSM3ShieldV1AccessProvider.h:38,
                 from /usr/share/arduino/libraries/GSM/GSM.h:45,
                 from GsmScanNetworks.ino:25:
/usr/share/arduino/libraries/GSM/GSM3ShieldV1BaseProvider.h:57:52: error: section attribute not allowed for ‘str’
In file included from /usr/share/arduino/libraries/GSM/GSM3ShieldV1AccessProvider.h:38:0,
                 from /usr/share/arduino/libraries/GSM/GSM.h:45,
                 from GsmScanNetworks.ino:25:
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ModemCore.h:170:55: error: section attribute not allowed for ‘str’
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ModemCore.h:189:48: error: section attribute not allowed for ‘str’

Then I tried it with other versions of the local board variants it still comes with an error. I tried compiling it using the boards with ATMEGA 328/328P and it successfully compiles. So it kinda means the library doesn't compile with ATMega 164/168/168P, 324/324P and ATMega644/644P boards. Even with the Arduino 168P's board

Could anyone explain this compile error and if maybe it is still possible to tweak things to make it compile?

*Edit
Link to the primary board I'm using: http://www.e-gizmo.com/KIT/gizduino+%20164,324,644.html

So what does Line 57 of libraries/GSM/GSM3ShieldV1BaseProvider.h say?

	/** This function locates strings from PROGMEM in the buffer
		@param str			PROGMEN
		@param auxLocate	Buffer where to locate strings
	*/
	void prepareAuxLocate(PROGMEM prog_char str[], char auxLocate[]);

Looks like it has trouble with the 'PROGMEM' section attribute or possibly something about the 'prog_char' type.