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-16 17:41:17


I made a silly mistake, so I'm sorry for wasting your time. I installed
ifort and set the paths, but when I logged in as root, it was using the old
ifort compiler. Therefore, once I tried to run mpif90 from my account, it of
course did not match what was compiled after configure...
Andreas

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.
>
> 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
>