no, i didn't use the other calls, because i think they are all the
same (on my installation they are all soft links to opal_wrapper)
gentoo on 64 bit does have lib and lib64 directories for the
respective architectures (at / and at /usr)
but in my 64-bit installation of openMPI there is no lib64
directory, only a lib.
I thought the naming of the internal directory structure of openMPI
would be determined by the installation
(i.e. the `make install`) and not by the operating system.
i don't remember the particular CFLAGS or CXXFLAGS i had used, but i
have now rebuilt openMPI with
./configure CFLAGS=-m64 CXXFLAGS=-m64
--prefix=/opt/openmpi-1.4.2-64 --with-threads --disable-mpi-f77
and now the problem has been solved.
After something similar has then happened when trying to do 32bit
compilations, i think i found out what the original problem was:
I had first done a 64 bit installation of OpenMPI installed under
I later renamed this directory to /opt/openmpi-1.4.2-64, and installed
a 32bit version of OpenMPI in /opt/openmpi-1.4.2
Apparently, when i the tried to do a 64bit compilation, the linker
looked into the lib-directory with the *original* name
instead of /opt/openmpi-1.4.2-64, so of course it only found the 32bit
libs of the newer installation.
To test this assumption i now renamed the 64-bit installation set my
/opt/openmpi link to the new directory and tried to compile:
jody_at_aim-squid_0 ~/progs $ mpiCC -g -o HelloMPI HelloMPI.cpp
Cannot open configuration file
Error parsing data file mpiCC: Not found
So again, it looked into the original installation directory of the
64-bit installation for some files
So i guess the basic question is:
is it permitted to rename openMPI installations, and if yes how is
this porperly done (since a simple mv doesn't work)
Sorry about the imprecise question. Indeed, if i had looked exactly at
the original output, i should have noticed that
the linker was looking in the wrong directory.
On Mon, Nov 1, 2010 at 1:52 PM, Tim Prince <n8tm_at_[hidden]> wrote:
> On 11/1/2010 5:24 AM, Jeff Squyres wrote:
>> On Nov 1, 2010, at 5:20 AM, jody wrote:
>>> jody_at_aim-squid_0 ~/progs $ mpiCC -g -o HelloMPI HelloMPI.cpp
>>> skipping incompatible /opt/openmpi-1.4.2/lib/libmpi_cxx.so when
>>> searching for -lmpi_cxx
>> This is the key message -- it found libmpi_cxx.so, but the linker deemed
>> it incompatible, so it skipped it.
> Typically, it means that the cited library is a 32-bit one, to which the
> 64-bit ld will react in this way. You could have verified this by
> file /opt/openmpi-1.4.2/lib/*
> By normal linux conventions a directory named /lib/ as opposed to /lib64/
> would contain only 32-bit libraries. If gentoo doesn't conform with those
> conventions, maybe you should do your learning on a distro which does.
> Tim Prince
> users mailing list