[OMPI users] OpenMPI on OS X - file is not of required architecture

2009-09-11 Thread Andreas Haselbacher
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_mpild: warning in /opt/openmpi/lib/libmpi_f77.a, file is not of required architectureUndefined symbols:  "_mpi_init_", referenced from:      _MAIN__ in ifortIsUNoZ.o  "_mpi_comm_size_", referenced from:      _MAIN__ in ifortIsUNoZ.o  "_mpi_finalize_", referenced from:      _MAIN__ in ifortIsUNoZ.o  "_mpi_comm_rank_", referenced from:      _MAIN__ in ifortIsUNoZ.old: symbol(s) not foundI don't know what the warning about the "required architecture" means and cannot find any relevant info in the archives or with google. I'd appreciate any help. More info is below, including the config.log file as an attachment. 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 nounderscoreThe output of the ompi_info --all command is also attached. Thanks,Andreas

config.log.gz
Description: GNU Zip compressed data


open_info_all.out.gz
Description: GNU Zip compressed data
  

Re: [OMPI users] OpenMPI on OS X - file is not of required architecture

2009-09-11 Thread Andreas Haselbacher
On Fri, Sep 11, 2009 at 5:10 PM, Jeff Squyres  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
> jsquy...@cisco.com
>
>


Re: [OMPI users] OpenMPI on OS X - file is not of required architecture

2009-09-14 Thread Andreas Haselbacher
On Fri, Sep 11, 2009 at 6:35 PM, Doug Reeder  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  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
>> jsquy...@cisco.com
>>
>>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>


Re: [OMPI users] OpenMPI on OS X - file is not of required architecture

2009-09-16 Thread Andreas Haselbacher
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  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  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
>> jsquy...@cisco.com
>>
>>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>