Installation/Compilation appli linux sur OS X

bkwe

Membre enregistré
26 Août 2008
3
0
Bonjour à tous !
Tout d'abord j'espère être dans la bonne section.
J'essaie désespérément d'installer une application, conçue pour linux à la base, sur mac OS 10.5.
Les fichiers sources sont en c, hébergés ici :
http://www.bioinformatics.org/project/filelist.php?group_id=649
(Logiciel de reconnaissance d'image, pour observer des moustiques dans le cadre d'un projet sur la lutte contre le paludisme, pour la petite histoire)...
J'ai téléchargé Fick, mais le programme n'est pas disponible dans la liste (parce que sans doute très peu utilisé).
Ensuite j'ai téléchargé la dernière version de GCC pour pouvoir compiler le programme mais le hic est là : le makefile employé est fait pour linux, et quand je le passe dans le terminal évidemment ça ne va pas :
Bloc de code:
LINKX = -L/usr/X11R6/lib64 -L/usr/X11R6/lib \
    -lX11 -lXext -lXv -lGL -lXxf86vm -lXxf86dga
GUI_OBJS := main.o loop.o buffers.o fft.o
DRIVER_OBJS := driver_main.o driver_log.o driver_serial.o driver_sniffer.o \
    driver_cooker.o driver_master.o driver_embla_cmd.o
CAPTURE_OBJS := video_main.o video_capture.o
COMMON_OBJS := rw.o timer.o socket_utils.o
EXTERN_OBJS := YGL2/ygl.o gui/gui.o mformat/mformat.o network/ipv46.o

.PHONY: all $(EXTERN_OBJS)

all: gembla embla-driver video-driver

# Graphical user interface
gembla: $(GUI_OBJS) $(COMMON_OBJS) $(EXTERN_OBJS)
    gcc -Wall -Wl,-s -o $(@) $(^) $(LINKX) -lm

# Driver
embla-driver: $(DRIVER_OBJS) $(COMMON_OBJS) network/ipv46.o
    gcc -Wall -Wl,-s -o $(@) $(^)

# Video capture
video-driver: $(CAPTURE_OBJS) $(COMMON_OBJS) $(EXTERN_OBJS)
    gcc -Wall -Wl,-s -o $(@) $(^) $(LINKX)

# Local    
$(DRIVER_OBJS) $(GUI_OBJS) $(CAPTURE_OBJS) $(COMMON_OBJS) : %.o : %.c %.h
    gcc -Wall -c -o $(@) $(<)

# External
$(EXTERN_OBJS) :
    cd $(@D); make $(@F)

Y a t-il un moyen de contourner le problème ? Dois-je télécharger Xcode ?
Le programme doit être installé sur un ordi en Afrique avec une connexion internet pas très rapide ni stable donc les quelques Mo de GCC ça passe, mais les 1Go de Xcode ça va pas le faire je pense...

Merci d'avance pour votre aide !
 
xcode c'est plus que les applis c'est tout les autotools gcc pour
Apple env, tu peux bien sur compiler la derniere version de gcc en perforce pour ton mac
mais vu ton cas c'est chose impossible ou peut etre dans quelques annees ;)

donc telecharge xcode, essaye de run ton configure et makefile, je ne connais pas cette appli,
si elle a GUI oublie... (ya du boulot, il te faut une version apple xfree et peut utiliser des libs patchees au lieu de celle fourni par apple)

-L/usr/X11R6/lib64 -L/usr/X11R6/lib \
-lX11 -lXext -lXv -lGL -lXxf86vm -lXxf86dga


anyway je pense que t'auras besoin de patcher le code, c'est peut etre ton travaille pour cette annee ;)

sinon t'es pas tout seul

http://www.epot.org/blog/?p=180

le plus rapide pour toi etant d'installer une ubuntu sur une machine pas sur ton osx
ou par virtualization tu seras vite bloque si tu dois faire de gros traitements

rien ne vaut une autre machine tournant sous linux

Bonjour à tous !
Tout d'abord j'espère être dans la bonne section.
J'essaie désespérément d'installer une application, conçue pour linux à la base, sur mac OS 10.5.
Les fichiers sources sont en c, hébergés ici :
http://www.bioinformatics.org/project/filelist.php?group_id=649
(Logiciel de reconnaissance d'image, pour observer des moustiques dans le cadre d'un projet sur la lutte contre le paludisme, pour la petite histoire)...
J'ai téléchargé Fick, mais le programme n'est pas disponible dans la liste (parce que sans doute très peu utilisé).
Ensuite j'ai téléchargé la dernière version de GCC pour pouvoir compiler le programme mais le hic est là : le makefile employé est fait pour linux, et quand je le passe dans le terminal évidemment ça ne va pas :
Bloc de code:
LINKX = -L/usr/X11R6/lib64 -L/usr/X11R6/lib \
    -lX11 -lXext -lXv -lGL -lXxf86vm -lXxf86dga
GUI_OBJS := main.o loop.o buffers.o fft.o
DRIVER_OBJS := driver_main.o driver_log.o driver_serial.o driver_sniffer.o \
    driver_cooker.o driver_master.o driver_embla_cmd.o
CAPTURE_OBJS := video_main.o video_capture.o
COMMON_OBJS := rw.o timer.o socket_utils.o
EXTERN_OBJS := YGL2/ygl.o gui/gui.o mformat/mformat.o network/ipv46.o

.PHONY: all $(EXTERN_OBJS)

all: gembla embla-driver video-driver

# Graphical user interface
gembla: $(GUI_OBJS) $(COMMON_OBJS) $(EXTERN_OBJS)
    gcc -Wall -Wl,-s -o $(@) $(^) $(LINKX) -lm

# Driver
embla-driver: $(DRIVER_OBJS) $(COMMON_OBJS) network/ipv46.o
    gcc -Wall -Wl,-s -o $(@) $(^)

# Video capture
video-driver: $(CAPTURE_OBJS) $(COMMON_OBJS) $(EXTERN_OBJS)
    gcc -Wall -Wl,-s -o $(@) $(^) $(LINKX)

# Local    
$(DRIVER_OBJS) $(GUI_OBJS) $(CAPTURE_OBJS) $(COMMON_OBJS) : %.o : %.c %.h
    gcc -Wall -c -o $(@) $(<)

# External
$(EXTERN_OBJS) :
    cd $(@D); make $(@F)
Y a t-il un moyen de contourner le problème ? Dois-je télécharger Xcode ?
Le programme doit être installé sur un ordi en Afrique avec une connexion internet pas très rapide ni stable donc les quelques Mo de GCC ça passe, mais les 1Go de Xcode ça va pas le faire je pense...

Merci d'avance pour votre aide !
 
Merci beaucoup pour ta réponse !
Je pense aussi qu'installer une distrib serait plus judicieux tout compte fait... Surtout que c'est moins lourd que Xcode à charger, de là bas...
(Et la virtualisation...quelle idée !)
Je vais voir ce que je peux faire avec toutes ces indications.
Et oui, j'ai vu qu'il existe aussi d'autres solutions, mais pas open source lol

Merci encore !:)
 
Salut,

J'essaie d'utiliser ndiswrapper. J'avais réussi sur mon iMacG5 en 10.4 et je voulais recommencer sur mon PowerBookG3 en 10.3.9. J'ai installé gcc2.95.2 ,3.2 et 3.3. (Après réflexion, je pense que si j'étais directement allé au 3.3, ça faisait pareil, mais bon). Toujours est-il que quand je tape gcc dans le terminal il me dit
Bloc de code:
Command not found
et quand je fais un make dans le dossier de ndiswrapper il me met la même chose.

Je pense donc que le gcc est mal installé, je suis peut-être sur la mauvaise piste, mais il me semble que ndiswrapper doit être installé de cette façon et qu'il utilise le gcc :confused:

:zen:
 
Hello,

Peut-être que le path de ton gcc est pas bien renseigné. Essaye de faire un locate gcc pour voir où il est puis tu jettes un oeil dans le fichier .bash_profile (à la racine de ton dossier utilisateur) pour vérifier tes paths. Tu rajoutes le path le cas échéant et après avoir relancé le terminal ça devrait marcher (sauf si c'est pas ça :p )
 
Me re-voilà,

Voici ce que j'obtiens quand je tapes locate gcc
Image1.jpg


et voici ce qu'il y a dans le dossier libexec/gcc
Image2.jpg

Image3.jpg


As-tu une idée du dossier en question ? Je pourrais bien tous les essayer, mais si tu as un avis, ça m'arrange :D

Merci :zen:
 
Vus les résultats de ton locate tu n'as pas installé les dev tools. Je ne sais pas s'ils sont indispensables pour installer gcc via darwin ports mais c'est pas impossible. Du coup je te conseille de commencer par là ;)
 
a part si la db de locate n'est pas a jours... as tu un jours reconstruit ta base? et mis ca dans tes daily?, d'ou proviennent tes compileurs? open /usr/local /opt/local
 
Je m'excuse du retard, me re-voilà

@Bladrak
En fait j'ai téléchargé xcode pour 10.3 depuis le centre de developper d'apple, je suis allé chercher dans le paquet d'installation les paquets de gcc que j'ai installé, j'ai ensuite découvert qu'on pouvait faire la même chose simplement en cochant les bonnes cases dans l'installeur d'xcode donc j'ai recommencé, mais je n'ai rien installé de plus que gcc. En fait je suis sur un PowerBook G3 et je n'ai environ qu'un Go de libre, donc je voulais installer le minimum pour pouvoir compiler ndiswrapper.

@Tatouile
Je n'ai jamais reconstruit ma base (pas que je sache).
Bloc de code:
[PowerBook:~] serveur% ls -l /usr/local
total 0
drwxr-xr-x  7 root  wheel  238  1 Jan  1970 bin
drwxr-xr-x  4 root  wheel  136 17 Jan  2009 man
drwxr-xr-x  8 root  wheel  272  1 Jan  1970 sbin

[PowerBook:~] serveur% ls -l /opt/local
ls: /opt/local: No such file or directory

Merci :zen:

edit : j'ai installé les dev tools (150 Mo, ça va, c'est pas affreux). gcc fonctionne, et du coup la fonction make aussi.
Par contre lorsque je fais make sous le dossier ndiswrapper j'obtiens
Bloc de code:
[PowerBook:~/Desktop/ndiswrapper-1.55] serveur% make
make -C driver
make[1]: readlink: Command not found
Makefile:23: *** Kernel tree not found - please set KBUILD to configured kernel.  Stop.
make: *** [all] Error 2
Je pense que je dois spécifier mon kernel pour l'installation ; savez-vous comment je peux le connaître ?