From: Alan W. I. <ir...@be...> - 2006-09-06 06:04:42
|
On 2006-09-06 06:42+0200 Arjen Markus wrote: >> On 2006-09-05 21:36+0200 Arjen Markus wrote: >> >>> It is a consistent and persistent error. I have tried to clean up >>> everything vi "make clean", but that did not help. >> >> Sometimes, that is not adequate, and you have to remove the whole >> (separate) build tree if the CBS files have been sufficiently changed >> since the last time you tried cmake. >> >> So what happens if you start with an empty build tree? >> > > Well, I now get this: > > -- CMAKE_SYSTEM_NAME = CYGWIN > -- Checking whether system has ANSI C header files > -- ANSI C header files - not found > CMake Error: Error in cmake code at > /cygdrive/c/arjen/plplot-5.6.1-cmake/plplot/cmake/modules/plplot.cmake:115: > MESSAGE FATAL_ERROR for plplot.cmake: DIR symbol must be defined by Unix > system headers. > Current CMake stack: > /cygdrive/c/arjen/plplot-5.6.1-cmake/plplot/CMakeLists.txt;/cygdrive/c/arjen/cmake-cygwin/CMake/Modules/CMakeCInformation.cmake;/cygdrive/c/arjen/cmake-cygwin/CMake/Modules/CMakeCXXInformation.cmake;/cygdrive/c/arjen/plplot-5.6.1-cmake/plplot/cmake/modules/plplot.cmake-- Configuring done > > (I tried building in a different directory) > > Here is the command-line: > > /cygdrive/c/arjen/cmake-cygwin/CMake/bin/cmake -DBUILD_TEST:BOOL=ON > -DBUILD_SHARED_LIBS:BOOL=ON -DDEFAULT_NO_DEVICES:BOOL=ON -DPLD_ps:BOOL=ON -G > "Unix Makefiles" ../plplot First, you don't need all those ":BOOL" strings in the cmake command line. (They don't hurt, but why type extra? For example, -DBUILD_TEST=ON should work fine.) Second, BUILD_SHARED_LIBS is ON by default. So the above should reduce to /cygdrive/c/arjen/cmake-cygwin/CMake/bin/cmake -DBUILD_TEST=ON \ -DDEFAULT_NO_DEVICES=ON -DPLD_ps=ON -G "Unix Makefiles" ../plplot Third, the above error message is extremely specific and should tell you pretty much what the problem is. As is often the case with cmake, it is simply a find problem. Look in the vicinity of line 115 of plplot.cmake to confirm that. It is looking for various combinations of header files on Unix (including Cygwin) systems. Any one of those header file combinations will do. Set the appropriate environment variables to help CMake find what it needs on your Cygwin platform. Either you set the environment variables properly before for your previous Cygwin tests, or those tests were compromised because you didn't make a fresh CBS start on Cygwin from an empty build tree. (I recommend that fresh start every time while we are still exploring problems with our CBS on any given platform. cmake is quite fast so it hardly takes any time at all to make such a fresh start compared to the time required to do the make command.) Also, I suggest you make a script to set all environment variables appropriately for your Cygwin platform and make a similar script for each of the different platforms you are testing. That makes it easier to keep the various platforms straight and therefore generates more consistent results. 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 Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |