[Pkg-openmpi-maintainers] Bug#657625: FTBFS openmpi 1.5 (experimental) on armel

Ron Broberg ronbroberg at yahoo.com
Sun Feb 26 18:10:06 UTC 2012


I'm not sure if this information is directly related to this report,
but using hints contained in the original report,
I was able to compile the upstream openmpi-1.5.4 distribution on a Debian6 armv6l qemu emulation.
http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.5.tar.bz2


You have to make 3 changes to the package
 1) Delete all references to the RISC instruction 'dmb'
 2) Modify the 'configure' file to include an 'armv6' option
 3) Compile with CFLAGS=-march=armv6 

## 1) make the following edits to these three files
./opal/asm/generated/atomic-local.s
delete all dmb instructions
./opal/asm/base/ARM.asm
delete all dmb instructions
./opal/include/opal/sys/arm/atomic.h
change the lines:
#if OPAL_WANT_SMP_LOCKS
#define MB()  __asm__ __volatile__ ("dmb" : : : "memory")
#define RMB() __asm__ __volatile__ ("dmb" : : : "memory")
#define WMB() __asm__ __volatile__ ("dmb" : : : "memory")
#else
#define MB()
#define RMB()
#define WMB()
#endif

to read:
#define MB()
#define RMB()
#define WMB()

## 2) add the following to the 'configure' file at line 26946 of 171183
goto line 26946, there should be an 'alpha-' section above and an 'armv7' below
insert the following
        armv6*)
            ompi_cv_asm_arch="ARM"
            OPAL_ASM_SUPPORT_64BIT=0
            OMPI_GCC_INLINE_ASSIGN='"mov %0, #0" : "=&r"(ret)'
            ;;

## 3) compile and install with the following CFLAGS
CFLAGS=-march=armv6
./configure CFLAGS=-march=armv6
make
sudo make install

more information about my build at
http://rhinohide.wordpress.com/2012/02/26/openmpi-on-raspberry-pi/






More information about the Pkg-openmpi-maintainers mailing list