J’essaie de comstackr le code C minimal suivant sur Ubuntu 10.10:
#include void main(void) { cap_t cap; cap = cap_get_proc(); }
avec gcc -lcap test.c
qui me donne l’erreur suivante:
/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
J’ai libcap2-dev et libcap2-bin installés, version 2.21
ls /lib/libcap.* /lib/libcap.a /lib/libcap.so /lib/libcap.so.2 /lib/libcap.so.2.21
Le même code avec la même commande gcc se construit avec succès sur arch et gentoo
Que dois-je faire pour que ça se construise sur ubuntu aussi?
Essayez gcc -Wl,--no-as-needed -lcap test.c
ou gcc test.c -lcap
.
J’espère que cela t’aides!
Je travaille sur Ubuntu 10.04 et j’ai le même problème ( sys/capability.h not present on the file system
).
J’ai résolu ce problème en installant via Synaptic Package Manager le package libcap-dev
(version 1: 2.17-2ubuntul) qui remplit le dossier /usr/include/sys
avec le fichier capacity.h.
Pour RHEL:
yum install libcap-devel gcc -lcap test.c