When I compile two .c files like given below I get a really weird error.

Code for compiling on terminal

```
  gcc -I. -o main.c matrix.c -lblas -lgfortran

```

Error:

```
  /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
  /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
  /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
  /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
  /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11
  /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13
  /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13
  ...

```

I did a bit of reading and the solution seems to be to add a main file. But I know for a fact I had the main.c file with the int main() in it before compiling. 
Here's the list of everything before compiling:

```
  > ls
  errors.txt  main.c  main.c~  matrix.c  matrix.c~  matrix.h  matrix.h~

```

After compilation this is the list of everything present:

```
  > ls
  errors.txt  main.c~  matrix.c  matrix.c~  matrix.h  matrix.h~

```

For some reason my main.c is getting deleted everytime I compile. What's weird is everything was working perfectly till a couple of minutes ago. Can someone help?