Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] Fwd: Cross compiling for 32 bit from a 64 bit machine
From: saahil.in_at_[hidden]
Date: 2010-10-25 14:01:01


---------- Forwarded message ----------
From: saahil.in_at_[hidden]
Date: Oct 25, 2010 11:26pm
Subject: Cross compiling for 32 bit from a 64 bit machine
To: users_at_[hidden]
CC:

> Hello,
> I am a beginner using Open MPI to set up a simple Beowulf cluster of PCs
> for my Distributed Systems lab. My head node is my x86_64 architecture
> Fedora 12 machine. The rest of my nodes are i386 Fedora 13 machines. I
> understand that I need to compile Open MPI with CFLAGS=-m32 so that I can
> use -m32 flag to create a 32 bit compatible binary. I could not do this
> using yum install. So I am using the tarball for Open MPI 1.5.
> my configure command is as follows -

> ./configure --prefix=/home/wolf/openmpi/ CFLAGS=-m32 CXXFLAGS=-m32
> FFLAGS=-m32 FCFLAGS=-m32

> This works fine. However, while doing make I get the following errors -

> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(libltdlc_la-preopen.o)' is incompatible
> with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(libltdlc_la-lt__alloc.o)' is
> incompatible with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(libltdlc_la-lt_dlloader.o)' is
> incompatible with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(libltdlc_la-lt_error.o)' is
> incompatible with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(libltdlc_la-ltdl.o)' is incompatible
> with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(libltdlc_la-slist.o)' is incompatible
> with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(lt__strl.o)' is incompatible with i386
> output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(libltdlcS.o)' is incompatible with i386
> output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `../opal/libltdl/.libs/libltdlc.a(dlopen.o)' is incompatible with i386
> output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `asm/.libs/libasm.a(atomic-asm.o)' is incompatible with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `event/.libs/libevent.a(signal.o)' is incompatible with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `event/.libs/libevent.a(epoll.o)' is incompatible with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `event/.libs/libevent.a(poll.o)' is incompatible with i386 output
> /usr/bin/ld: i386:x86-64 architecture of input file
> `event/.libs/libevent.a(select.o)' is incompatible with i386 output
> /usr/bin/ld: final link failed: Invalid operation
> collect2: ld returned 1 exit status
> make[2]: *** [libopen-pal.la] Error 1
> make[2]: Leaving directory `/home/wolf/Downloads/openmpi-1.5/opal'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/wolf/Downloads/openmpi-1.5/opal'
> make: *** [all-recursive] Error 1

> Any idea as to how to go around fixing this? Any help would be greatly
> regarded, since I'm supposed to meet a deadline, and half of my semester
> has been spent trying to get either LAM-MPI or Open MPI (which I was
> suggested I shift to) to work.
> Thank you very much.

> Regards,
> Saahil