load error while creating shared library

Hi,

I am trying to create shared library. When i run the script to build the library i get these errors

ld: warning: option -o appears more than once, first setting taken
ld: fatal: file libgc.so.0: open failed: No such file or directory
ld: fatal: File processing errors. No output written to libgc.so.0.0
collect2: ld returned 1 exit status
./shared.sh: /sbin/ldconfig: not found
ln: cannot create libgc.so: File exists
demo.c: In function `main':
demo.c:5: warning: return type of `main' is not `int'
ld: fatal: library -lgc: not found
ld: fatal: File processing errors. No output written to demo-shared
collect2: ld returned 1 exit status
./shared.sh: ./demo-shared: not found

Please, explain me what is this warning.
Here, you can find the details of script
#!/bin/sh
gcc -fPIC -g -c libgc.c
gcc -g -shared -Wl,-soname,libgc.so.0 \
-o libgc.so.0.0 libgc.o -lc
/sbin/ldconfig -n .
ln -sf libgc.so.0 libgc.so
gcc -g -c demo.c -o demo.o
gcc -g -o demo-shared demo.o -L. -lgc
LD_LIBRARY_PATH="." ./demo-shared

Thanks in advance.
masg1