Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] OpenMPI and R
From: TERRY DONTJE (terry.dontje_at_[hidden])
Date: 2012-04-06 06:59:20


Have you tried to compile and run a simple MPI program with your
installed Open MPI? If that works then you need to figure out what is
being done by the Makefile when it is "testing if installed package can
be loaded" and try and reproduce the issue manually.

BTW, I normally configure my OMPI with -enable-orterun-prefix-by-default
to get OMPI to pull in the right library paths instead of using ldconfig.

In the below ldconfig -p you may want to also grep for mca to make sure
the plugins being complained about in the R testing are found too,
though I suspect they are but it would be good to double check.

--td

On 4/5/2012 7:59 PM, Benedict Holland wrote:
> So I am now back on this full time as I need this to work. OpenMPI
> 1.4.3 is deadlocking with Rmpi and I need the latest code. I still get
> the exact same problem. I configured it with a --prefix=/usr to get it
> to install everything in default directories and added
> /usr/lib/openmpi to my ldconfig. I don't have a LD_LIBRARY_PATH global
> variable on ubuntu 11.10.
>
> ldconfig -p |grep mpi
> libvt-mpi.so.0 (libc6,x86-64) => /usr/lib/libvt-mpi.so.0
> libvt-mpi.so (libc6,x86-64) => /usr/lib/libvt-mpi.so
> libvt-mpi-unify.so.0 (libc6,x86-64) => /usr/lib/libvt-mpi-unify.so.0
> libvt-mpi-unify.so (libc6,x86-64) => /usr/lib/libvt-mpi-unify.so
> libopenmpi_malloc.so.0 (libc6,x86-64) => /usr/lib/libopenmpi_malloc.so.0
> libompitrace.so.0 (libc6,x86-64) => /usr/lib/libompitrace.so.0
> libompitrace.so (libc6,x86-64) => /usr/lib/libompitrace.so
> libompi_dbg_msgq.so (libc6,x86-64) => /usr/lib/openmpi/libompi_dbg_msgq.so
> libmpi_f90.so.1 (libc6,x86-64) => /usr/lib/libmpi_f90.so.1
> libmpi_f90.so.0 (libc6,x86-64) => /usr/lib/libmpi_f90.so.0
> libmpi_f90.so (libc6,x86-64) => /usr/lib/libmpi_f90.so
> libmpi_f77.so.1 (libc6,x86-64) => /usr/lib/libmpi_f77.so.1
> libmpi_f77.so.0 (libc6,x86-64) => /usr/lib/libmpi_f77.so.0
> libmpi_f77.so (libc6,x86-64) => /usr/lib/libmpi_f77.so
> libmpi_cxx.so.1 (libc6,x86-64) => /usr/lib/libmpi_cxx.so.1
> libmpi_cxx.so.0 (libc6,x86-64) => /usr/lib/libmpi_cxx.so.0
> libmpi_cxx.so (libc6,x86-64) => /usr/lib/libmpi_cxx.so
> libmpi.so.1 (libc6,x86-64) => /usr/lib/libmpi.so.1
> libmpi.so.0 (libc6,x86-64) => /usr/lib/libmpi.so.0
> libmpi.so (libc6,x86-64) => /usr/lib/libmpi.so
> libexempi.so.3 (libc6,x86-64) => /usr/lib/libexempi.so.3
> libcompizconfig.so.0 (libc6,x86-64) => /usr/lib/libcompizconfig.so.0
>
> Compiling Rmpi from inside R gives me:
>
> * installing *source* package 'Rmpi' ...
> checking for gcc... gcc -std=gnu99
> 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 -std=gnu99 accepts -g... yes
> checking for gcc -std=gnu99 option to accept ISO C89... none needed
> I am here /usr and it is OpenMPI
> Trying to find mpi.h ...
> Found in /usr/include
> Trying to find libmpi.so or libmpich.a ...
> Found libmpi in /usr/lib
> checking for openpty in -lutil... yes
> checking for main in -lpthread... yes
> configure: creating ./config.status
> config.status: creating src/Makevars
> ** Creating default NAMESPACE file
> ** libs
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -DPACKAGE_NAME=\"\"
> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/include -DMPI2 -DOPENMPI -fpic
> -O3 -pipe -g -c RegQuery.c -o RegQuery.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -DPACKAGE_NAME=\"\"
> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/include -DMPI2 -DOPENMPI -fpic
> -O3 -pipe -g -c Rmpi.c -o Rmpi.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -DPACKAGE_NAME=\"\"
> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/include -DMPI2 -DOPENMPI -fpic
> -O3 -pipe -g -c conversion.c -o conversion.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -DPACKAGE_NAME=\"\"
> -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/include -DMPI2 -DOPENMPI -fpic
> -O3 -pipe -g -c internal.c -o internal.o
> gcc -std=gnu99 -shared -o Rmpi.so RegQuery.o Rmpi.o conversion.o
> internal.o -L/usr/lib -lmpi -lutil -lpthread -L/usr/lib/R/lib -lR
> installing to /usr/local/lib/R/site-library/Rmpi/libs
> ** R
> ** demo
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> ** building package indices
> ** testing if installed package can be loaded
> [ben-Inspiron-1764:18216] mca: base: component_find: unable to open
> /usr/lib/openmpi/mca_paffinity_hwloc:
> /usr/lib/openmpi/mca_paffinity_hwloc.so: undefined symbol:
> opal_hwloc_topology (ignored)
> [ben-Inspiron-1764:18216] mca: base: component_find: unable to open
> /usr/lib/openmpi/mca_shmem_posix: /usr/lib/openmpi/mca_shmem_posix.so:
> undefined symbol: opal_shmem_base_output (ignored)
> [ben-Inspiron-1764:18216] mca: base: component_find: unable to open
> /usr/lib/openmpi/mca_ess_hnp: /usr/lib/openmpi/mca_ess_hnp.so:
> undefined symbol: orte_timing_output (ignored)
> [ben-Inspiron-1764:18216] mca: base: component_find: unable to open
> /usr/lib/openmpi/mca_ess_singleton:
> /usr/lib/openmpi/mca_ess_singleton.so: undefined symbol:
> orte_local_cpu_model (ignored)
> [ben-Inspiron-1764:18216] mca: base: component_find: unable to open
> /usr/lib/openmpi/mca_ess_slurm: /usr/lib/openmpi/mca_ess_slurm.so:
> undefined symbol: orte_orted_exit_with_barrier (ignored)
> [ben-Inspiron-1764:18216] mca: base: component_find: unable to open
> /usr/lib/openmpi/mca_ess_slurmd: /usr/lib/openmpi/mca_ess_slurmd.so:
> undefined symbol: orte_pmap_t_class (ignored)
> [ben-Inspiron-1764:18216] [[INVALID],INVALID] ORTE_ERROR_LOG: Unknown
> error: -1 in file ../../../orte/runtime/orte_globals.c at line 176
> input in flex scanner failed
> ERROR: loading failed
> * removing '/usr/local/lib/R/site-library/Rmpi'
> * restoring previous '/usr/local/lib/R/site-library/Rmpi'
>
>
> Notice that the libRmpi actually does compile but can't be installed.
> Other than the --prefix option I added nothing new to the ./configure
> script. It now knows by default where everything should be and I think
> I have every required package installed. Anyone have any ideas? Do you
> need any other files attached?
>
> Thanks,
> ~Ben
>
>
> On Tue, Apr 3, 2012 at 1:39 AM, Ralph Castain <rhc_at_[hidden]
> <mailto:rhc_at_[hidden]>> wrote:
>
> Looks like you didn't set your LD_LIBRARY_PATH to point to where
> OMPI was installed, so the individual component libs couldn't be
> loaded. From the below, it looks like you need to add /usr/local
> to your path.
>
> On Mon, Apr 2, 2012 at 7:26 PM, Benedict Holland
> <benedict.m.holland_at_[hidden]
> <mailto:benedict.m.holland_at_[hidden]>> wrote:
>
> Hi All,
>
> I am on ubuntu 11.10 and the only package that they have for
> OpenMPI is 1.4.3 and I noticed the latest was 1.5.5 and
> I decided to try to use it to get the Rmpi R package compiled
> against it. I failed. My R version is 2.15, the OpenMPI is
> 1.5.5. I compiled it and installed it but when I tried to
> compile Rmpi I get the result below. I can try to run this
> stuff again but I had to use the base packages because they
> worked and I need to get some stuff done. I can always
> recompile though, install and run the Rmpi package against the
> installed OpenMPI stuff. Any ideas what I need to do? Also, is
> there an Ubuntu or Debian package available with the latest
> and greatest and if not, how can I make one?
>
> Thanks,
> ~Ben
>
> checking for gcc... gcc -std=gnu99
> 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 -std=gnu99 accepts -g... yes
> checking for gcc -std=gnu99 option to accept ISO C89... none
> needed
> I am here /usr/local and it is OpenMPI
> Trying to find mpi.h ...
> Found in /usr/local/include
> Trying to find libmpi.so or libmpich.a ...
> Found libmpi in /usr/local/lib
> checking for openpty in -lutil... yes
> checking for main in -lpthread... yes
> configure: creating ./config.status
> config.status: creating src/Makevars
> ** Creating default NAMESPACE file
> ** libs
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
> -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/local/include -DMPI2
> -DOPENMPI -fpic -O3 -pipe -g -c RegQuery.c -o RegQuery.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
> -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/local/include -DMPI2
> -DOPENMPI -fpic -O3 -pipe -g -c Rmpi.c -o Rmpi.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
> -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/local/include -DMPI2
> -DOPENMPI -fpic -O3 -pipe -g -c conversion.c -o
> conversion.o
> gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
> -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
> -DPACKAGE_BUGREPORT=\"\" -I/usr/local/include -DMPI2
> -DOPENMPI -fpic -O3 -pipe -g -c internal.c -o internal.o
> gcc -std=gnu99 -shared -o Rmpi.so RegQuery.o Rmpi.o
> conversion.o internal.o -L/usr/local/lib -lmpi -lutil
> -lpthread -L/usr/lib/R/lib -lR
> installing to /usr/local/lib/R/site-library/Rmpi/libs
> ** R
> ** demo
> ** inst
> ** preparing package for lazy loading
> ** help
> *** installing help indices
> ** building package indices
> ** testing if installed package can be loaded
> [ben-Inspiron-1764:26048] mca: base: component_find: unable to
> open /usr/local/lib/openmpi/mca_paffinity_hwloc:
> /usr/local/lib/openmpi/mca_paffinity_hwloc.so: undefined
> symbol: opal_hwloc_topology (ignored)
> [ben-Inspiron-1764:26048] mca: base: component_find: unable to
> open /usr/local/lib/openmpi/mca_carto_auto_detect:
> /usr/local/lib/openmpi/mca_carto_auto_detect.so: undefined
> symbol: opal_carto_base_graph_get_host_graph_fn (ignored)
> [ben-Inspiron-1764:26048] mca: base: component_find: unable to
> open /usr/local/lib/openmpi/mca_carto_file:
> /usr/local/lib/openmpi/mca_carto_file.so: undefined symbol:
> opal_carto_base_graph_get_host_graph_fn (ignored)
> [ben-Inspiron-1764:26048] mca: base: component_find: unable to
> open /usr/local/lib/openmpi/mca_shmem_mmap:
> /usr/local/lib/openmpi/mca_shmem_mmap.so: undefined symbol:
> opal_show_help (ignored)
> [ben-Inspiron-1764:26048] mca: base: component_find: unable to
> open /usr/local/lib/openmpi/mca_shmem_posix:
> /usr/local/lib/openmpi/mca_shmem_posix.so: undefined symbol:
> opal_shmem_base_output (ignored)
> [ben-Inspiron-1764:26048] mca: base: component_find: unable to
> open /usr/local/lib/openmpi/mca_shmem_sysv:
> /usr/local/lib/openmpi/mca_shmem_sysv.so: undefined symbol:
> opal_show_help (ignored)
> --------------------------------------------------------------------------
> It looks like opal_init failed for some reason; your parallel
> process is
> likely to abort. There are many reasons that a parallel
> process can
> fail during opal_init; some of which are due to configuration or
> environment problems. This failure appears to be an internal
> failure;
> here's some additional information (which may only be relevant
> to an
> Open MPI developer):
>
> opal_shmem_base_select failed
> --> Returned value -1 instead of OPAL_SUCCESS
> --------------------------------------------------------------------------
> [ben-Inspiron-1764:26048] [[INVALID],INVALID] ORTE_ERROR_LOG:
> Error in file runtime/orte_init.c at line 79
> --------------------------------------------------------------------------
> It looks like MPI_INIT failed for some reason; your parallel
> process is
> likely to abort. There are many reasons that a parallel
> process can
> fail during MPI_INIT; some of which are due to configuration
> or environment
> problems. This failure appears to be an internal failure;
> here's some
> additional information (which may only be relevant to an Open MPI
> developer):
>
> ompi_mpi_init: orte_init failed
> --> Returned "Error" (-1) instead of "Success" (0)
> --------------------------------------------------------------------------
> *** An error occurred in MPI_Init
> *** on a NULL communicator
> *** MPI_ERRORS_ARE_FATAL: your MPI job will now abort
> [ben-Inspiron-1764:26048] Local abort before MPI_INIT
> completed successfully; not able to aggregate error messages,
> and not able to guarantee that all other processes were killed!
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden] <mailto:devel_at_[hidden]>
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden] <mailto:devel_at_[hidden]>
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
>
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

-- 
Terry D. Dontje | Principal Software Engineer
Developer Tools Engineering | +1.781.442.2631
Oracle *- Performance Technologies*
95 Network Drive, Burlington, MA 01803
Email terry.dontje_at_[hidden] <mailto:terry.dontje_at_[hidden]>