When verifying an arduino sketch in the Arduino Edison IDE, I got the PORTC undefined error. However, this is ok in the Arduino IDE. So it seems it's a compatibility issue. My question is, how can I circumvent this problem In general. Since I used a library, there are lots of cases using avr registers.
There are several libraries that have been written for Aduino architecture which is AVR, and unfortunately they won't work with Edison (or Galileo) since the architecture is different (x86). Those libraries should be re-written to work with the Edison architecture.
There is a thread in Galileo forum where a workaround is discussed, however I haven't tried it yet. I'd suggest you to check it, it could be useful for you: Re: Missing avr/pgmspace.h.