7
votes

Quel paquet dois-je installer pour utiliser des sockets de routage?

J'essaie du code donné dans UNIX Network Programming par Richard Stevens. Mais je ne suis pas capable d'obtenir le code pour compiler.

Voici le code source. http: // www. cs.cmu.edu/afs/cs.cmu.edu/academic/class/15213-f00/unpv12e/liboute/

Je n'ai pas le fichier d'en-tête net / if_dl.h et le fichier d'en-tête net / route.h n'inclut pas les constantes et les structures utilisées par le code.


1 commentaires

Avez-vous gêché pour voir si les constantes sont dans un fichier d'en-tête différent? Il se peut que cela vient de passer au cours des 8 dernières années.


5 Réponses :


4
votes

Je ne suis pas sur une machine où je peux le faire maintenant, mais je peux peut-être toujours aider. Si votre distribution utilise miam code> (par exemple, RHEL): xxx pré>

ou si vous utilisez apt code> (par exemple, Ubuntu / Debian): P >

sudo apt-get install apt-file
sudo apt-file update
apt-file search if_dl.h


0 commentaires

5
votes

C'est une API spécifique à la BSD, et Linux ne le supporte pas. le fonctionnalité équivalente (non compatible avec la source) est fournie par le NetLink Socket famille. "Man 7 NetLink" devrait vous aider à démarrer, mais Vous aurez probablement besoin de faire un travail de portage.


0 commentaires

7
votes

Veuillez noter que vous n'avez pas besoin de faire dans ce dossier "libère"

voir le document: xxx

Linux n'est pas un routage de style BSD, allez simplement à ../Intro et construire des exemples ~!


0 commentaires

0
votes

essayer de copier un if_dl.h de net et mettez-le dans / usr / include / net. Peut-être que cela fonctionne et peut-être qu'il a besoin d'autres libs. Peut-être que mon anglais n'est pas si bon. Pardonne-moi.


1 commentaires

Vous devez d'abord reproduire le problème dans votre environnement et fournir une solution concrète, au lieu de "essayer / peut-être". Stackoverflow n'est pas un forum de discussion. C'est un site de questions / réponses, de sorte que votre réponse doit être complètement vérifiée avant de poster.



1
votes

Comme expliqué dans HTTPS: / /buntu.pkgs.org/16.04/ubuntu-universse-amd64/freebsd-Glue_0.2.20_amd64.deb.html Il suffit d'installer FreeBSD-Glue Deb Package:

sudo apt-get install freebsd-glue


0 commentaires