Jeff,
I don't know if it there is a way to capture the "not of required
architecture" response and add it to the error message. I agree that
the current error message captures the problem in broad terms and
points to the config.log file. It is just not very specific. If the
architecture problem can't be added to the error message then I
think we are stuck with what we have. If that is the case is it
worthwhile to add this to the FAQ for building openmpi.
Doug
On Apr 24, 2008, at 9:34 AM, Jeff Squyres wrote:
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
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
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Cisco Systems
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users