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: Lee Eric (openlinuxsource_at_[hidden])
Date: 2013-01-17 04:04:29


Hi all, sorry to reply this thread so late. I tried and it works well.
However, it takes me about 12 hrs to compile he while package so I
gonna cross-compile in my laptop w/ proper toolchain I created. Here's
the command line I used.

./configure --build=x86_64-redhat-linux
--host=arm-unknown-linux-gnueabi CFLAGS="-Ofast -mfpu=vfp
-mfloat-abi=hard -march=armv6zk -mtune=arm1176jzf-s"

......

*** Assembler
checking dependency style of arm-unknown-linux-gnueabi-gcc... gcc3
checking for BSD- or MS-compatible name lister (nm)...
/home/huli/Projects/arm-devel/bin/arm-unknown-linux-gnueabi-nm -B
checking the name lister
(/home/huli/Projects/arm-devel/bin/arm-unknown-linux-gnueabi-nm -B)
interface... BSD nm
checking for fgrep... /bin/grep -F
checking if need to remove -g from CCASFLAGS... no
checking whether to enable smp locks... yes
checking if .proc/endp is needed... no
checking directive for setting text section... .text
checking directive for exporting symbols... .globl
checking for objdump... objdump
checking if .note.GNU-stack is needed... yes
checking suffix for labels... :
checking prefix for global symbol labels...
checking prefix for lsym labels... .L
checking prefix for function in .type... #
checking if .size is needed... yes
checking if .align directive takes logarithmic value... yes
configure: error: No atomic primitives available for arm-unknown-linux-gnueabi

......

Do we have any way to fix that?

Thanks.

On Sat, Jan 12, 2013 at 3:14 AM, Jeff Squyres (jsquyres)
<jsquyres_at_[hidden]> wrote:
> Ok, I was able to configure and run successfully on my Raspberry Pi with:
>
> ./configure CCASFLAGS=-march=armv7-a ...
>
> Is that something we should put on a FAQ page?
>
>
>
> On Jan 11, 2013, at 7:11 AM, George Bosilca <bosilca_at_[hidden]> wrote:
>
>> This one belong to arm7 instruction set. Please try one of the following `armv7', `armv7-a', `armv7-r'.
>>
>> George.
>>
>>
>> On Jan 11, 2013, at 00:38 , Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
>>
>>> Sadly, none of these solutions worked for me on my RPi:
>>>
>>> -----
>>> pi_at_raspberrypi ~/openmpi-1.6.3/opal/asm $ make CCASFLAGS=-mcpu=arm1176jzf-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: *** [atomic-asm.lo] Error 1
>>> pi_at_raspberrypi ~/openmpi-1.6.3/opal/asm $ make CCASFLAGS=-march=armv6zk
>>> 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: *** [atomic-asm.lo] Error 1
>>> pi_at_raspberrypi ~/openmpi-1.6.3/opal/asm $ make CCASFLAGS=-march=argv6k
>>> CPPAS atomic-asm.lo
>>> cc1: error: bad value (argv6k) for -march switch
>>> make: *** [atomic-asm.lo] Error 1
>>> pi_at_raspberrypi ~/openmpi-1.6.3/opal/asm $
>>> -----
>>>
>>> Although I'm using a bit different system than the original user cited (I'm running the latest Raspbian distro):
>>>
>>> -----
>>> pi_at_raspberrypi ~/openmpi-1.6.3/opal/asm $ uname -a
>>> Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux
>>> pi_at_raspberrypi ~/openmpi-1.6.3/opal/asm $ gcc --version
>>> gcc (Debian 4.6.3-12+rpi1) 4.6.3
>>> -----
>>>
>>> On Jan 10, 2013, at 5:39 PM, George Bosilca <bosilca_at_[hidden]>
>>> wrote:
>>>
>>>> A little bit of google shows that this is a known issue. ldrex and strex are not included in the default instruction set gcc uses (arm6). One has to add the compile flag "-march=argv6k" to successfully compiles.
>>>>
>>>> George.
>>>>
>>>> PS: For more info: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=9&t=4256&start=250
>>>>
>>>>
>>>> On Jan 10, 2013, at 16:20 , Jeff Squyres (jsquyres) <jsquyres_at_[hidden]> wrote:
>>>>
>>>>> Mmmm. Let's rope in our ARM expert here...
>>>>>
>>>>> Leif, do you know what the issue is here?
>>>>>
>>>>>
>>>>> On Jan 3, 2013, at 4:28 AM, Lee Eric <openlinuxsource_at_[hidden]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am going to compile OpenMPI 1.6.3 in Raspberry Pi and encounter following errors.
>>>>>>
>>>>>> make[2]: Entering directory `/root/openmpi-1.6.3/opal'
>>>>>> CC class/opal_bitmap.lo
>>>>>> CC class/opal_free_list.lo
>>>>>> CC class/opal_hash_table.lo
>>>>>> CC class/opal_list.lo
>>>>>> CC class/opal_object.lo
>>>>>> /tmp/ccniCtj0.s: Assembler messages:
>>>>>> /tmp/ccniCtj0.s:83: Error: selected processor does not support ARM mode `ldrex r3,[r1]'
>>>>>> /tmp/ccniCtj0.s:86: Error: selected processor does not support ARM mode `strex r4,r0,[r1]'
>>>>>> make[2]: *** [class/opal_object.lo] Error 1
>>>>>> make[2]: Leaving directory `/root/openmpi-1.6.3/opal'
>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>> make[1]: Leaving directory `/root/openmpi-1.6.3/opal'
>>>>>> make: *** [all-recursive] Error 1
>>>>>>
>>>>>> Can anyone have any idea to fix that issue?
>>>>>>
>>>>>> I'm using Fedora 17 rootfs and kernel version is "Linux fedora-arm 3.6.11+ #1 PREEMPT Wed Jan 2 15:14:23 CST 2013 armv6l armv6l armv6l GNU/Linux".
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> Eric Lee
>>>>>> _______________________________________________
>>>>>> 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/
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users