I have been thinking about this. I want to create an entire module that just crafts responses<div>to errors. Putting all that knowledge distributed throughout the code is crazy. Of course, this</div><div>entails making an error ontology, etc. which will always break somehow, but I think its better</div>
<div>than what we have now.</div><div><br></div><div>For example, we send this module</div><div><br></div><div> InvalidCompiler, C++, (error, output, status), 'icc'</div><div><br></div><div>Its a simple matter to put in a check that recommends using 'icpc' instead. In fact, we can</div>
<div>even do more tests before giving that error, such as checking that it is the Intel compiler. I</div><div>think this is a much cleaner separation of concerns.</div><div><br></div><div>Comments?</div><div><br></div><div>
Matt<br><br><div class="gmail_quote">On Tue, Mar 30, 2010 at 11:55 AM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Shouldn't ./configure automatically tell the user not to use icc<br>
for CXX rather than require email from Satish each time this happens?<br>
Five minutes now to fix ./configure; endless hours of email saved later.<br>
<font color="#888888"><br>
<br>
Barry<br>
</font><div><div></div><div class="h5"><br>
On Mar 30, 2010, at 12:50 PM, Satish Balay wrote:<br>
<br>
> You should use CXX=icpc<br>
><br>
> Satish<br>
><br>
> On Tue, 30 Mar 2010, Pedro Torres wrote:<br>
><br>
>> Hello,<br>
>><br>
>> I'm trying to compile PETSc with intel compiler and get the error<br>
>> below. I<br>
>> can compile a c/c++ source code without problem.<br>
>><br>
>> What am I doing wrong?. Thanks a lot<br>
>><br>
>><br>
>> ./config/configure.py PETSC_ARCH=linux-gnu-c++-nodebug-parmetis<br>
>> CXX=icc<br>
>> FC=ifort --with-clanguage=C++ --download-parmetis=1<br>
>> --download-parmetis=/home/ptorres/soft/ParMetis-dev-p3.tar.gz<br>
>> --with-blas-lapack-dir=/opt/intel/mkl/<a href="http://10.2.4.032" target="_blank">10.2.4.032</a> --with-debugging=0<br>
>> CXXOPTFLAGS='-O3 -xN -tpp7 -ipo'<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =====================================================================<br>
>> Configuring PETSc to compile on your system<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =<br>
>> =====================================================================<br>
>> TESTING: checkCxxCompiler from<br>
>> config.setCompilers(config/BuildSystem/config/setCompilers.py:585)<br>
>> *******************************************************************************<br>
>> UNABLE to CONFIGURE with GIVEN OPTIONS (see<br>
>> configure.log for<br>
>> details):<br>
>> -------------------------------------------------------------------------------<br>
>> C++ compiler you provided with -CXX=icc does not work<br>
>> *******************************************************************************<br>
>><br>
>><br>
>><br>
><br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</div>