Как указал Джордж, вы должны связаться с библиотекой потоков
gcc -o abc abc.c -pthread
Причина, по которой вы получаете эти ошибки, заключается в том, что на этапе компоновки компилятор пытается заполнить все слоты, в которые он поместил заполнители для вызовов методов, которые, как он знал, были определены, но в настоящее время не знают их расположения, поскольку соответствующая библиотека не была связана еще. Как указано в caf, использование флага -pthread на этапах как компиляции, так и компоновки позволяет компилятору делать более разумный выбор в отношении того, что ему нужно использовать, чтобы быть поточно-ориентированным в определенных условиях.