is the abc file inside of the same directory as rc.local??
if it isn't, then that's probably why. Your example above is ./directory1/directroy2/abc
remove the . and try again.
JUST FYI....
The following is used usually to startup scripts and/or services at boot...
in the directory /etc/inid.d/rc5.d
creat a link to your program...
cd /etc/init.d/rc5.d
ln -s S19abc /home/myuserID/abc
take note of the link name. The capital S followed by a number is important. The S means "start" and the number can be whatever number you want. Do an ls -l in /etc/init.d/rc5.d and you'll see what I mean. When Linux starts up in runlevel 5 (I'm assuming it is because you wanted to have it start in KDE), all of the files(links) in this directory will be executed in order starting from S1filename then S2filename, S3filename, etc, etc...
So have your program "start" toward the end. Maybe like S19abc or S20abc
HOpe this helps