On Jun 24, 2016, at 4:39 PM, Richard C. Wagner <drsav...@q.com> wrote:
> 
> Then I try to compile the library file in 32-bit mode.  The first command is:
> 
> mpicc -fPIC -m32 -c libtest.c
> 
> Then the second is:
> 
> mpicc -shared -m32 -o libmpi.so libtest.o
> 
> As you can see below, compiling the object file works.  But the second 
> command, linking libtest.o and writing the shared library, fails.  Can you 
> see what's wrong?
> 
> rwagner@tuxcfd10:~/engrhome/CSU/LibTests$ mpicc -fPIC -m32 -c libtest.c
> rwagner@tuxcfd10:~/engrhome/CSU/LibTests$ mpicc -shared -m32 -o libmpi.so 
> libtest.o
> /usr/bin/ld: skipping incompatible /usr//lib/libmpi.so when searching for 
> -lmpi
> /usr/bin/ld: skipping incompatible /usr/lib/openmpi/lib/libmpi.so when 
> searching for -lmpi
> /usr/bin/ld: skipping incompatible 
> /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../libmpi.so when searching for -lmpi
> /usr/bin/ld: skipping incompatible //usr/lib/libmpi.so when searching for 
> -lmpi
> /usr/bin/ld: cannot find -lmpi
> /usr/bin/ld: cannot find -lhwloc
> collect2: error: ld returned 1 exit status
> 
> And for added info, these two commands succeed when I don't use the -m32 
> switch.  The library comes out as you'd expect it to, but as a 64-bit version.

That means that the Open MPI installed in /usr/lib and /usr/lib/openmpi is a 64 
bit version.

You need to install a 32 bit version of Open MPI, and compile/link against that 
one.

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to