Vamos a ver al hacer gcc nombre del programa has hecho una compilacion del programa y esta te da errores (¿no encuentra funciones o librerias?), por eso no te crea el ejecutable.
Puede ke el problema sea ke llamas a funciones ke todavia no has definido(las defines mas abajo en el codigo). Posible solucion a esto_>Cortar pegar funciones mas abajo, mas arriba segun te haga falta,... o definir las cabeceras de las funciones abajo de los includes(p.ej.- #include) asi declararias estas funciones como globales(supondre que sabras la diferencia entre funciones globales y no globales)....
Supongo que tu problema ira por ahi, estos problemas se solucionan con la practica.
A lo mejor en otro compilador p.ej.- devcpp (en windows) no te daba estos errores, pero ten en cuenta ke los compiladores no son todos iguales,... y unos son mas estrictos ke otros , tambien depende de la version del gcc...