Je dois porter un programme (C) de freeBSD 5.3 vers linux ubuntu
dapper-drake (6.0 si je me souviens bien).
N'ayant jamais fait ça, je ne sais pas trop comment procéder. Est ce que
quelqu'un connais une procédure qui va bien ?
Nb:
J'ai tenté de compiler mon code sur ubuntu et gcc plante en indiquant
qu'il ne connait pas la bibliothèque if_dl.h
Je l'ai trouvé ici:
( http://packages.ubuntu.com/ -> search if_dl.h )
dans le package "oskit"... Je l'ai installé et tenté de compiler en
liant gcc dessus (option -I), et il me sort une erreur de syntaxe dans
if_dl.h: (syntax error near __dead2 ...)
Pensez vous que ce package soit une bonne solution ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) Mon, 15 Jan 2007 17:40:32 +0100, akiuni écrivait (wrote):
Je dois porter un programme (C) de freeBSD 5.3 vers linux ubuntu dapper-drake (6.0 si je me souviens bien).
N'ayant jamais fait ça, je ne sais pas trop comment procéder. Est ce que quelqu'un connais une procédure qui va bien ?
Nb:
J'ai tenté de compiler mon code sur ubuntu et gcc plante en indiquant qu'il ne connait pas la bibliothèque if_dl.h
Ce n'est pas une bibliothèque mais un fichier d'en-tête permettant de déclarer/définir des "objets" C (types, fonctions externes, macros, etc.).
En l'occurence, ce fichier semble définir le type 'struct sockaddr_dl' et la macro 'LLADDR' (je passe sur la partie KERNEL car j'espère que vous ne tentez pas de porter un module).
Je l'ai trouvé ici: ( http://packages.ubuntu.com/ -> search if_dl.h )
dans le package "oskit"... Je l'ai installé et tenté de compiler en liant gcc dessus (option -I), et il me sort une erreur de syntaxe dans if_dl.h: (syntax error near __dead2 ...)
Pensez vous que ce package soit une bonne solution ?
À mon avis, non. En tous cas, ce ne serait pas un véritable portage puisque l'objectif de ce package semble être d'implémenter les appels systèmes *BSD manquant dans Linux.
Il vaudrait mieux identifier pourquoi vous avez besoin de cette structure. Ce qui revient à trouver les fonctions FreeBSD qui l'utilisent et qui sont utilisées par votre code puis à trouver les fonctions équivalentes dans Linux (avec éventuellement leurs propres structures de données et leurs propres fichiers d'en-tête).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 15 Jan 2007 17:40:32 +0100,
akiuni <somebody@somewhere.net> écrivait (wrote):
Je dois porter un programme (C) de freeBSD 5.3 vers linux ubuntu
dapper-drake (6.0 si je me souviens bien).
N'ayant jamais fait ça, je ne sais pas trop comment procéder. Est ce
que quelqu'un connais une procédure qui va bien ?
Nb:
J'ai tenté de compiler mon code sur ubuntu et gcc plante en indiquant
qu'il ne connait pas la bibliothèque if_dl.h
Ce n'est pas une bibliothèque mais un fichier d'en-tête permettant de
déclarer/définir des "objets" C (types, fonctions externes, macros,
etc.).
En l'occurence, ce fichier semble définir le type 'struct sockaddr_dl'
et la macro 'LLADDR' (je passe sur la partie KERNEL car j'espère que
vous ne tentez pas de porter un module).
Je l'ai trouvé ici:
( http://packages.ubuntu.com/ -> search if_dl.h )
dans le package "oskit"... Je l'ai installé et tenté de compiler en
liant gcc dessus (option -I), et il me sort une erreur de syntaxe dans
if_dl.h: (syntax error near __dead2 ...)
Pensez vous que ce package soit une bonne solution ?
À mon avis, non. En tous cas, ce ne serait pas un véritable portage
puisque l'objectif de ce package semble être d'implémenter les appels
systèmes *BSD manquant dans Linux.
Il vaudrait mieux identifier pourquoi vous avez besoin de cette
structure. Ce qui revient à trouver les fonctions FreeBSD qui
l'utilisent et qui sont utilisées par votre code puis à trouver les
fonctions équivalentes dans Linux (avec éventuellement leurs propres
structures de données et leurs propres fichiers d'en-tête).
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
À (at) Mon, 15 Jan 2007 17:40:32 +0100, akiuni écrivait (wrote):
Je dois porter un programme (C) de freeBSD 5.3 vers linux ubuntu dapper-drake (6.0 si je me souviens bien).
N'ayant jamais fait ça, je ne sais pas trop comment procéder. Est ce que quelqu'un connais une procédure qui va bien ?
Nb:
J'ai tenté de compiler mon code sur ubuntu et gcc plante en indiquant qu'il ne connait pas la bibliothèque if_dl.h
Ce n'est pas une bibliothèque mais un fichier d'en-tête permettant de déclarer/définir des "objets" C (types, fonctions externes, macros, etc.).
En l'occurence, ce fichier semble définir le type 'struct sockaddr_dl' et la macro 'LLADDR' (je passe sur la partie KERNEL car j'espère que vous ne tentez pas de porter un module).
Je l'ai trouvé ici: ( http://packages.ubuntu.com/ -> search if_dl.h )
dans le package "oskit"... Je l'ai installé et tenté de compiler en liant gcc dessus (option -I), et il me sort une erreur de syntaxe dans if_dl.h: (syntax error near __dead2 ...)
Pensez vous que ce package soit une bonne solution ?
À mon avis, non. En tous cas, ce ne serait pas un véritable portage puisque l'objectif de ce package semble être d'implémenter les appels systèmes *BSD manquant dans Linux.
Il vaudrait mieux identifier pourquoi vous avez besoin de cette structure. Ce qui revient à trouver les fonctions FreeBSD qui l'utilisent et qui sont utilisées par votre code puis à trouver les fonctions équivalentes dans Linux (avec éventuellement leurs propres structures de données et leurs propres fichiers d'en-tête).
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
akiuni
Salut,
merci pour vos réponses. J'ai oublié de préciser que le programme en question était assez petit (1500 lignes environ). J'ai finalement pris le parti de le "reprogrammer" en utilisant les entêtes de Linux, Ca semble fonctionner jusqu'à présent
merci ! akiuni
akiuni wrote:
Je dois porter un programme (C) de freeBSD 5.3 vers linux ubuntu dapper-drake (6.0 si je me souviens bien).
Bon courage. Va falloir un Makefile par distribution, voire par version.
J'ai tenté de compiler mon code sur ubuntu et gcc plante en indiquant qu'il ne connait pas la bibliothèque if_dl.h
Qu'est-ce que je disais :-)
Salut,
merci pour vos réponses. J'ai oublié de préciser que le programme en
question était assez petit (1500 lignes environ). J'ai finalement pris
le parti de le "reprogrammer" en utilisant les entêtes de Linux, Ca
semble fonctionner jusqu'à présent
merci !
akiuni
akiuni <somebody@somewhere.net> wrote:
Je dois porter un programme (C) de freeBSD 5.3 vers linux ubuntu
dapper-drake (6.0 si je me souviens bien).
Bon courage. Va falloir un Makefile par distribution, voire par version.
J'ai tenté de compiler mon code sur ubuntu et gcc plante en indiquant
qu'il ne connait pas la bibliothèque if_dl.h
merci pour vos réponses. J'ai oublié de préciser que le programme en question était assez petit (1500 lignes environ). J'ai finalement pris le parti de le "reprogrammer" en utilisant les entêtes de Linux, Ca semble fonctionner jusqu'à présent
merci ! akiuni
akiuni wrote:
Je dois porter un programme (C) de freeBSD 5.3 vers linux ubuntu dapper-drake (6.0 si je me souviens bien).
Bon courage. Va falloir un Makefile par distribution, voire par version.
J'ai tenté de compiler mon code sur ubuntu et gcc plante en indiquant qu'il ne connait pas la bibliothèque if_dl.h