Добавьте -lm к команде при вызове gcc:
gcc -Wall -D_GNU_SOURCE blah.c -o blah -lm
Это скажет компоновщику связываться с математической библиотекой. Включение math.h сообщит компилятору, что математические функции, такие как sqrt (), существуют, но они определены в отдельной библиотеке, которую компоновщик должен упаковать с вашим исполняемым файлом.
Как указало FreeMemory, библиотека называется libm.a. В Unix-подобных системах правило именования библиотек - lib [blah] .a. Затем, если вы хотите связать их с вашим исполняемым файлом, вы используете -l [blah].