2012-12-03 4 views
1

J'essaie d'utiliser libnl 3 (http://www.infradead.org/~tgr/libnl/) sous Ubuntu pour utiliser netlink afin d'obtenir des informations du cache de voisins IPv6.libnl-3 inclut cassé?

J'inclus un tas de têtes pour cette lib, mais déjà gcc échoue la première:

#include <libnl3/netlink/netlink.h> 

Il n'y a pas de « tête principale », comme libnl.h.

>$ gcc netlink_test.c 
In file included from netlink_test.c:11:0: 
/usr/include/libnl3/netlink/netlink.h:24:36: fatal error: netlink/netlink-compat.h: No such file or directory 
compilation terminated. 

Le fichier netlink.h inclut "netlink/netlink-compat.h". Malheureusement, il n'y a pas de dossier "/ usr/include/netlink /". Il n'y a que "/ usr/include/libnl3/NetLink /"

Y compris "NetLink/netlink.h" me donne donc:

netlink_test.c:10:29: fatal error: netlink/netlink.h: No such file or directory 
compilation terminated. 

J'ai installé les paquets suivants sous Ubuntu 12.04:

libnl-3-200 
libnl-3-200-dbg 
libnl-3-dev 
libnl-3-doc 
libnl-genl-3-200 
libnl-genl-3-200-dev 
libnl-route-3-200 
libnl-route-3-200-dev 

Ai-je manqué quelque chose ici ou est-ce vraiment cassé?

Répondre

7

OK, de sorte que le paquet est pas cassé, je suis;)

Il y a peu de temps, ils ont mis en place un mécanisme pour permettre aux utilisateurs d'installer différentes versions de cette bibliothèque. Maintenant, vous pouvez le configurer en utilisant "pkg-config" ou simplement passer le répertoire précis au compilateur avec "-I/usr/include/libnl3 /". Et ça marche.