Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] link problem on 64bit platform
From: jody (jody.xha_at_[hidden])
Date: 2010-11-02 04:57:36

  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.

Thank You

Thanks anyway

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
>>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/../../../../x86_64-pc-linux-gnu/bin/ld:
>>> skipping incompatible /opt/openmpi-1.4.2/lib/ when
>>> searching for -lmpi_cxx
>> This is the key message -- it found, 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
> users_at_[hidden]