Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: Re: [OMPI users] install intel mac with Laopard
From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2008-04-24 12:34:09


On Apr 24, 2008, at 12:24 PM, George Bosilca wrote:

> There are so many special errors that are compiler and operating
> system dependent that there is no way to handle each of them
> specifically. And even if it was possible, I will not use autoconf
> if the resulting configure file was 100MB ...

More specifically, the error messages in config.log are mostly written
by the compiler/linker (i.e., redirect stdout/stderr from the command
line to config.log). We don't usually modify that -- the Autoconf Way
is that Autoconf is 100% responsible for config.log.

> Additionally, I think the error message is more than clear. It
> clearly state that the problem is coming from a mismatch between the
> CFLAGS and FFLAGS. There is even a hint that one has to look in
> config.log to find the real cause...

As George specifies, the stdout from configure is what we can most
directly affect, and that's why we chose to output this message:

********************************************************************
* It appears that your Fortran 77 compiler is unable to link against
* object files created by your C compiler. This generally indicates
* either a conflict between the options specified in CFLAGS and FFLAGS
* or a problem with the local compiler installation. 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.
********************************************************************

OMPI doesn't know *why* the test link failed; we just know that it
failed. I agree with George that trying to put in compiler-specific
stdout/stderr analysis is a black hole that would be extraordinarily
difficult.

Do you have any suggestions for re-wording this message? That's
probably the best that we can do.

>
> george.
>
> On Apr 24, 2008, at 11:57 AM, Doug Reeder wrote:
>
>> Jeff,
>>
>> For the specific problem of the gcc compiler creating i386 objects
>> and ifort creating x86_64 objects, in the config.log file it says
>>
>> configure:26935: ifort -o conftest conftest.f conftest_c.o >&% ld:
>> warning in conftest_c.o, file is not of required architecture
>>
>> If configure could pick up on this and write an error message
>> something like "Your C and fortran compilers are creating objects for
>> different architectures. You probably need to change your CFLAG or
>> FFLAG arguments to ensure that they are consistent" it would point
>> the user more directly to the real problem. Right now the information
>> is in the config.log file but it doesn't jump out at you.
>>
>> Doug Reeder
>> On Apr 24, 2008, at 8:40 AM, Jeff Squyres wrote:
>>
>>> On Apr 24, 2008, at 11:07 AM, Doug Reeder wrote:
>>>
>>>> Make sure that your compilers are all creaqting code for the same
>>>> architecture (i386 or x86-64). ifort usually installs such that the
>>>> 64 bit version of the compiler is the dfault while the apple gcc
>>>> compiler creates i386 output by default. Check the architecture of
>>>> the .o files with file *.o and if the gcc output needs to be x86_64
>>>> add the -m64 flag to the c and c++ flags. That has worked for me.
>>>> You shouldn't need the intel c/c++ compilers. I find the configure
>>>> error message to be a little bit cryptic and not very insightful.
>>>
>>> Do you have a suggestion for a new configure error message? I
>>> thought
>>> it was very clear, but then again, I'm one of the implementors...
>>>>> 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 generally
>>>>> indicates
>>>>> * either a conflict between the options specified in CFLAGS and
>>>>> FFLAGS
>>>>> * or a problem with the local compiler installation. 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.
>>>>> ********************************************************************
>>>>> **
>>>>> configure: error: C and Fortran 77 compilers are not link
>>>>> compatible.
>>>>> Can not continue.
>>>>>
>>>
>>>
>>> --
>>> Jeff Squyres
>>> Cisco Systems
>>>
>>> _______________________________________________
>>> 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
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users

-- 
Jeff Squyres
Cisco Systems