Executer un prgme c linux

Bonjour,

je traivail sur ubuntu 10 ,j'ai installé pvm par gestionnaire des paquets synaptic, comment executer un programme c qui contients des instruction pvm par exemple

#include "pvm3.h"

int main() {

int ptid;
char buf[55];

ptid = pvm_parent();
strcpy(buf, "bonjour, depuis la machine ");
gethostname(buf + strlen(buf), 25);

pvm_initsend(PvmDataDefault);
pvm_pkstr(buf);
pvm_send(ptid, 1);

pvm_exit();
exit(0);
}

merci

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. j'ai telechargé un pquet pvm et j'ai changé PVM_ROOT=..../pvm3
    mais j'ai d'autre erreur quand j'execute aimk hello

    cc hello.c -o hello
    /tmp/ccwXwbMU.o: In function 'main':
    hello.c:(.text+0x16): undefined reference to 'pvm_parent'
    hello.c:(.text+0x67): undefined reference to 'pvm_initsend'
    hello.c:(.text+0x73): undefined reference to 'pvm_pkstr'
    hello.c:(.text+0x87): undefined reference to 'pvm_send'
    hello.c:(.text+0x8c): undefined reference to 'pvm_exit'
    collect2: ld returned 1 exit status
    make: *** [hello] Erreur 1

    merci
    1. oui il sont installé le probleme c'eté au niveau de la variable PVM_ROOT
      mais maintenant le probleme au PVL_ARCH voici l'erreur quand j'execute
      aimk hello

      grep: usr/lib/pvm3/conf/usr/lib/pvm3/lib/pvmgetarch.def: Aucun fichier ou dossier de ce type
      making in . for usr/lib/pvm3/lib/pvmgetarch
      exec: 105: PVM_ARCH=usr/lib/pvm3/lib/pvmgetarch: not found

      pourtant le fichier pvmgetarch existe mais il est presque vide
      voici son contenu

      #! /bin/sh
      echo LINUX

      Merci bcp
      1. Modérateur
        As tu installé le package de développement pvm (qui contient les fichiers include nécessaires) ?

        johand@osiris:~/tmp$ apt-cache search pvm | grep dev  
        libblacs-mpi-dev - Basic Linear Algebra Comm. Subprograms - Dev. files for MPI  
        blacs-pvm-dev - Basic Linear Algebra Comm. Subprograms - Dev. files for PVM  
        pvm-dev - Parallel Virtual Machine - development files  
        libscalapack-mpi-dev - Scalable Linear Algebra Package - Dev. files for MPICH  
        libscalapack-pvm-dev - Scalable Linear Algebra Package - Dev. files for PVM  
        johand@osiris:~/tmp$ apt-file show pvm-dev | grep pvm3.h  
        pvm-dev: /usr/include/fpvm3.h  
        pvm-dev: /usr/include/pvm3.h  
        

        et puis il manque des include
        #include <stdlib.h> 
        #include <string.h>
        #include <unistd.h>

        non exhaustif....
        Johan

        Gates gave ^H sold you the windows.
        GNU gave us the whole house.(Alexandrin)
        1. T'as mis
          #include "pvm3.h"
          est ce que pvm3.h est un faichier créer par toi ou quoi?? Si oui il doit être mis dans le même répértoire que le fichier .c

          Par ailleur je te conseil d'installer l'un d'autres compélateur ça sera plus facile à visualiser les erreurs.
          1. merci de me repondre mais quand je compile mon programme j'ai des erreurs

            voici les erreurs

            hello.c:1:18: error: pvm3.h: Aucun fichier ou dossier de ce type
            hello.c: In function `main':
            hello.c:9: warning: incompatible implicit declaration of built-in function `strcpy'
            hello.c:10: warning: incompatible implicit declaration of built-in function `strlen'
            hello.c:12: error: `PvmDataDefault' undeclared (first use in this function)
            hello.c:12: error: (Each undeclared identifier is reported only once
            hello.c:12: error: for each function it appears in.)
            hello.c:17: warning: incompatible implicit declaration of built-in function `exit'

            elle a une relation avec la configuration pvm peut etre
            1. Les systèmes GNU/Linux(Ubuntu inclut) contient un compilateur C, c'est la commande gcc, pour savoir plus tape
              man gcc
              dans le terminal, sinon il y a d'autres compilateurs comme Code::Blocks(Il est disponible dans le logithèque Ubuntu) ou NetBeans(il est disponible aussi dans le logithèque MAIS à mon avis ç'est mieux de la télécharger à partir du site web officiel)