Bonjour.

Afin de bénéficier de toutes les fonctionnalités d'un paquetage de R, je dois le compiler. Cette opération réclame les bibliothèques mpi.h et sprng.h.

Pour la première, j'ai essayé d'installer openmpi et lam (avec les fichiers devel et lib associés) mais rien n'y fait.

Les fouilles sur le web ne m'ont pas donné de pistes intéressantes. En avez vous à me conseiller ?

Merci de vos réponses.
pour mpi.h, il te suffit de copier/coller ce code dans un fichier mpi.h (après son emplacement je ne sait pas)
Mpi.h
pour sprng.h, télécharger le tar.gz ici : Quick Start sprng.h

Voila, en 2 minutes sur Google :-P
T'as essayé d'installer les paquets mpi-devel (dedans t'as déjà mpi.h) et lam-devel ?
@Sat : oui, les *-devel sont installés, mais rien n'y fait. C'est d'ailleurs ce qui me surprend.

@PapsOu : en effet, mais cela fait partie des solutions non-satisfaisantes. Par expérience, j'évite les installations d'éléments tiers (qui ne proviennent pas des repos). J'ai eu trop de problème de d'instabilité du système par le passé.
Quel paquet R ?
C'est quoi le message d'erreur ?

Tu as regardé :
yum whatprovides "*/mpi.h
Pour sprng j'ai peur qu'il te faille packager/compiler le logiciel du lien donner plus haut
Il s'agit du paquetage "proxy" qui est notamment lié aux paquetages suivants :
- Rmpi ;
- rpvm ;
- rsprng ;
- snowFT ;
- latentnet.
Sachant qu'ils dépendent tous les uns des autres, j'obtiens systématiquement les avis suivants :
- pour sprng.h
checking sprng.h usability... no
checking sprng.h presence... no
checking for sprng.h... no
Cannot find sprng 2.0 header file.
ERROR: configuration failed for package 'rsprng'
- pour mpi.h
checking mpi.h usability... no
checking mpi.h presence... no
checking for mpi.h... no
configure: error: "Cannot find mpi.h header file"
ERROR: configuration failed for package 'Rmpi'
Concernant sprng.h s'il faut passer par la compilation proposer, je vais me faire une raison...
Euh mpi.h est bien dans openmpi-devel
$ repoquery -l openmpi-devel | grep mpi.h
/usr/include/openmpi-i386/mpi.h
/usr/include/openmpi-x86_64/mpi.h
Je recommanderai pour ma part mpich2 comme implémentation de MPI, sous réserve que le programme à compiler le permette, s'agissant de facto d'un standard 😉.
De mémoire R-rsprng j'y avais jeté un oeil mais je n'avais pas fini de le compiler car si je me rappel bien la license de sprng n'est pas terrible.

Au pire tu zap le R CMD CHECK et tu vois si ton paquet s'utilise quand même comme tu veux.
Si ton mpi.h est dans /usr/include/openmpi-x86_64/, essaie
export CPPFLAGS=-I/usr/include/openmpi-x86_64/  ./configure
on ne sait jamais...
calimerolin wrote:Si ton mpi.h est dans /usr/include/openmpi-x86_64/, essaie
export CPPFLAGS=-I/usr/include/openmpi-x86_64/  ./configure
on ne sait jamais...
À moins que les scripts de compilation soient vraiment mal faits, on ne devrait jamais faire cela. Si ce paquet requiert une implémentation de MPI, le compilateur mpicc devrait être appelé par lesdits scripts, c'est une règle à appliquer qui évite justement de se compliquer la tâche en spécifiant explicitement les flags de compilation qui varient d'un système à l'autre et d'une implémentation de MPI à l'autre également.
Je suis entièrement d'accord avec toi Pikachu_2014. Mais si le script de configuration ne trouve pas le fichier alors qu'il est présent, je ne vois pas d'autres solutions.
Cette commande est inoffensive, je ne comprend pas très bien le sens de ton «jamais». Je suppose que tu veux dire que si le paquet est bien fait et conçu multi-os, alors l'utilisateur ne devrait pas avoir à recourir à ça.
Tu confirmes ?
je ne me prononcerai qu'avec un lien vers les sources ^^
Pikachu_2014 wrote:Je recommanderai pour ma part mpich2 comme implémentation de MPI, sous réserve que le programme à compiler le permette, s'agissant de facto d'un standard 😉.
Après installation de mpich2 et mpich-devel, le résultat reste le même.
pingou wrote:De mémoire R-rsprng j'y avais jeté un oeil mais je n'avais pas fini de le compiler car si je me rappel bien la license de sprng n'est pas terrible.

Au pire tu zap le R CMD CHECK et tu vois si ton paquet s'utilise quand même comme tu veux.
En effet, le paquetages de appelés en dépendance ne me sont pas réellement utiles à court terme. C'est juste que je souhaitais réaliser une installation propre.
calimerolin wrote:Si ton mpi.h est dans /usr/include/openmpi-x86_64/, essaie
export CPPFLAGS=-I/usr/include/openmpi-x86_64/  ./configure
on ne sait jamais...
Merci pour cette astuce. J'y reviendrai en cas de nécessité absolue (et sous réserve d'une approbation de la part de Pikachu_2014).
Je n'approuve rien, je ne suis pas Dieu le Père ^^. Je commente, nuance ^^.

As-tu un lien vers les sources qu'on puisse également y jeter un oeil ?
Voici des liens pour le paquetage Rpmi de R : lien1 ou lien2.

Je peux aussi vous donner les liens vers les quatre autres paquetages incriminés si cela est utile.
De fait au moins le nom des 4 autres paquet m'intéresse 🙂
rlecuyer j'ai le RPM
rsprng Je peux faire le RPM sans problème mais je commenterai le %check car je ne veux pas packager sprng

Je peux ensuite regarder pour Rmpi si tu veux
Heldwin wrote:
Pikachu_2014 wrote:Je n'approuve rien, je ne suis pas Dieu le Père ^^
Raaah, et moi qui venais de finir le vernissage de mon totem pikachu ...
Je suis effondré... 🙂
Il est pas le père, mais ça ne veut pas dire qu'il soit ni le fils ni le St Esprit !