I was reading the FAQs for the ClamAV anti-virus program (included on
Mac OS X) at http://www.clamav.net/lang/en/faq/faq-upgrade/. At the
end is a note that caught my eye about problem compilers.
ClamAV supports a wide variety of compilers, hardware and operating
systems. Our core compiler is gcc with Linux on 32 and 64 bit Intel
platforms, though we also test using other compilers, including
Sun’s C compiler, Microsoft’s Visual Studio, Intel’s C compiler,
LLVM-GCC, and others. To date we have only found one compiler that
we do not support, GCC version 4.0.0 to 4.0.1 inclusive. We have
found that version of the compiler produces incorrect code on all of
the platforms and operating systems on which we have tested it.
ClamAV will not work using that compiler and you MUST switch to an
alternative, such as GCC3.4 or GCC4.1. Please contact your vendor
for further information. Please refer to gcc’s bugzilla for further
information. If you want to see a proof of why gcc 4.0.1 generates
wrong code for the kernel read the relevant article on kerneltrap.
More information about this bug is also available in our bugzilla .
Our configure scripts will detect if your compiler is affected by
this bug and refuse to generate a non working binary with the
following error message: your compiler has gcc PR26763-2 bug, use a
different compiler . If you are on MacOS X, you can try an
alternative compiler, LLVM-GCC4.2-2.2, which has official binaries
available
Last update: Apr 15, 2010
Two things occurred to me that might be appropriate for OpenMPI:
1) If GCC4.0.1 is as bad as it sounds, that might be worth mentioning
in the OpenMPI README.
2) OpenMPI might borrow ClamAV's configuration logic to recognize GCC
4.0.1 (and, maybe the faulty Intel V12.x compiler) and balk.
Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov