Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ubuntu and libcap (capabilities) undefined reference

I'm trying to compile the following minimal C code on ubuntu 10.10:

#include <sys/capability.h>

void main(void)
{
        cap_t cap;
        cap = cap_get_proc();
}

with gcc -lcap test.c which gives me the following error:

/tmp/ccCQFyXS.o: In function `main':
test.c:(.text+0x9): undefined reference to `cap_get_proc'
collect2: ld a retourné 1 code d'état d'exécution

I have libcap2-dev and libcap2-bin installed, version 2.21

ls /lib/libcap.*
/lib/libcap.a  /lib/libcap.so  /lib/libcap.so.2  /lib/libcap.so.2.21

The same code with same gcc command build successfully on arch and gentoo

What should I do to get it build on ubuntu too?

like image 359
kuroneko Avatar asked Dec 01 '11 08:12

kuroneko


1 Answers

Try gcc -Wl,--no-as-needed -lcap test.c or gcc test.c -lcap.
Hope this helps!

like image 89
another.anon.coward Avatar answered Sep 19 '22 07:09

another.anon.coward