Hi,
I'm new to piklab and sdcc   , when I try to compile some stuff our instructors gave us I get the following error:

sdcc -mpic14 -p16f877 -V --debug -I/home/duygu/ceng4/ -c ceng336/hw3_lcd_examples/lcd.c
+ "/usr/bin/sdcpp" -nostdinc -Wall -std=c99 -I"/home/duygu/ceng4/" -obj-ext=.o -DSDCC_MODEL_SMALL -DSDCC=280 -DSDCC_REVISION=5117 -DSDCC_pic14 -D__pic14 -DSDCC_PROCESSOR="16f877" -I"/usr/bin/../share/sdcc/include/pic14" -I"/usr/share/sdcc/include/pic14" -I"/usr/bin/../share/sdcc/include" -I"/usr/share/sdcc/include" -I"/usr/bin/../share/sdcc/include/pic" -I"/usr/share/sdcc/include/pic" "ceng336/hw3_lcd_examples/lcd.c" 
sdcc -mpic14 -p16f877 -V --debug -I/home/duygu/ceng4/ -c ceng336/hw3_lcd_examples/lcd_demo.c
demo1
glue.c:1956: emitInitVal: Assertion `!"Initialized char-arrays are not yet supported, assign at runtime instead."' failed.
+ "/usr/bin/sdcpp" -nostdinc -Wall -std=c99 -I"/home/duygu/ceng4/" -obj-ext=.o -DSDCC_MODEL_SMALL -DSDCC=280 -DSDCC_REVISION=5117 -DSDCC_pic14 -D__pic14 -DSDCC_PROCESSOR="16f877" -I"/usr/bin/../share/sdcc/include/pic14" -I"/usr/share/sdcc/include/pic14" -I"/usr/bin/../share/sdcc/include" -I"/usr/share/sdcc/include" -I"/usr/bin/../share/sdcc/include/pic" -I"/usr/share/sdcc/include/pic" "ceng336/hw3_lcd_examples/lcd_demo.c" 
SIGABRT
*** Exited with status: 1 ***


Here're the files:

lcd.h

#define LCDPORT    PORTD
#define LCDPORT_TRIS TRISD
#define LCDCONTROL_TRIS TRISC
#define RSLCD    RC0
#define ENLCD    RC1


void delay1(void);
void delay2(void);
void delay3(void);
void pulse(void);
void lcdInit(void);
void lcdClear(void);
void lcdGoto(unsigned char);
void lcdWrite(unsigned char);


lcd.c
#include <pic/pic16f877.h>
#include "lcd.h"

void delay1(void)
{
    int i;
    for(i = 0; i < 125; i++);
}

void delay2(void)
{
    int i;
    for(i = 0; i < 40; i++)
        delay1();
}

void delay3(void)
{
    int i;
    for(i = 0; i < 10; i++)
        delay2();
}

void pulse(void)
{
    ENLCD = 1;
    __asm NOP __endasm;
    ENLCD = 0;
    delay1();
}

void lcdInit(void)
{
    LCDPORT_TRIS = 0;
    LCDCONTROL_TRIS = 0;
    ENLCD = 0;
    RSLCD = 0;
    delay1();
    LCDPORT = 56;
    pulse();
    LCDPORT = 15;//1DCB
    pulse();
    LCDPORT = 1;//clear lcd and return the cursor to the home
    pulse();
    delay2();
}

void lcdClear(void)
{
    ENLCD = 0;
    RSLCD = 0;
    delay1();
    LCDPORT = 1;
    pulse();
    delay2();
}

void lcdGoto(unsigned char c)
{
    LCDPORT = c;
    RSLCD = 0;
    delay2();
    pulse();
}

void lcdWrite(unsigned char c)
{
    LCDPORT = c;
    RSLCD = 1;
    pulse();
}


lcd_demo.c

#include <pic/pic16f877.h>
#include "lcd.h"

typedef unsigned int config;
config at 0x2007 __CONFIG = _CP_OFF &
 _WDT_OFF &
 _BODEN_ON &
 _PWRTE_ON &
 _HS_OSC &
 _LVP_OFF;

#define START_OF_LINE1    0x80
#define START_OF_LINE2    0xc0
#define START_OF_LINE3    0x90
#define START_OF_LINE4    0xd0

static const char demo1[] = "+--------------+";
static const char demo2[] = "|   Ceng 336   |";
static const char demo3[] = "| SDCC LCD demo|";
static const char demo4[] = "+--------------+";

void writeDemo()
{
    int i;
    lcdGoto(START_OF_LINE1);
    for(i = 0; demo1[i]; i++)
        lcdWrite(demo1[i]);
    lcdGoto(START_OF_LINE2);
    for(i = 0; demo2[i]; i++)
        lcdWrite(demo2[i]);
    lcdGoto(START_OF_LINE3);
    for(i = 0; demo3[i]; i++)
        lcdWrite(demo3[i]);
    lcdGoto(START_OF_LINE4);
    for(i = 0; demo4[i]; i++)
        lcdWrite(demo4[i]);
    for(i = 0; i < 10; i++)
        delay3();
    lcdClear();
}

void    writeChars()
{
    int i;
    unsigned char c;
    for(c = 'A'; c <= 'Z'; c++ )
        lcdWrite(c);
    for(i = 0; i < 10; i++)
        delay3();
    lcdClear();
    for(c = 'a'; c <= 'z'; c++ )
        lcdWrite(c);
    for(i = 0; i < 10; i++)
        delay3();
    lcdClear();
    for(c = ' '; c <= '?'; c++ )
        lcdWrite(c);
    for(i = 0; i < 10; i++)
        delay3();
    lcdClear();
}

void main(void)
{
    lcdInit();
    delay3();     // LCD can not work immediately after is is powered.
            // We should wait at least 50ms.

    while(1)
    {
        writeDemo();
        writeChars();
    }

}


I really don't know what the problem is , can somebody help?