Hi, Some raspberry distro provides a compiler that generate ARMv6 binaries (so they can run on any generation of raspberry pi)
If possible I consider you use an ARMv8 distro (aka aarch64) (fwiw, I successfully used CentOS 7 and OpenSuSE Leap on my raspberry3 and Open MPI was built out of the box) Cheers, Gilles peng jia <jiape123...@gmail.com> wrote: >hello! > >i would like to run some mpi-java code on my raspberrypi, i install openmpi >directly with command "apt-get install openmpi-bin openmpi-doc libopenmpi-dev" > > >i would like to know, can i run java-mpi program with my pi without >configuration myself? i see java bindings is on perhaps? > >pi@raspberrypi002:~ $ ompi_info > Package: Open MPI buildd@bm-wb-02 Distribution > Open MPI: 2.0.2 > Open MPI repo revision: v2.0.1-348-ge291d0e > Open MPI release date: Jan 31, 2017 > Open RTE: 2.0.2 > Open RTE repo revision: v2.0.1-348-ge291d0e > Open RTE release date: Jan 31, 2017 > OPAL: 2.0.2 > OPAL repo revision: v2.0.1-348-ge291d0e > OPAL release date: Jan 31, 2017 > MPI API: 3.1.0 > Ident string: 2.0.2 > Prefix: /usr > Configured architecture: arm-unknown-linux-gnueabihf > Configure host: bm-wb-02 > Configured by: buildd > Configured on: Thu Feb 23 17:01:08 UTC 2017 > Configure host: bm-wb-02 > Built by: buildd > Built on: Thu Feb 23 18:03:57 UTC 2017 > Built host: bm-wb-02 > C bindings: yes > C++ bindings: yes > Fort mpif.h: yes (all) > Fort use mpi: yes (full: ignore TKR) > Fort use mpi size: deprecated-ompi-info-value > Fort use mpi_f08: yes > Fort mpi_f08 compliance: The mpi_f08 module is available, but due to > limitations in the gfortran compiler, does not > support the following: array subsections, direct > passthru (where possible) to underlying Open MPI's > C functionality > Fort mpi_f08 subarrays: no > Java bindings: yes > Wrapper compiler rpath: disabled > C compiler: gcc > C compiler absolute: /usr/bin/gcc > C compiler family name: GNU > C compiler version: 6.3.0 > C++ compiler: g++ > C++ compiler absolute: /usr/bin/g++ > Fort compiler: gfortran > Fort compiler abs: /usr/bin/gfortran > Fort ignore TKR: yes (!GCC$ ATTRIBUTES NO_ARG_CHECK ::) > Fort 08 assumed shape: yes > Fort optional args: yes > Fort INTERFACE: yes > Fort ISO_FORTRAN_ENV: yes > Fort STORAGE_SIZE: yes > Fort BIND(C) (all): yes > Fort ISO_C_BINDING: yes > Fort SUBROUTINE BIND(C): yes > Fort TYPE,BIND(C): yes > Fort T,BIND(C,name="a"): yes > Fort PRIVATE: yes > Fort PROTECTED: yes > Fort ABSTRACT: yes > Fort ASYNCHRONOUS: yes > Fort PROCEDURE: yes > Fort USE...ONLY: yes > Fort C_FUNLOC: yes > Fort f08 using wrappers: yes > Fort MPI_SIZEOF: yes > C profiling: yes > C++ profiling: yes > Fort mpif.h profiling: yes > Fort use mpi profiling: yes > Fort use mpi_f08 prof: yes > C++ exceptions: no > Thread support: posix (MPI_THREAD_MULTIPLE: yes, OPAL support: yes, > OMPI progress: no, ORTE progress: yes, Event lib: > yes) > Sparse Groups: no > Internal debug support: no > MPI interface warnings: yes > MPI parameter check: runtime >Memory profiling support: no >Memory debugging support: no > dl support: yes > Heterogeneous support: yes > mpirun default --prefix: no > MPI I/O support: yes > MPI_WTIME support: gettimeofday > Symbol vis. support: yes > Host topology support: yes > > >and i dont know how, so i just download (openmpi-3.0.0.tar.gz) and configurate >it with "./configure --enable-mpi-java >--with-jdk-bindir=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/bin >--with-jdk-headers=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/include >--prefix=/home/pi/build/" > >============================================================================ >== Configuring Open MPI >============================================================================ > >*** Startup tests >checking build system type... armv7l-unknown-linux-gnueabihf >checking host system type... armv7l-unknown-linux-gnueabihf >checking target system type... armv7l-unknown-linux-gnueabihf >checking for gcc... gcc >checking whether the C compiler works... yes >checking for C compiler default output file name... a.out >checking for suffix of executables... >checking whether we are cross compiling... no >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 >checking whether gcc understands -c and -o together... yes >checking how to run the C preprocessor... gcc -E >checking for grep that handles long lines and -e... /bin/grep > >......... > > > > >but it failed when i use "sudo make" > >pi@raspberrypi002:~/openmpi-3.0.0 $ make all >Making all in config >make[1]: Entering directory '/home/pi/openmpi-3.0.0/config' >make[1]: Nothing to be done for 'all'. >make[1]: Leaving directory '/home/pi/openmpi-3.0.0/config' >Making all in contrib >make[1]: Entering directory '/home/pi/openmpi-3.0.0/contrib' >make[1]: Nothing to be done for 'all'. >make[1]: Leaving directory '/home/pi/openmpi-3.0.0/contrib' >Making all in opal >make[1]: Entering directory '/home/pi/openmpi-3.0.0/opal' >Making all in include >make[2]: Entering directory '/home/pi/openmpi-3.0.0/opal/include' >make all-am >make[3]: Entering directory '/home/pi/openmpi-3.0.0/opal/include' >make[3]: Leaving directory '/home/pi/openmpi-3.0.0/opal/include' >make[2]: Leaving directory '/home/pi/openmpi-3.0.0/opal/include' >Making all in asm >make[2]: Entering directory '/home/pi/openmpi-3.0.0/opal/asm' > CC asm.lo >rm -f atomic-asm.S >ln -s "../../opal/asm/generated/atomic-local.s" atomic-asm.S > CPPAS atomic-asm.lo >atomic-asm.S: Assembler messages: >atomic-asm.S:7: Error: selected processor does not support `dmb' in ARM mode >atomic-asm.S:15: Error: selected processor does not support `dmb' in ARM mode >atomic-asm.S:23: Error: selected processor does not support `dmb' in ARM mode >atomic-asm.S:55: Error: selected processor does not support `dmb' in ARM mode >atomic-asm.S:70: Error: selected processor does not support `dmb' in ARM mode >atomic-asm.S:86: Error: selected processor does not support `ldrexd >r4,r5,[r0]' in ARM mode >atomic-asm.S:91: Error: selected processor does not support `strexd >r1,r6,r7,[r0]' in ARM mode >atomic-asm.S:107: Error: selected processor does not support `ldrexd >r4,r5,[r0]' in ARM mode >atomic-asm.S:112: Error: selected processor does not support `strexd >r1,r6,r7,[r0]' in ARM mode >atomic-asm.S:115: Error: selected processor does not support `dmb' in ARM mode >atomic-asm.S:130: Error: selected processor does not support `ldrexd >r4,r5,[r0]' in ARM mode >atomic-asm.S:135: Error: selected processor does not support `dmb' in ARM mode >atomic-asm.S:136: Error: selected processor does not support `strexd >r1,r6,r7,[r0]' in ARM mode >Makefile:1821: recipe for target 'atomic-asm.lo' failed >make[2]: *** [atomic-asm.lo] Error 1 >make[2]: Leaving directory '/home/pi/openmpi-3.0.0/opal/asm' >Makefile:2363: recipe for target 'all-recursive' failed >make[1]: *** [all-recursive] Error 1 >make[1]: Leaving directory '/home/pi/openmpi-3.0.0/opal' >Makefile:1884: recipe for target 'all-recursive' failed >make: *** [all-recursive] Error 1 > >i 've also tried "./configure CCASFLAGS=-march=native" or "./configure >CCASFLAGS=-march=armv7l" or "CC=gcc-4.9 CXX=g++-4.9 FC=gfortran-4.9 >./configure --prefix=... --enable-mpirun-prefix-by-default" > >and after all these configuration, it still failed to build. > >i' seen post here >http://users.open-mpi.narkive.com/ucEtL9aU/ompi-users-building-openmpi-on-raspberry-pi-2 > >and here >https://developer.arm.com/products/software-development-tools/hpc/resources/porting-and-tuning/building-openmpi-with-arm-compiler > >but still i dont know how, how can i install openmpi on my raspberrypi 3 and >run mpi-java program? I m 99.99% green hand, help me please. I would be very >greatful if you have any advices for me. > > >Best Regards > >Jia Peng >
_______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users