je suis en train de compiler un prog, et je suis tombé sur ce message durant la compil:
make[3]: *** No rule to make target `mpeg.o', needed by `../lib/libmpx.so'. Stop.
make[2]: *** [_mpg_] Error 2
make[1]: *** [all] Error 2
make: *** [unix] Error 2
que signifie ce type d'erreur ?
j'ai bien trouvé trace de ce libmpx.so.il se trouve dans la mpxapi.que je dois compiler pour
obtenir ce fameux fichier.
Prob lorsque je compile la mpxapi,j'obtiens le message /sys/msg.h No such file or directory
Tiens,y manquais plus que ça maintenant,des headers IPC(je crois,c'est marqué dans un post)
j'ai essayé de remplacer msg.h par message.h mais j'obtiens le même résultat:
mrwqueue.c: In function `mrwSend':
mrwqueue.c:78: error: `IPC_NOWAIT' undeclared (first use in this function)
mrwqueue.c:78: error: (Each undeclared identifier is reported only once
mrwqueue.c:78: error: for each function it appears in.)
mrwqueue.c: In function `mrwRecv':
mrwqueue.c:194: error: `IPC_NOWAIT' undeclared (first use in this function)
mrwqueue.c:196: error: storage size of `queInfo' isn't known
mrwqueue.c:208: error: `IPC_STAT' undeclared (first use in this function)
mrwqueue.c: In function `initMRW':
mrwqueue.c:335: error: `IPC_PRIVATE' undeclared (first use in this function)
mrwqueue.c:341: error: `IPC_CREAT' undeclared (first use in this function)
mrwqueue.c: In function `reinitMRW':
mrwqueue.c:372: error: `IPC_CREAT' undeclared (first use in this function)
mrwqueue.c: In function `termMRW':
mrwqueue.c:431: error: `IPC_RMID' undeclared (first use in this function)
mrwqueue.c: In function `enableTimeoutsMRW':
mrwqueue.c:473: warning: assignment makes pointer from integer without a cast
make[1]: *** [mrwqueue.o] Error 1
que dois-je faire pour ces fonctions non reconnus.Le site d'apple n'est pas très clair sur le sujet des IPC.
Les boules,rien que pour msg.h!!!!!!!!!!!!!
sys/msg.h n'existe plus dans les dernières versions d'OS-X ...
Mais je l'ai trouvé sur une ancienne sauvegarde de Panther ...
http://schlum.homeip.net/msg.h
As-tu aussi regardé http://forum.macbidouille.com/index.php?showtopic=67944 ? (un peu de recherche ne fait pas de mal avant de poser une question ... Trouvé sur google ici en l'occurence )
J'ai déja fait cette recherche,et c'est pour ça que j'ai bien formulé ma question.
De plus ,ce fichier msg.h ne se suffit pas a lui tout seul,(_types.h)est introuvable.existe t-il aussi sous OS X.2 ?puis je le retrouver facilement a l'aide des CD d'installations?Ou chercher?
As tu (comme le préconise le dernier message du lien que j'ai donné) essayé de remplacer "sys/msg.h" par "mach/message.h" ?
Sinon http://schlum.homeip.net/_types.h
Mais ne manque-il pas des bibliothèques dynamiques avec tout ça ?
Bon ok,je commence a saturer sévère avec tous ces probs de compilation ...
Si quelqu'un a déja réussi a compiler la libmpx.so sur mac, qu'il le fasse savoir.
Pour ceux que ça interesse:
http://members.ozemail.com.au/~betts/downloads/
Téléchargez mpxapi.zip
minute ,avec _types.h ca affiche ça:
{ for i in libmpx admsvr examples; \
do \
home=`pwd`; \
cd $i; \
make all; \
cd $home; \
done; }
cc -g -B dynamic -I../include -o libmpx.so mpxs.o mpxc.o mrwqueue.o mpxbmgr.o mpxbt.o
ld: Undefined symbols:
_main
_sigset
make[1]: *** [libmpx.so] Error 1
cc -g -B dynamic -I../include -L/lib -L../libmpx -o mrwadmsvr mrwadmsvr.o -lmpx
ld: warning -L: directory name (/lib) does not exist
ld: can't locate file for: -lmpx
make[1]: *** [mrwadmsvr] Error 1
Makefile:17: *** commands commence before first target. Stop.
Et milles merci pour tes réponses.
J'essaierai ce soir sur mon ancienne sauvegarde ...
Il te manque effectivement des librairies dynamiques
merci encore,parce que la je suis perdu.
Les portages d'applis sous osx,c'est pas du gâteau!!!!
j'ai contacté l'auteur de la mpxapi,voila ce qu'il m'a répondu(je raccourci):
"you will need to create a bundle (the equivalent of
most unix's shared libraries). To do this you will need to change the
CFLAGS line in the make files from:
CFLAGS = -g -B dynamic $(INCLUDE_DIRS)
to:
CFLAGS = -fno-common $(INCLUDE_DIRS)
And anywhere you find:
$(CC) $(CFLAGS) -G
replace with:
$(CC) $(CFLAGS) -bundle -flat_namespace -undefined suppress
I don't have a mac to try this but from what I've read in the doco this
will hopefully do the job. When you have working mac Makefiles could you
send them to me and I'll include them in the zip file.
En gros,l'auteur me propose d'essayer cette solution,(que je vais m'empresser d'essayer mazette) et il me demande de lui envoyer mes modifs si cela fonctionne ,il les incluera dans son archive ZIP.
Les fonctions msgsend msgrcv msgctl etc... ne sont pas gérées par MacOSX, donc même avec le header qui va bien, tu n'arriveras pas a faire fonctionner ton code.
Par contre, il existe sur Freshmeat.org un projet open-source de kext qui offre des services équivalents aux IPC System V: http://freshmeat.net/projects/sysvmsgosx/?branch_id=47833&release_id=160852. Jamais testé, mais ça peut servir...
merci encore,j'y vais voir ça tout de suite!!!!!
merci pour votre réponse chombier.Mais je ne vois pas bien comment utiliser sysvmsg dans mon cas?
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)