Я пишу эту команду:
gcc drr.c -o drr -pthread -lcdsl -L./../synch_implementations -I./../synch_implementations
И я не могу понять, почему я получаю этот ответ:
usr/bin/ld: ./../synch_implementations/libcdsl.a(cdsl_queue_list.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIC
usr/bin/ld: ./../synch_implementations/libcdsl.a(cdsl_deque_list.o): relocation R_X86_64_32S against symbol `cdsl_deque_list_lock_based_pthread_push_tail' can not be used when making a PIE object; recompile with -fPIC
usr/bin/ld: ./../synch_implementations/libcdsl.a(cdsl_lock.o): relocation R_X86_64_32S against symbol `cdsl_pthread_lock_request' can not be used when making a PIE object; recompile with -fPIC
usr/bin/ld: final link failed: Nonrepresentable section on output
ollect2: error: ld returned 1 exit status
Может кто-нибудь помочь мне понять, что не так?
Примечания:
1) Я использую Ubuntu (через VirtualBox).
2) Я очень неопытен, поэтому, вероятно, это не очень яркий вопрос.