Jeff,
Raspbian is built for armv6
(unlike linaro which is built for armv7)
that being said, you are running on an armv7 cpu, so i am not sure
"cross-compiling"
is appropriate. (e.g. if you run a 32 bits gcc binary on an x86_64 os to
build a x86_64 binary,
is this called cross compilation ?)
my guess is raspbian gcc 4.6 is not able to compile for armv7, even with
some extra flags.
can you try
sudo apt-get install gcc-4.8 g++-4.8
and configure with CC=gcc48 CXX=g++48
(or whatever the gcc 4.8 compiler name is)
if that works, i will think of updating configure so it fails with an
understandable error message
when building for armv6
Cheers,
Gilles
On 6/10/2015 2:18 AM, Jeff Layton wrote:
Gilles,
I was looking in Raspbian a little and do you know what I found?
When I do "gcc -v" it says it was built with "--with-arch=armv6".
Since I'm trying to compile on a Pi 2, doesn't this mean I'm
cross-compiling?
Thanks!
Jeff
Jeff,
btw, did you try a pI 1 before a pi2 ?
I checked some forums, and you will likely have to upgrade gcc to 4.8
a simpler option could be linaro
https://www.raspberrypi.org/forums/viewtopic.php?f=56&t=98997
Cheers,
Gilles
On Tuesday, June 9, 2015, Gilles Gouaillardet
<gilles.gouaillar...@gmail.com
<mailto:gilles.gouaillar...@gmail.com>> wrote:
Jeff,
can you
gcc -march=armv7-a foo.c
Cheers,
Gilles
On Tuesday, June 9, 2015, Jeff Layton <layto...@att.net
<javascript:_e(%7B%7D,'cvml','layto...@att.net');>> wrote:
Gilles,
I'm not cross-compiling - I'm building on the Pi 2.
I'm not sure how to check if gcc can generate armv7 code.
I'm using Raspbian and I'm just using the default compilers
that come with it (I think it's gcc 4.6.3).
Thanks!
Jeff
Jeff,
dmb is available only on ARMv7 (Pi 2)
if i remember correctly, you are building Open MPI on
ARMv7 as well (Pi 2),
so this is not a cross compilation issue.
if you configure with -march=armv7, the relevant log is
libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I.
-I../../opal/include -I../../orte/include
-I../../ompi/include -I../../oshmem/include
-I../../opal/mca/hwloc/hwloc191/hwloc/include/private/autogen
-I../../opal/mca/hwloc/hwloc191/hwloc/include/hwloc/autogen
-I../..
-I/work/pi/src/openmpi-1.8.5/opal/mca/hwloc/hwloc191/hwloc/include
-I/work/pi/src/openmpi-1.8.5/opal/mca/event/libevent2021/libevent
-I/work/pi/src/openmpi-1.8.5/opal/mca/event/libevent2021/libevent/include
-march=armv7 -MT atomic-asm.lo -MD -MP -MF
.deps/atomic-asm.Tpo -c atomic-asm.S -fPIC -DPIC -o
.libs/atomic-asm.o^M
atomic-asm.S:1:0: error: target CPU does not support ARM mode
which is very puzzling ...
can you confirm
1) you are not cross compiling
2) your gcc can generate code for armv7 ?
Cheers,
Gilles
On 6/9/2015 1:48 AM, Jeff Layton wrote:
Jeff,
Sorry - I was traveling for a week and didn't have to
the RPi.
What happens if you don't supply CCASFLAGS at all?
The output from "make" is below. It died when it
tried to compile
atomic-local. It says the processor doesn't support
ARM mode "dmb".
Thanks!
Jeff
pi@raspberrypi /work/pi/src/openmpi-1.8.5 $ make
Making all in config
make[1]: Entering directory
'/work/pi/src/openmpi-1.8.5/config'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory
'/work/pi/src/openmpi-1.8.5/config'
Making all in contrib
make[1]: Entering directory
'/work/pi/src/openmpi-1.8.5/contrib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory
'/work/pi/src/openmpi-1.8.5/contrib'
Making all in opal
make[1]: Entering directory
'/work/pi/src/openmpi-1.8.5/opal'
Making all in include
make[2]: Entering directory
'/work/pi/src/openmpi-1.8.5/opal/include'
make all-am
make[3]: Entering directory
'/work/pi/src/openmpi-1.8.5/opal/include'
make[3]: Leaving directory
'/work/pi/src/openmpi-1.8.5/opal/include'
make[2]: Leaving directory
'/work/pi/src/openmpi-1.8.5/opal/include'
Making all in asm
make[2]: Entering directory
'/work/pi/src/openmpi-1.8.5/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 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'
atomic-asm.S:86: Error: selected processor does not
support ARM mode `ldrexd r4,r5,[r0]'
atomic-asm.S:91: Error: selected processor does not
support ARM mode `strexd r1,r6,r7,[r0]'
atomic-asm.S:107: Error: selected processor does not
support ARM mode `ldrexd r4,r5,[r0]'
atomic-asm.S:112: Error: selected processor does not
support ARM mode `strexd r1,r6,r7,[r0]'
atomic-asm.S:115: Error: selected processor does not
support ARM mode `dmb'
atomic-asm.S:130: Error: selected processor does not
support ARM mode `ldrexd r4,r5,[r0]'
atomic-asm.S:135: Error: selected processor does not
support ARM mode `dmb'
atomic-asm.S:136: Error: selected processor does not
support ARM mode `strexd r1,r6,r7,[r0]'
Makefile:1608: recipe for target 'atomic-asm.lo' failed
make[2]: *** [atomic-asm.lo] Error 1
make[2]: Leaving directory
'/work/pi/src/openmpi-1.8.5/opal/asm'
Makefile:2149: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
'/work/pi/src/openmpi-1.8.5/opal'
Makefile:1698: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
_______________________________________________
users mailing list
us...@open-mpi.org
Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
Link to this post:
http://www.open-mpi.org/community/lists/users/2015/06/27065.php