It looks like the SoftwareSerial library is trying to use the same interrupt vectors as the GSM library.
You can verify this by temporarily commenting out all references to the GSM library and then seeing if the sketch compiles.
If that is the problem you will need an alternative to SoftwareSerial. One option is a very basic alternative that I wrote here. I have no idea whether it will meet your needs.
By the way, my suggestion to add Arduino.h was in response to the OP's problems, not yours. I don't think I had noticed that you had added yourself to the Thread.
...R