Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Programmation _ prob compilation

Écrit par : houlala63 26 Jul 2004, 21:19

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!!!!!!!!!!!!!

Écrit par : schlum 27 Jul 2004, 08:24

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 tongue.gif )

Écrit par : houlala63 27 Jul 2004, 14:24

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? unsure.gif

Écrit par : schlum 27 Jul 2004, 15:19

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 ?

Écrit par : houlala63 27 Jul 2004, 15:29

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

Écrit par : houlala63 27 Jul 2004, 15:33

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.

Écrit par : schlum 27 Jul 2004, 15:38

J'essaierai ce soir sur mon ancienne sauvegarde ...
Il te manque effectivement des librairies dynamiques

Écrit par : houlala63 27 Jul 2004, 15:52

merci encore,parce que la je suis perdu.




Les portages d'applis sous osx,c'est pas du gâteau!!!!

Écrit par : schlum 27 Jul 2004, 21:27

QUOTE(houlala63 @ 27 Jul 2004, 16:52)
merci encore,parce que la je suis perdu.




Les portages d'applis sous osx,c'est pas du gâteau!!!!
[right][snapback]791512[/snapback][/right]

Mêmes erreurs que toi ; il manque le "main" et le "sigset" et il ne trouve pas -lmpx dry.gif

Écrit par : houlala63 3 Aug 2004, 10:55

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. cool.gif

Écrit par : chombier 3 Aug 2004, 16:01

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...

Écrit par : houlala63 3 Aug 2004, 16:06

merci encore,j'y vais voir ça tout de suite!!!!! tongue.gif

Écrit par : houlala63 4 Aug 2004, 18:48

merci pour votre réponse chombier.Mais je ne vois pas bien comment utiliser sysvmsg dans mon cas? unsure.gif

Écrit par : chombier 5 Aug 2004, 10:49

QUOTE(houlala63 @ 4 Aug 2004, 18:48)
merci pour votre réponse chombier.Mais je ne vois pas bien comment utiliser sysvmsg dans mon cas? unsure.gif [right][snapback]799610[/snapback][/right]

Il faut ouvrir le projet "sysvmsg.xcode" dans le dossier kext_project, générer le kext, puis placer le fichier sysvmsg.kext obtenu dans le dossier /System/Library/Extensions, tout est expliqué dans le fichier README.
Une fois cette extension installée (soit par kextload, soit après un reboot, si tu as bien suivi l'installation dans le README et recopié l'extension dans /Library/StartupItems) tu peux te servir des nouvelles fonctions dans ton projet mpxapi.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)