[OMPI users] Rmpi installation issues
Dear all, I have troubles installing rmpi 0.5-5 (or 0.5-6) on a quad opteron machine with OpenSUSE 11.0 and R 2.7.2 platform x86_64-unknown-linux-gnu arch x86_64 os linux-gnu system x86_64, linux-gnu status Patched major 2 minor 7.2 year 2008 month 09 day18 svn rev46546 language R version.string R version 2.7.2 Patched (2008-09-18 r46546) I tried the following # export MPI_ROOT=/usr/lib64/mpi/gcc/openmpi/ # R CMD INSTALL Rmpi_0.5-6.tar.gz * Installing to library '/usr/local/lib64/R/library' * Installing *source* package 'Rmpi' ... checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed Try to find mpi.h ... Found in /usr/lib64/mpi/gcc/openmpi//include Try to find libmpi.so or libmpich.a checking for main in -lmpi... yes checking for openpty in -lutil... yes checking for main in -lpthread... yes configure: creating ./config.status config.status: creating src/Makevars ** libs gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include-fpic -g -O2 -c RegQuery.c -o RegQuery.o gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include-fpic -g -O2 -c Rmpi.c -o Rmpi.o gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include-fpic -g -O2 -c conversion.c -o conversion.o gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 -DOPENMPI -fPIC -I/usr/local/include-fpic -g -O2 -c internal.c -o internal.o gcc -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o Rmpi.o conversion.o internal.o -L/usr/lib64/mpi/gcc/openmpi//lib -lmpi -lutil -lpthread -fPIC /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lmpi collect2: ld returned 1 exit status make: *** [Rmpi.so] Error 1 chmod: cannot access `/usr/local/lib64/R/library/Rmpi/libs/*': No such file or directory ERROR: compilation failed for package 'Rmpi' ** Removing '/usr/local/lib64/R/library/Rmpi' I also tried with R CMD INSTALL Rmpi_0.5-6.tar.gz --configure-args=--with-mpi=/usr/lib64/mpi/gcc/openmpi/ with the same results. Any help would be greatly appreciated. Regards Simone Giannerini -- __ Simone Giannerini Dipartimento di Scienze Statistiche "Paolo Fortunati" Universita' di Bologna Via delle belle arti 41 - 40126 Bologna, ITALY Tel: +39 051 2098262 Fax: +39 051 232153 http://www2.stat.unibo.it/giannerini/ __
Re: [OMPI users] Rmpi installation issues
Dear Dirk, many thanks for your reply, please see below, On 13 October 2008 at 11:22, Simone Giannerini wrote: | Dear all, | | I have troubles installing rmpi 0.5-5 (or 0.5-6) on a quad opteron machine | with OpenSUSE 11.0 and | R 2.7.2 | | platform x86_64-unknown-linux-gnu | arch x86_64 | os linux-gnu | system x86_64, linux-gnu | status Patched | major 2 | minor 7.2 | year 2008 | month 09 | day 18 | svn rev 46546 | language R | version.string R version 2.7.2 Patched (2008-09-18 r46546) | | I tried the following | | # export MPI_ROOT=/usr/lib64/mpi/gcc/openmpi/ | | # R CMD INSTALL Rmpi_0.5-6.tar.gz Where did you get 0.5-6 from? The newest, per the author's website, is 0.5-5. http://www.stats.uwo.ca/faculty/yu/Rmpi/download/dev | * Installing to library '/usr/local/lib64/R/library' | * Installing *source* package 'Rmpi' ... | checking for gcc... gcc | checking for C compiler default output file name... a.out | checking whether the C compiler works... yes | checking whether we are cross compiling... no | checking for suffix of executables... | checking for suffix of object files... o | checking whether we are using the GNU C compiler... yes | checking whether gcc accepts -g... yes | checking for gcc option to accept ISO C89... none needed | Try to find mpi.h ... | Found in /usr/lib64/mpi/gcc/openmpi//include | Try to find libmpi.so or libmpich.a | checking for main in -lmpi... yes At this point you have mpi.h and libmpi. Looks good. | checking for openpty in -lutil... yes | checking for main in -lpthread... yes | configure: creating ./config.status | config.status: creating src/Makevars | ** libs | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c RegQuery.c -o | RegQuery.o | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c Rmpi.c -o Rmpi.o | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c conversion.c -o | conversion.o | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c internal.c -o | internal.o It all compiles, thanks to mpi.h. | gcc -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o Rmpi.o | conversion.o internal.o -L/usr/lib64/mpi/gcc/openmpi//lib -lmpi -lutil | -lpthread -fPIC | /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: | cannot find -lmpi | collect2: ld returned 1 exit status | make: *** [Rmpi.so] Error 1 | chmod: cannot access `/usr/local/lib64/R/library/Rmpi/libs/*': No such file | or directory | ERROR: compilation failed for package 'Rmpi' | ** Removing '/usr/local/lib64/R/library/Rmpi' This seems to indicate that your installation of Open MPI conflicts with your setting of export MPI_ROOT=/usr/lib64/mpi/gcc/openmpi/ as this directory is expected to contain include/ and lib/ I am not sure I got this, Open MPI is installed in /usr/lib64/mpi/gcc/openmpi/ and such directory contains both include and lib folders: gauss:/usr/lib64/mpi/gcc/openmpi # ls -R bin include lib64 share ./bin: mpiCC mpicc mpiexec mpif90 mpivars.csh ompi_info opalc++ ortec++ orted mpic++ mpicxx mpif77 mpirun mpivars.sh opal_wrapper opalcc ortecc orterun ./include: mpi.h mpif-common.h mpif-config.h mpif.h openmpi ./include/openmpi: ompi opal opal_config_bottom.h orte ompi_config.h opal_config.h opal_stdint.h orte_config.h [...] ./lib64: libmca_common_sm.lalibmpi_cxx.lalibmpi_f90.la libopen-rte.la libmca_common_sm.solibmpi_cxx.solibmpi_f90.so libopen-rte.so libmca_common_sm.so.0 libmpi_cxx.so.0 libmpi_f90.so.0 libopen-rte.so.0 libmca_common_sm.so.0.0.0 libmpi_cxx.so.0.0.0 libmpi_f90.so.0.0.0 libopen-rte.so.0.0.0 libmpi.la libmpi_f77.lalibopen-pal.la mpi.mod libmpi.so libmpi_f77.solibopen-pal.so openmpi libmpi.so.0libmpi_f77.so.0 libopen-pal.so.0 libmpi.so.0.0.0libmpi_f77.so.0.0.0 libopen-pal.so
Re: [OMPI users] Rmpi installation issues
For the sake of completeness, Rmpi 0.5-5 does not even find libmpi gauss:~/Desktop # R CMD INSTALL Rmpi_0.5-5.tar.gz --configure-args=--with-mpi=/usr/lib64/mpi/gcc/openmpi/ * Installing to library '/usr/local/lib64/R/library' * Installing *source* package 'Rmpi' ... checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed Try to find mpi.h ... Found in /usr/lib64/mpi/gcc/openmpi//include Try to find libmpi.so or libmpich.a checking for main in -lmpi... no libmpi not found. exiting... ERROR: configuration failed for package 'Rmpi' ** Removing '/usr/local/lib64/R/library/Rmpi' and adding CC="mpicc" does not solve the problem Thanks, Simone On Mon, Oct 13, 2008 at 3:56 PM, Simone Giannerini wrote: > Dear Dirk, > > many thanks for your reply, please see below, > > > On 13 October 2008 at 11:22, Simone Giannerini wrote: > | Dear all, > | > | I have troubles installing rmpi 0.5-5 (or 0.5-6) on a quad opteron > machine > | with OpenSUSE 11.0 and > | R 2.7.2 > | > | platform x86_64-unknown-linux-gnu > | arch x86_64 > | os linux-gnu > | system x86_64, linux-gnu > | status Patched > | major 2 > | minor 7.2 > | year 2008 > | month 09 > | day 18 > | svn rev 46546 > | language R > | version.string R version 2.7.2 Patched (2008-09-18 r46546) > | > | I tried the following > | > | # export MPI_ROOT=/usr/lib64/mpi/gcc/openmpi/ > | > | # R CMD INSTALL Rmpi_0.5-6.tar.gz > > Where did you get 0.5-6 from? The newest, per the author's website, is > 0.5-5. > > http://www.stats.uwo.ca/faculty/yu/Rmpi/download/dev > > > | * Installing to library '/usr/local/lib64/R/library' > | * Installing *source* package 'Rmpi' ... > | checking for gcc... gcc > | checking for C compiler default output file name... a.out > | checking whether the C compiler works... yes > | checking whether we are cross compiling... no > | checking for suffix of executables... > | checking for suffix of object files... o > | checking whether we are using the GNU C compiler... yes > | checking whether gcc accepts -g... yes > | checking for gcc option to accept ISO C89... none needed > | Try to find mpi.h ... > | Found in /usr/lib64/mpi/gcc/openmpi//include > | Try to find libmpi.so or libmpich.a > | checking for main in -lmpi... yes > > At this point you have mpi.h and libmpi. Looks good. > > | checking for openpty in -lutil... yes > | checking for main in -lpthread... yes > | configure: creating ./config.status > | config.status: creating src/Makevars > | ** libs > | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" > | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" > | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 > | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c RegQuery.c -o > | RegQuery.o > | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" > | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" > | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 > | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c Rmpi.c -o Rmpi.o > | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" > | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" > | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 > | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c conversion.c -o > | conversion.o > | gcc -std=gnu99 -I/usr/local/lib64/R/include -DPACKAGE_NAME=\"\" > | -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" > | -DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/mpi/gcc/openmpi//include -DMPI2 > | -DOPENMPI -fPIC -I/usr/local/include -fpic -g -O2 -c internal.c -o > | internal.o > > It all compiles, thanks to mpi.h. > > | gcc -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o Rmpi.o > | conversion.o internal.o -L/usr/lib64/mpi/gcc/openmpi//lib -lmpi -lutil > | -lpthread -fPIC > | > /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: > | cannot find -lmpi > | collect2: ld returned 1 exit status > | make: *** [Rmpi.so] Error 1 > | chmod: cannot access `/usr/local/lib64/R/library/Rmpi/lib
Re: [OMPI users] Rmpi installation issues
[...] > Your mail is basically unreadable / impossible to attribute what is > original and what is cited. Please follow convention and indent. I am sorry, I am copy/pasting the messages because I switched off receiving list mails. I forgot to ask to reply also to my personal address. Hope this one is readable [...] > Ok, didn't see that. But please do understand that 0.5-5 is on CRAN > and released. (And yes, that is the version for which I also had to > make a fix to get it build on Debian as mentioned). Ok I 'll stick to that one [...] > Not it does not as lib64 != lib. You probably it installed if you > create a softlink from >/usr/lib64/mpi/gcc/openmpi/lib64 > > to > /usr/lib64/mpi/gcc/openmpi/lib > > Dirk Thank you, the following works for me: # ln -s /usr/lib64/mpi/gcc/openmpi/lib64/ /usr/lib64/mpi/gcc/openmpi/lib # CC="mpicc" R CMD INSTALL Rmpi_0.5-5.tar.gz --configure-args=--with-mpi=/usr/lib64/mpi/gcc/openmpi/ # mpirun --version mpirun (Open MPI) 1.2.5 So far so good, thanks also to *Sean Davis.* *ciao* *Simone* ______ Simone Giannerini Dipartimento di Scienze Statistiche "Paolo Fortunati" Universita' di Bologna Via delle belle arti 41 - 40126 Bologna, ITALY Tel: +39 051 2098262 Fax: +39 051 232153 http://www2.stat.unibo.it/giannerini/ __
Re: [OMPI users] Rmpi installation issues
>>> # ln -s /usr/lib64/mpi/gcc/openmpi/lib64/ /usr/lib64/mpi/gcc/ >>> openmpi/lib >>> # CC="mpicc" R CMD INSTALL Rmpi_0.5-5.tar.gz >>> --configure-args=--with-mpi=/usr/lib64/mpi/gcc/openmpi/ >> >> You can drop the --configure-args. Using the correct mpicc should >> take care of all the linking, etc. >You can probably also drop the sym link. I am afraid I cannot, moreover, for some reason, from a non root account I get: giannerini@gauss:~> su [...] gauss:/home/giannerini # cd /root/Desktop/ gauss:~/Desktop # CC="mpicc" R CMD INSTALL Rmpi_0.5-5.tar.gz --configure-args=--with-mpi=/usr/lib64/mpi/gcc/openmpi/ * Installing to library '/usr/local/lib64/R/library' * Installing *source* package 'Rmpi' ... checking for gcc... mpicc checking for C compiler default output file name... a.out checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. ERROR: configuration failed for package 'Rmpi' ** Removing '/usr/local/lib64/R/library/Rmpi' ** Restoring previous '/usr/local/lib64/R/library/Rmpi' gauss:~/Desktop # R CMD INSTALL Rmpi_0.5-5.tar.gz --configure-args=--with-mpi=/usr/lib64/mpi/gcc/openmpi/ * Installing to library '/usr/local/lib64/R/library' [...] ** building package indices ... * DONE (Rmpi) Notice that now it works only if I remove the CC directive. In any case I confirm that I can load the package Rmpi even if I am experiencing some problems, will study a bit and in case get back to the forum, thanks again. -- __ Simone Giannerini Dipartimento di Scienze Statistiche "Paolo Fortunati" Universita' di Bologna Via delle belle arti 41 - 40126 Bologna, ITALY Tel: +39 051 2098262 Fax: +39 051 232153 http://www2.stat.unibo.it/giannerini/ __
[OMPI users] Problems with OpenMPI running with Rmpi
is is the content of my etc/conf.dat OpenIB-cma u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib0 0" "" OpenIB-cma-1 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib1 0" "" OpenIB-cma-2 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib2 0" "" OpenIB-cma-3 u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "ib3 0" "" OpenIB-bond u1.2 nonthreadsafe default libdaplcma.so.1 dapl.1.2 "bond0 0" "" ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" "" ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib1 0" "" ofa-v2-ib2 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib2 0" "" ofa-v2-ib3 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib3 0" "" ofa-v2-bond u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "bond0 0" "" I have searched the archives and found that the following suggestion was given for a similar problem: > Open MPI has Infiniband module compiled but there is no IB device found > on your host. Try to add "--mca btl ^openib" string to your command > line. Since I am not calling mpi directly but through Rmpi I do not know where to put that flag, I might contact the Rmpi mantainer, in any case, I would be grateful if you had further suggestions. Thank you very much, Simone -- __ Simone Giannerini Dipartimento di Scienze Statistiche "Paolo Fortunati" Universita' di Bologna Via delle belle arti 41 - 40126 Bologna, ITALY Tel: +39 051 2098262 Fax: +39 051 232153 http://www2.stat.unibo.it/giannerini/ __
Re: [OMPI users] Problems with OpenMPI running with Rmpi
Dear Dirk, many thanks for your reply, >On 17 October 2008 at 12:42, Simone Giannerini wrote: >| Dear all, >| >| I managed to install successfully Rmpi 0.5-5 on a quad opteron machine (8 >| cores overall) running on OpenSUSE 11.0 and Open MPI 1.5.2. >| >| this is what I get >| >| > library(Rmpi) >| [gauss:24207] mca: base: component_find: unable to open osc pt2pt: file not >| found (ignored) >| libibverbs: Fatal: couldn't read uverbs ABI version. >| -- >| [0,0,0]: OpenIB on host gauss was unable to find any HCAs. >| Another transport will be used instead, although this may result in >| lower performance. >| -- > >I am surprised that your googling did lead to you stumbling on dozens of >posts on this telling you that the config file > >/etc/openmpi/openmpi-mca-params.conf (location for Debian etc) > >can be changed to explicitly setting btl to 'no openib' as in > ># Disable the use of InfiniBand ># btl = ^openib >btl = ^openib > thanks, I had also read some of your previous posts but for sure I should have tried harder. >which will suppress the warning by suppressing the load of IB. Better still, >newer Open MPI release do this by default. > I managed to upgrade to version 1.2.6 that has that option enabled by default. Unfortunately though, it only suppresses the following warning libibverbs: Fatal: couldn't read uverbs ABI version. while the others remain. In any case as I pointed out in my previous post the issue is that only two threads are spawn per session. Maybe I should try to check whether Ompi is working properly before getting to Rmpi. I will try to work it out, of course any suggestions would be heartily welcome. ciao Simone >| I have searched the archives and found that the following suggestion was >| given for a similar problem: >| >| > Open MPI has Infiniband module compiled but there is no IB device found >| > on your host. Try to add "--mca btl ^openib" string to your command >| > line. > >That's one way of suppressing it, but not the only one. > >| Since I am not calling mpi directly but through Rmpi I do not know where to >| put that flag, I might contact the Rmpi mantainer, in any case, I would be >| grateful if you had further suggestions. > >There is nothing Rmpi can do there so contacting Dr Yu, while generally a >good idea with actual Rmpi issues, is not really advised here. > >Cheers, Dirk -- __ Simone Giannerini Dipartimento di Scienze Statistiche "Paolo Fortunati" Universita' di Bologna Via delle belle arti 41 - 40126 Bologna, ITALY Tel: +39 051 2098262 Fax: +39 051 232153 http://www2.stat.unibo.it/giannerini/ __