On 2009-07-15 19:29+0100 Andrew Ross wrote:
> On Wed, Jul 15, 2009 at 01:14:59PM -0400, Hazen Babcock wrote:
>>
>> (1) Do we have a minimum c++ version requirement? I couldn't find
>> anything in the archives but when I tried to run cmake on svn head I get
>> this error:
>>
>> CMake version = 2.6.4
>> The CXX compiler identification is GNU
>> CMake Error at cmake/modules/c++.cmake:57 (message):
>> C++ compiler absolutely required to build this project.
>> Call Stack (most recent call first):
>> cmake/modules/plplot.cmake:127 (include)
>> CMakeLists.txt:82 (include)
>>
>> I also tried with 5.9.4 and I did not see this problem. I have the
>> standard mingw c++ version 3.4.5, which is perhaps a little dated?
>
> To follow on from Werner's response: You shouldn't _need_ a C++ compiler
> to compile plplot. All the core code is C. Of course you won't get the
> C++ bindings or the drivers which are written in C++. Having said this
> it looks like the cmake system currently insists you have one.
Actually, we _were_ dependent on having a C++ compiler because the psttf
device and octave bindings failed horribly without one, and
check_prototype_exists (unnecessarily) demanded a working C++ compiler. I
have just now (revision 10150) fixed all those issues so that for the first
time a working C++ compiler is optional, i.e., the -DENABLE_cxx=OFF option
works for the first time (i.e., by automatically turning PLD_psttf and
ENABLE_octave to OFF), and if you don't use that option, but a C++ compiler
cannot be found, the build system recovers gracefully by forcing
ENABLE_cxx=OFF. (I just checked that graceful recovery by temporarily
renaming /usr/bin/g++.)
Revision 10150 should clear up some obfuscating issues, but I suspect
Hazen's underlying issue (cannot find a C++ compiler) will still generate a
warning (and ENABLE_cxx=OFF). Hazen, will you confirm your problem now
shows up as that warning for svn trunk?
Furthermore, if you are still getting a warning (now) about a missing C++
compiler, I frankly don't understand why 5.9.4 works for you at all without
erroring out at cmake time. The C++ language was an absolute requirement for
5.9.4. The method used to find C++ had a different top-level (the project
command without any languages specified is the same as demanding C and C++),
but the underlying method (CMakeDetermineCXXCompiler) for finding the C++
compiler should be identical. Are you using the exact same generator and
environment variables for both PLplot 5.9.4 and PLplot svn trunk? The
generator and CXX environment variable will make a difference to whether you
find a C++ compiler or not.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
|