おそらくくだらないことでひっかかっています。だれか目を醒まさせてください。
#define _XOPEN_SOURCE
#include<unistd.h>

int main(void){
printf ("%s\n", crypt("abcdefgh", "bb"));
return 0;
}

と書いて、コンパイルしようとしても、
undefined reference to `crypt'
collect2: ld returned 1 exit status
とか言われてしまいます。 なぜなんでしょう(??)