Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] OpenMPI on OS X - file is not of required architecture
From: Andreas Haselbacher (haselbac.ufl_at_[hidden])
Date: 2009-09-14 15:54:17


On Fri, Sep 11, 2009 at 6:35 PM, Doug Reeder <dlr_at_[hidden]> wrote:

> Andreas,
> Have you checked that ifort is creating 64 bit objects. If I remember
> correctly with 10.1 the default was to create 32 bit objects.
>
>
I have not done so yet. I was under the impression that it was building
32-bit initially. Then when I ran configure without the -m64 option to
CFLAGS and CXXFLAGS, I would get the following message:

*** Fortran 77 compiler
checking whether we are using the GNU Fortran 77 compiler... no
checking whether ifort accepts -g... yes
checking if Fortran 77 compiler works... yes
checking ifort external symbol convention... no underscore
checking if C and Fortran 77 are link compatible... no
**********************************************************************
It appears that your Fortran 77 compiler is unable to link against
object files created by your C compiler. This typically indicates
one of a few possibilities:

  - A conflict between CFLAGS and FFLAGS
  - A problem with your compiler installation(s)
  - Different default build options between compilers (e.g., C
    building for 32 bit and Fortran building for 64 bit)
  - Incompatible compilers

Such problems can usually be solved by picking compatible compilers
and/or CFLAGS and FFLAGS. More information (including exactly what
command was given to the compilers and what error resulted when the
commands were executed) is available in the config.log file in this
directory.
**********************************************************************

So I (naively) figured that it had to build 64-bit, added the flags, and ran
configure successfully (or so I thought). I tried running ifort -V (as
suggested by Warner Yuen in a follow-up email), but I just discovered that
maybe something's messed up with my path since I get different results from
an xterm and the Terminal. I will need to figure out what's going on here
first...

Thanks,

Andreas

> Doug Reeder
> On Sep 11, 2009, at 3:25 PM, Andreas Haselbacher wrote:
>
> On Fri, Sep 11, 2009 at 5:10 PM, Jeff Squyres <jsquyres_at_[hidden]> wrote:
>
>> On Sep 11, 2009, at 10:05 AM, Andreas Haselbacher wrote:
>>
>> I've built openmpi version 1.3.3 on a MacPro with OS X 10.5.8 and the
>>> Intel 10.1.006 Fortran compiler and gcc 4.0. As far as I can tell, the
>>> configure and make commands completed fine. There are some warnings, but
>>> it's not clear to me that they are critical - or the explanation for what's
>>> not working. After installing, I try to compile a simple F77 hello world
>>> code. The output is:
>>>
>>> % mpif77 helloworld_mpi.f -o helloworld_mpi
>>> ld: warning in /opt/openmpi/lib/libmpi_f77.a, file is not of required
>>> architecture
>>>
>>
>> This means that it skipped that library because it didn't match what you
>> were trying to compile against.
>>
>> Can you send the output of mpif77 --showme?
>>
>
> ifort -I/opt/openmpi/include -L/opt/openmpi/lib -lmpi_f77 -lmpi -lopen-rte
> -lopen-pal -lutil
>
>
>>
>> Undefined symbols:
>>> "_mpi_init_", referenced from:
>>> _MAIN__ in ifortIsUNoZ.o
>>>
>>
>> None of these symbols were found because libmpi_f77.a was skipped.
>>
>
> Right.
>
>
>>
>> Here's my configure command:
>>>
>>> ./configure --prefix=/opt/openmpi --enable-static --disable-shared CC=gcc
>>> CFLAGS=-m64 CXX=g++ CXXFLAGS=-m64 F77=ifort FC=ifort FFLAGS=-assume
>>> nounderscore FCFLAGS=-assume nounderscore
>>>
>>
>> I do not have the intel compilers for Mac; do they default to producing 64
>> bit objects? I ask because it looks like you forced the C and C++ compilers
>> to produce 64 bit objects -- do you need to do the same with ifort? (via
>> the FCFLAGS and FFLAGS env variables)
>>
>
> If I remember correctly, I had to add those flags, otherwise configure
> claimed that the compilers were not compatible. I can rerun configure if you
> suspect that this is an issue. I did not add these flags to the Fortran
> variables because configure did not complain further, but I can see that
> this might be an issue.
>
>
>>
>> Also, did you quote the "-assume nounderscore" arguments to
>> FFLAGS/FCFLAGS? I.e., something like this:
>>
>> "FFLAGS=-assume nounderscore"
>>
>>
> Yes, I did.
>
> Andreas
>
>
>> --
>> Jeff Squyres
>> jsquyres_at_[hidden]
>>
>>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>