Редактировать: на HP-UX11. Сбой pthread_create с ошибкой 251. Функция недоступна.
Проверьте, стоит ли -lc перед -lpthread в вашем порядке ссылок.
Если это так, то вызов разрешит заглушку в C-библиотеке
и может вызвать эту ошибку.
Вы связались с -lpthread?
Вы должны использовать errno.h, чтобы увидеть, какая ошибка 251 в вашей системе, или это должно дать вам более подробное сообщение:
printf("%s\n", strerror(errno));
Более того, при использовании pthread вы должны проверять возвращаемое значение почти при каждом вызове pthread * (см. man каждой функции для проверки возможной возвращаемой ошибки)
Для pthread_create у вас есть как минимум 2 возможные ошибки (в зависимости от вашей системы и реализации pthread):
pthread_create () завершится ошибкой, если:
[EAGAIN] Системе не хватало необходимых ресурсов для создания
другой поток, или системный лимит на
общее количество потоков в процессе
[PTHREAD_THREADS_MAX] будет превышено.
[EINVAL] Недопустимое значение, указанное attr.