Jean-Michel OLTRA a �crit :


        bonjour,
Salut...De retour du boulot...
Content de te retrouver :p !


J'ai commenc� � regarder le source de pvm que j'ai t�l�charg� (pvm3, la
derni�re version).
main() est dans pvmd.c
On y trouve des appels � pvmlogprintf(), et on y voit que le fichier de log
devrait �tre sous /tmp/pvml.$UID (voir macro PVMDLOGFILE). Premier truc
diff�rent de chez toi.

Oui j'ai vu car au boulot j'ai une Red Hat et c'est ce qui se passe avec le pvm de RH...

main () appelle master_config() qui appelle mksocs() qui fabrique les
sockets. D'aboird les deux sockets AF_INET/SOCK_DGRAM, puis la socket
AF_UNIX/SOCK_STREAM
mksocs utilise pvmdsockfile() pour le nom de fichier � utiliser
(pvmcruft.c) et la variable TDSOCKNAME (pvmproto.h), qui serait du style
/tmp/pvmd.$UID. Le nom du fichier de socket unix est donn� par tmpnam() et
�crit dans ce fichier. Le nom du fichier est envoy� dans une variable
d'environnement PVMSOCK � la fin de ladite fonction. Donc c'est bien le nom
de la socket unix qui est �crite, comme tu le d�cris.


[t80040000] 05/02 11:34:46 buzz2 (127.0.0.1:32771) LINUX 3.4.2
[t80040000] 05/02 11:34:46 ready Sun May  2 11:34:46 2004
et le fichier "sock" contenant le nom du fichier (vide) cr�� sous /tmp :
/tmp/filea8uBxU


si tu en arrives l� c'est que les fonctions que j'ai cit�es plus haut
se sont bien termin�es et que tu es dans work(), tout du moins au d�but.

alors il para�t zarbi que le fichier /tmp/pvmd.$uid qui doit contenir le
nom de la socket s'appelle autrement maintenant.
Id�e farfelue: le renommer ? Pour voir. En /tmp/pvmd.0 (avec le nom de
socket dedans, bien s�r)
Comme je suis un canaillou pas dou� j'avais d�j� essay�... :p
Mais l� j'obtiens :

libpvm [pid6008] mksocs() read addr file: Is a directory
libpvm [pid6008] mksocs() read addr file: Is a directory
libpvm [pid6008] mksocs() read addr file: Is a directory
libpvm [pid6008]: pvm_mytid(): Can't contact local daemon
INI File Error: Error starting master task.



Mais l� ces fichiers ne sont pas cr��s... Seul le r�pertoire /tmp/pvm.$UID est cr�� et l'application se plaint au lancement de ne pas trouver les fichiers /tmp/pvmd.$UID


Ce ne devrait pas �tre un r�pertoire.

J'ai pas regard� plus loin que les logs que tu obtiens (les 2 lignes
plus haut). Pour creuser un peu plus il faudrait regarder le code de
lpvm.c qui fait la lib mais ce serait bien d'avoir les message d'erreur
que tu obtiens au lancement de l'application.
Les voici :


libpvm [pid5995] /tmp/pvmd.1000: No such file or directory
libpvm [pid5995] /tmp/pvmd.1000: No such file or directory
libpvm [pid5995] /tmp/pvmd.1000: No such file or directory
libpvm [pid5995]: pvm_mytid(): Can't contact local daemon
INI File Error: Error starting master task.




Mais c'est le code originel de pvmd que j'ai, pas celui de Debian qui a
p� �t� modifi� ?
Il y a peut-etre de �a...

PS: �a marcherait sur un monoprocesseur ce truc l�.......?

A priori oui puisque tout ce qu'il faut est un fichier host o� le maitre va piocher la liste d'esclaves qui lui sont connect�s et � qui il va r�partir les taches

J'oubliais...
Tout fonctionne bien sous la Red Hat 9...Et sur une machine tr�s similaire � la mienne (bi-proc sur carte MSI)
Les boules quoi !

Merci encore
Pascal

--
"L'avenir, c'est � l'avance qu'il faut y penser."
R. Brautigan

Répondre à