Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Help: OpenMPI Compilation in Raspberry Pi
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-01-22 11:42:48


Note that the original author of the ARM support chimed in on this on the devel list:

    http://www.open-mpi.org/community/lists/devel/2013/01/11955.php

On Jan 21, 2013, at 6:50 AM, George Bosilca <bosilca_at_[hidden]>
 wrote:

> Great, I pushed everything upstream:
> - trunk (r27882)
> - prepared a patch for the 1.6 (https://svn.open-mpi.org/trac/ompi/ticket/3469)
> - requested a CMR for the 1.7 (https://svn.open-mpi.org/trac/ompi/ticket/3470)
>
> Thanks for your help,
> George.
>
>
> On Jan 21, 2013, at 07:56 , Lee Eric <openlinuxsource_at_[hidden]> wrote:
>
>> Thank you mate. This patch works quite well on my Raspberry Pi w/o any
>> error. Can we put them in the upstream?
>>
>> Thanks.
>>
>> Eric
>>
>> On Mon, Jan 21, 2013 at 12:07 AM, George Bosilca <bosilca_at_[hidden]> wrote:
>>> Eric,
>>>
>>> What do you think about the patch attached to ticket #3469 (https://svn.open-mpi.org/trac/ompi/ticket/3469). We might blend the two patches together, and have all the different ARM versions covered.
>>>
>>> Thanks,
>>> George.
>>>
>>> On Jan 20, 2013, at 05:55 , Lee Eric <openlinuxsource_at_[hidden]> wrote:
>>>
>>>> Hi,
>>>>
>>>> The above issue fixed w/ this patch I used:
>>>> https://raw.github.com/sebhtml/patches/master/openmpi/Raspberry-Pi-openmpi-1.6.2.patch
>>>>
>>>> Is that possible OpenMPI can contain this patch in the future?
>>>>
>>>> Thanks.
>>>>
>>>> On Sun, Jan 20, 2013 at 3:13 AM, Lee Eric <openlinuxsource_at_[hidden]> wrote:
>>>>> Hi,
>>>>>
>>>>> I just use --disable-mpif77 and --disable-mpif90 to let configure run
>>>>> well. However, I know it's only tough workround. After configured
>>>>> well, I encounter following error when run make:
>>>>>
>>>>> Making all in config
>>>>> make[1]: Entering directory `/home/huli/Projects/openmpi-1.6.3/config'
>>>>> make[1]: Nothing to be done for `all'.
>>>>> make[1]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/config'
>>>>> Making all in contrib
>>>>> make[1]: Entering directory `/home/huli/Projects/openmpi-1.6.3/contrib'
>>>>> make[1]: Nothing to be done for `all'.
>>>>> make[1]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/contrib'
>>>>> Making all in opal
>>>>> make[1]: Entering directory `/home/huli/Projects/openmpi-1.6.3/opal'
>>>>> Making all in include
>>>>> make[2]: Entering directory `/home/huli/Projects/openmpi-1.6.3/opal/include'
>>>>> make all-am
>>>>> make[3]: Entering directory `/home/huli/Projects/openmpi-1.6.3/opal/include'
>>>>> make[3]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/opal/include'
>>>>> make[2]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/opal/include'
>>>>> Making all in libltdl
>>>>> make[2]: Entering directory `/home/huli/Projects/openmpi-1.6.3/opal/libltdl'
>>>>> make all-am
>>>>> make[3]: Entering directory `/home/huli/Projects/openmpi-1.6.3/opal/libltdl'
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT dlopen.lo -MD -MP -MF .deps/dlopen.Tpo
>>>>> -c -o dlopen.lo `test -f 'loaders/dlopen.c' || echo
>>>>> './'`loaders/dlopen.c
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT libltdlc_la-preopen.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-preopen.Tpo -c -o libltdlc_la-preopen.lo `test -f
>>>>> 'loaders/preopen.c' || echo './'`loaders/preopen.c
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT libltdlc_la-lt__alloc.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-lt__alloc.Tpo -c -o libltdlc_la-lt__alloc.lo `test
>>>>> -f 'lt__alloc.c' || echo './'`lt__alloc.c
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT libltdlc_la-lt_dlloader.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-lt_dlloader.Tpo -c -o libltdlc_la-lt_dlloader.lo
>>>>> `test -f 'lt_dlloader.c' || echo './'`lt_dlloader.c
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT libltdlc_la-lt_error.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-lt_error.Tpo -c -o libltdlc_la-lt_error.lo `test -f
>>>>> 'lt_error.c' || echo './'`lt_error.c
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT libltdlc_la-ltdl.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-ltdl.Tpo -c -o libltdlc_la-ltdl.lo `test -f 'ltdl.c'
>>>>> || echo './'`ltdl.c
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -DLTDLOPEN=libltdlc
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT libltdlc_la-slist.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-slist.Tpo -c -o libltdlc_la-slist.lo `test -f
>>>>> 'slist.c' || echo './'`slist.c
>>>>> /bin/sh ./libtool --tag=CC --mode=compile
>>>>> armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLT_CONFIG_H='<config.h>' -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -MT lt__strl.lo -MD -MP -MF
>>>>> .deps/lt__strl.Tpo -c -o lt__strl.lo lt__strl.c
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLTDLOPEN=libltdlc "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I.
>>>>> -Ilibltdl -I./libltdl -I./libltdl
>>>>> -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT libltdlc_la-lt__alloc.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-lt__alloc.Tpo -c lt__alloc.c -fPIC -DPIC -o
>>>>> .libs/libltdlc_la-lt__alloc.o
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLTDLOPEN=libltdlc "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I.
>>>>> -Ilibltdl -I./libltdl -I./libltdl
>>>>> -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT libltdlc_la-preopen.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-preopen.Tpo -c loaders/preopen.c -fPIC -DPIC -o
>>>>> .libs/libltdlc_la-preopen.o
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLTDLOPEN=libltdlc "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I.
>>>>> -Ilibltdl -I./libltdl -I./libltdl
>>>>> -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT libltdlc_la-lt_error.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-lt_error.Tpo -c lt_error.c -fPIC -DPIC -o
>>>>> .libs/libltdlc_la-lt_error.o
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT lt__strl.lo -MD -MP -MF .deps/lt__strl.Tpo -c
>>>>> lt__strl.c -fPIC -DPIC -o .libs/lt__strl.o
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I. -Ilibltdl -I./libltdl
>>>>> -I./libltdl -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT dlopen.lo -MD -MP -MF .deps/dlopen.Tpo -c
>>>>> loaders/dlopen.c -fPIC -DPIC -o .libs/dlopen.o
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLTDLOPEN=libltdlc "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I.
>>>>> -Ilibltdl -I./libltdl -I./libltdl
>>>>> -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT libltdlc_la-lt_dlloader.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-lt_dlloader.Tpo -c lt_dlloader.c -fPIC -DPIC -o
>>>>> .libs/libltdlc_la-lt_dlloader.o
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLTDLOPEN=libltdlc "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I.
>>>>> -Ilibltdl -I./libltdl -I./libltdl
>>>>> -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT libltdlc_la-ltdl.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-ltdl.Tpo -c ltdl.c -fPIC -DPIC -o
>>>>> .libs/libltdlc_la-ltdl.o
>>>>> libtool: compile: armv6-rpi-linux-gnueabi-gcc -DHAVE_CONFIG_H -I.
>>>>> -DLTDLOPEN=libltdlc "-DLT_CONFIG_H=<config.h>" -DLTDL -I. -I.
>>>>> -Ilibltdl -I./libltdl -I./libltdl
>>>>> -I/home/huli/Projects/openmpi-1.6.3/opal/mca/hwloc/hwloc132/hwloc/include
>>>>> -I/usr/include/infiniband -I/usr/include/infiniband -Ofast -mfpu=vfp
>>>>> -mfloat-abi=hard -MT libltdlc_la-slist.lo -MD -MP -MF
>>>>> .deps/libltdlc_la-slist.Tpo -c slist.c -fPIC -DPIC -o
>>>>> .libs/libltdlc_la-slist.o
>>>>> mv -f .deps/dlopen.Tpo .deps/dlopen.Plo
>>>>> /bin/sh ./libtool --tag=CC --mode=link armv6-rpi-linux-gnueabi-gcc
>>>>> -Ofast -mfpu=vfp -mfloat-abi=hard -module -avoid-version -o dlopen.la
>>>>> dlopen.lo -ldl -ldl -lrt -lnsl -lutil -lm
>>>>> mv -f .deps/libltdlc_la-lt__alloc.Tpo .deps/libltdlc_la-lt__alloc.Plo
>>>>> mv -f .deps/lt__strl.Tpo .deps/lt__strl.Plo
>>>>> mv -f .deps/libltdlc_la-lt_error.Tpo .deps/libltdlc_la-lt_error.Plo
>>>>> mv -f .deps/libltdlc_la-preopen.Tpo .deps/libltdlc_la-preopen.Plo
>>>>> mv -f .deps/libltdlc_la-lt_dlloader.Tpo .deps/libltdlc_la-lt_dlloader.Plo
>>>>> libtool: link: armv6-rpi-linux-gnueabi-ar cru .libs/dlopen.a .libs/dlopen.o
>>>>> libtool: link: armv6-rpi-linux-gnueabi-ranlib .libs/dlopen.a
>>>>> mv -f .deps/libltdlc_la-slist.Tpo .deps/libltdlc_la-slist.Plo
>>>>> libtool: link: ( cd ".libs" && rm -f "dlopen.la" && ln -s
>>>>> "../dlopen.la" "dlopen.la" )
>>>>> mv -f .deps/libltdlc_la-ltdl.Tpo .deps/libltdlc_la-ltdl.Plo
>>>>> /bin/sh ./libtool --tag=CC --mode=link armv6-rpi-linux-gnueabi-gcc
>>>>> -Ofast -mfpu=vfp -mfloat-abi=hard -no-undefined -dlpreopen dlopen.la
>>>>> -o libltdlc.la libltdlc_la-preopen.lo libltdlc_la-lt__alloc.lo
>>>>> libltdlc_la-lt_dlloader.lo libltdlc_la-lt_error.lo libltdlc_la-ltdl.lo
>>>>> libltdlc_la-slist.lo lt__strl.lo -ldl -lrt -lnsl -lutil -lm
>>>>> libtool: link: rm -f .libs/libltdlc.nm .libs/libltdlc.nmS .libs/libltdlc.nmT
>>>>> libtool: link: (cd .libs && armv6-rpi-linux-gnueabi-gcc -Ofast
>>>>> -mfpu=vfp -mfloat-abi=hard -c -fno-builtin -fPIC -DPIC "libltdlcS.c")
>>>>> libtool: link: rm -f ".libs/libltdlcS.c" ".libs/libltdlc.nm"
>>>>> ".libs/libltdlc.nmS" ".libs/libltdlc.nmT"
>>>>> libtool: link: (cd .libs/libltdlc.lax/dlopen.a &&
>>>>> armv6-rpi-linux-gnueabi-ar x
>>>>> "/home/huli/Projects/openmpi-1.6.3/opal/libltdl/./.libs/dlopen.a")
>>>>> libtool: link: armv6-rpi-linux-gnueabi-ar cru .libs/libltdlc.a
>>>>> .libs/libltdlc_la-preopen.o .libs/libltdlc_la-lt__alloc.o
>>>>> .libs/libltdlc_la-lt_dlloader.o .libs/libltdlc_la-lt_error.o
>>>>> .libs/libltdlc_la-ltdl.o .libs/libltdlc_la-slist.o .libs/lt__strl.o
>>>>> .libs/libltdlcS.o .libs/libltdlc.lax/dlopen.a/dlopen.o
>>>>> libtool: link: armv6-rpi-linux-gnueabi-ranlib .libs/libltdlc.a
>>>>> libtool: link: rm -fr .libs/libltdlc.lax
>>>>> libtool: link: ( cd ".libs" && rm -f "libltdlc.la" && ln -s
>>>>> "../libltdlc.la" "libltdlc.la" )
>>>>> make[3]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/opal/libltdl'
>>>>> make[2]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/opal/libltdl'
>>>>> Making all in asm
>>>>> make[2]: Entering directory `/home/huli/Projects/openmpi-1.6.3/opal/asm'
>>>>> rm -f atomic-asm.S
>>>>> CC asm.lo
>>>>> 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 ARM mode `dmb'
>>>>> atomic-asm.S:15: Error: selected processor does not support ARM mode `dmb'
>>>>> atomic-asm.S:23: Error: selected processor does not support ARM mode `dmb'
>>>>> atomic-asm.S:55: Error: selected processor does not support ARM mode `dmb'
>>>>> atomic-asm.S:70: Error: selected processor does not support ARM mode `dmb'
>>>>> make[2]: *** [atomic-asm.lo] Error 1
>>>>> make[2]: *** Waiting for unfinished jobs....
>>>>> make[2]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/opal/asm'
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make[1]: Leaving directory `/home/huli/Projects/openmpi-1.6.3/opal'
>>>>> make: *** [all-recursive] Error 1
>>>>>
>>>>> Here's my toolchain's gcc details.
>>>>>
>>>>> [huli_at_localhost openmpi-1.6.3]$ armv6-rpi-linux-gnueabi-gcc -v
>>>>> Using built-in specs.
>>>>> COLLECT_GCC=armv6-rpi-linux-gnueabi-gcc
>>>>> COLLECT_LTO_WRAPPER=/home/huli/Projects/arm-devel-rpi/libexec/gcc/arm-rpi-linux-gnueabi/4.7.3/lto-wrapper
>>>>> Target: arm-rpi-linux-gnueabi
>>>>> Configured with:
>>>>> /home/huli/Projects/ct-rpi/.build/src/gcc-linaro-4.7-2012.10/configure
>>>>> --build=x86_64-build_unknown-linux-gnu
>>>>> --host=x86_64-build_unknown-linux-gnu --target=arm-rpi-linux-gnueabi
>>>>> --prefix=/home/huli/Projects/arm-devel-rpi
>>>>> --with-sysroot=/home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot
>>>>> --enable-languages=c,c++,fortran --with-arch=armv6zk
>>>>> --with-cpu=arm1176jzf-s --with-tune=arm1176jzf-s --with-fpu=vfp
>>>>> --with-float=hard --with-pkgversion='crosstool-NG 1.17.0'
>>>>> --enable-__cxa_atexit --disable-libmudflap --disable-libgomp
>>>>> --disable-libssp --disable-libquadmath --disable-libquadmath-support
>>>>> --with-gmp=/home/huli/Projects/ct-rpi/.build/arm-rpi-linux-gnueabi/buildtools
>>>>> --with-mpfr=/home/huli/Projects/ct-rpi/.build/arm-rpi-linux-gnueabi/buildtools
>>>>> --with-mpc=/home/huli/Projects/ct-rpi/.build/arm-rpi-linux-gnueabi/buildtools
>>>>> --with-ppl=/home/huli/Projects/ct-rpi/.build/arm-rpi-linux-gnueabi/buildtools
>>>>> --with-cloog=/home/huli/Projects/ct-rpi/.build/arm-rpi-linux-gnueabi/buildtools
>>>>> --with-libelf=/home/huli/Projects/ct-rpi/.build/arm-rpi-linux-gnueabi/buildtools
>>>>> --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic
>>>>> -lm -L/home/huli/Projects/ct-rpi/.build/arm-rpi-linux-gnueabi/buildtools/lib
>>>>> -lpwl' --enable-threads=posix --enable-target-optspace --disable-nls
>>>>> --disable-multilib
>>>>> --with-local-prefix=/home/huli/Projects/arm-devel-rpi/arm-rpi-linux-gnueabi/sysroot
>>>>> --enable-c99 --enable-long-long --with-float=hard
>>>>> Thread model: posix
>>>>> gcc version 4.7.3 20121001 (prerelease) (crosstool-NG 1.17.0)
>>>>>
>>>>> Anyone have idea?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Eric
>>>>>
>>>>> On Sun, Jan 20, 2013 at 2:05 AM, Lee Eric <openlinuxsource_at_[hidden]> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> The cross-compile issue I fixed. Check following source code:
>>>>>> opal_config_asm.m4:897: [AC_MSG_ERROR([No atomic primitives available
>>>>>> for $host])])
>>>>>>
>>>>>> It seems that checks the toolchain's tuple is one of: armv7* or armv6*
>>>>>> or armv5*. I have recompiled my toolchain and no such error occurred.
>>>>>> However, I hit another issue about fortran as configure running.
>>>>>>
>>>>>> *** Fortran 90/95 compiler
>>>>>> checking for armv6-rpi-linux-gnueabi-gfortran...
>>>>>> armv6-rpi-linux-gnueabi-gfortran
>>>>>> checking whether we are using the GNU Fortran compiler... yes
>>>>>> checking whether armv6-rpi-linux-gnueabi-gfortran accepts -g... yes
>>>>>> checking if Fortran 77 compiler works... links (cross compiling)
>>>>>> checking armv6-rpi-linux-gnueabi-gfortran external symbol
>>>>>> convention... single underscore
>>>>>> checking if C and Fortran 77 are link compatible... yes
>>>>>> checking to see if F77 compiler likes the C++ exception flags...
>>>>>> skipped (no C++ exceptions flags)
>>>>>> checking to see if mpif77/mpif90 compilers need additional linker flags... none
>>>>>> checking if Fortran 77 compiler supports CHARACTER... yes
>>>>>> checking size of Fortran 77 CHARACTER... configure: error: Can not
>>>>>> determine size of CHARACTER when cross-compiling
>>>>>>
>>>>>> Any hint? Thanks.
>>>>>>
>>>>>> Eric
>>>>>>
>>>>>> On Sat, Jan 19, 2013 at 10:08 PM, Lee Eric <openlinuxsource_at_[hidden]> wrote:
>>>>>>> Any heads up? Thanks.
>>>>>>>
>>>>>>> On Fri, Jan 18, 2013 at 5:28 AM, Jeff Squyres (jsquyres)
>>>>>>> <jsquyres_at_[hidden]> wrote:
>>>>>>>> On Jan 16, 2013, at 6:41 AM, Leif Lindholm <Leif.Lindholm_at_[hidden]> wrote:
>>>>>>>>
>>>>>>>>> That isn't, technically speaking, correct for the Raspberry Pi - but it is a workaround if you know you will never actually use the asm implementations of the atomics, but only the inline C ones..
>>>>>>>>>
>>>>>>>>> This sort of hides the problem that the dedicated barrier instructions were not available in ARMv6 (it used "system control coprocessor operations" instead.
>>>>>>>>>
>>>>>>>>> If you ever executed the asm implementation, you would trigger an undefined instruction exception on the Pi.
>>>>>>>>
>>>>>>>> Hah; sweet. Ok.
>>>>>>>>
>>>>>>>> So what's the right answer? Would it be acceptable to use a no-op for this operation on such architectures?
>>>>>>>>
>>>>>>>> --
>>>>>>>> Jeff Squyres
>>>>>>>> jsquyres_at_[hidden]
>>>>>>>> For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> users mailing list
>>>>>>>> users_at_[hidden]
>>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/