atmega8 standalone/breadboard arduino library header file issue

Trying to upload the example sketch SoftwareSerialExample to an atmega8 on a breadboard via arduino as ISP and invoking File---> "upload using programmer". I have been able to compile and upload other sketches successfully using this method such as blink and SerialCallResponse. However when I try to upload SoftwareSerialExample I get the following errors:

/user/share/arduino/libraries/SoftwareSerial/SoftwareSerial.cpp: In member function 'void SoftwareSerial::begin(long int)' /user/share/arduino/libraries/SoftwareSerial/SoftwareSerial.cpp:396:9 error: 'PCICR' was not declared in this scope ....more like that

based on my research it seems like this must be a library issue and perhaps since i'm using a custom board the arduino ide doesn't know where to look for the Software serial header file? obviously the library is installed since it is an example that is included with the ide.

this is my custom board definition in boards.txt

##############################################################
#
#  Source: http://arduino.cc/forum/index.php?topic=116404,0
#  by Perhof (Sweden)
#
atmega8_opti_8mhz.name=ATmega8 Optiboot (8MHz internal OSC)
atmega8_opti_8mhz.upload.protocol=arduino
atmega8_opti_8mhz.upload.maximum_size=7680
atmega8_opti_8mhz.upload.speed=9600
atmega8_opti_8mhz.bootloader.low_fuses=0xa4
atmega8_opti_8mhz.bootloader.high_fuses=0xcc
atmega8_opti_8mhz.bootloader.path=optiboot_atmega8_8
atmega8_opti_8mhz.bootloader.file=optiboot_atmega8_8.hex
atmega8_opti_8mhz.bootloader.unlock_bits=0x3F
atmega8_opti_8mhz.bootloader.lock_bits=0x0F
atmega8_opti_8mhz.build.mcu=atmega8
atmega8_opti_8mhz.build.f_cpu=8000000L
atmega8_opti_8mhz.build.core=arduino
atmega8_opti_8mhz.build.variant=standard
#
##############################################################

I'm running linux 12.04 if that makes any difference, arduino ide is 1.0.1 and this custom board definition is added to: /usr/share/arduino/hardware/arduino/boards.txt I noticed that supposedly I should be able to put the new boards.txt in my ~/sketchbook folder but I didn't have any luck with that. perhaps this is the problem?

according to SoftwareSerial.h there should be support for 8Mhz processors

-- Tuning, circular buffer, derivation from class Print/Stream,
   multi-instance support, porting to 8MHz processors,

So I guess the ultimate question is Why do some example sketches compile and upload and others don't. What do I need to do to help the compiler find the SoftwareSerial header file? thanks

based on my research it seems like this must be a library issue and perhaps since i'm using a custom board the arduino ide doesn't know where to look for the Software serial header file?

I have no idea what led you to that conclusion, but it is plain wrong.

The process you are using to get the hex file to the device is irrelevant when the code won't even compile. The problem is your custom board needs a custom boards.txt entry that tells SoftwareSerial.h that your device does have a PCICR. The IDE is telling the compiler something about your board, but what it is telling it is not what it needs to hear to compile SoftwareSerial.cpp.

Thanks for the tip. So what part of my boards.txt entry is giving the compiler the wrong information? Is it the section below?

atmega8_opti_8mhz.build.mcu=atmega8

Down in the comments a tip on another forum http://www.instructables.com/id/Arduino-on-all-sorts-of-Atmels/ suggests that these errors are related to different atmel chips using different register names. The recomended solution on that forum was to google. That hasn't been too fruitful. Maybe I don't know what to google.

These are the particular errors. Previously I couldn’t copy them directly out of the message window in the ide. Solution was to run the ide from the terminal.

/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp: In member function ‘void SoftwareSerial::begin(long int)’:
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp:396: error: ‘PCICR’ was not declared in this scope
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp:399: error: ‘PCMSK2’ was not declared in this scope
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp:399: error: ‘PCMSK0’ was not declared in this scope
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp:399: error: ‘PCMSK1’ was not declared in this scope
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp: In member function ‘void SoftwareSerial::end()’:
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp:414: error: ‘PCMSK2’ was not declared in this scope
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp:414: error: ‘PCMSK0’ was not declared in this scope
/home/brian/sketchbook/libraries/SoftwareSerial/SoftwareSerial.cpp:414: error: ‘PCMSK1’ was not declared in this scope