Undefined first referenced symbol in file

При компиляции моего кода получаю такую ошибку:

Undefined     first referenced   
symbol        in file   
p2open        /var/tmp//ccHAaWOe.o 
ld: fatal: symbol referencing errors. No output written to a.out 
collect2: error: ld returned 1 exit status

Вот мой код(моя программа генерирует сортированный список из ста случайных чисел и распечатывает числа по десять в строке):

#include <sys/types.h>
#include <stdio.h>
#include <libgen.h>
#include <stdlib.h>
#include <unistd.h>

int main() {
        int i;
        FILE *ptrs[2];
        char num[4];

        srand(time(0));
        p2open("/bin/sort", ptrs);

        for( i = 1; i <= 100; i++) {
                sprintf(num, "%02d\n", rand() % 100);
                fputs(num, ptrs[0]);
        }
        fclose(ptrs[0]);

        i = 1;
        while(fgets(num,4,ptrs[1]) != NULL) {
                num[2] = '\0';
                printf("  %s", num);
                if ( (i++ % 10) == 0)
                putchar('\n');
        }
        putchar('\n');
        return 0;
}

Можете, пожалуйста, подсказать как исправить эту ошибку


Ответы (1 шт):

Автор решения: AlexGlebe

При сборке нужно подключать библиотеку gen

gcc .. -lgen

источник :

http://www.ccfit.nsu.ru/~deviv/courses/unix/unix/ngb03be.html

→ Ссылка