не думал что gcc к расширениям в Linuxe требователен
Гы-гы...
Для справки: операционная система Linux, точнее ее файловая система не знает, что такое "расширение имени файла". Это понятие появилось лет 20 назад в DOS, поскольку 8 символов оказалось недостаточно, с DOS же и умерло.
Здесь и точка, и все, что после нее, является такой же полноценной частью имени файла, как и все остальное.
Windows позволяет ленивым юзерам части имен скрывать.