[CMake] problems with cache and findvtk

Dominik Szczerba dominik at itis.ethz.ch
Fri Jul 24 17:11:34 EDT 2009


On Fri, 2009-07-24 at 17:05 -0400, David Cole wrote:
> ccmake . does not erase the cache.
> 
> It would not surprise me if a second -C initialcache.cmake call did
> erase some cache entries... As I said before, I do not think the -C
> arg is intended to be used more than once in a given build tree. It
> doesn't make any sense.
> 
> 
> Perhaps we should formalize that notion and refuse to honor "-C" or
> even produce an error if it is given in a build tree with an existing
> CMakeCache.txt.
> 

Yes, that sounds like a very good idea, at least to help separate the
suspicious behavior.

-- Dominik

> 
> 
> On Fri, Jul 24, 2009 at 4:51 PM, Dominik Szczerba
> <dominik at itis.ethz.ch> wrote:
>         On Thu, 2009-07-23 at 11:51 -0400, David Cole wrote:
>         
>         > "cmake -C initialcache.cmake" is intended to be used once to
>         establish
>         > an *initial* cache... Why do you want to do it again later
>         when you
>         > already have a cache...?
>         >
>         > A second call with -C is not the intended use for the -C
>         argument...
>         >
>         >
>         > Also, does your initial cache file set the compiler? It is
>         more
>         > typical (and therefore better tested) to set environment
>         variables CC
>         > and CXX to specify the compilers before running cmake for
>         the first
>         > time.
>         >
>         
>         
>         That was a hint in the right direction. Indeed, I was setting
>         the
>         compilers in the initial cache to formally something else than
>         VTK was
>         compiled with (me: g++, VTK: c++). Removing this cache entry
>         so far does
>         not in the reported annoyances. Will keep an eye though and
>         evntl. come
>         back. Still, I definitely think something is not clean here
>         anyway, e.g.
>         "ccmake ." with no changes of variables (not even configure or
>         generate)
>         should not erase the cache, should it?
>         
>         with thanks and regards,
>         Dominik
>         
>         
>         >
>         > I think your main problem is running with -C on subsequent
>         configures
>         > beyond the initial one, though.
>         >
>         >
>         >
>         >
>         > HTH,
>         > David
>         >
>         >
>         >
>         > On Thu, Jul 23, 2009 at 7:40 AM, Dominik Szczerba
>         > <dominik at itis.ethz.ch> wrote:
>         >         No, I do not have any cache files in the whole
>         source tree.
>         >
>         >         The easiest - and the most suspicious - way to
>         reproduce is:
>         >
>         >         1) cmake -C ~/src/mesh/CMakeInitialCache-x60.cmake
>         ~/src/mesh
>         >         (this configures correctly, values from the cache
>         are taken, I
>         >         see them
>         >         displayed with MESSAGE. Now "make whatever" would
>         work as
>         >         expected.
>         >         2) ccmake .
>         >         (just this, no reconfigure, no re-generate, just run
>         and quit)
>         >         3) cmake -C ~/src/mesh/CMakeInitialCache-x60.cmake
>         ~/src/mesh
>         >         This now does not work anymore. Some snippets from
>         the output:
>         >
>         >         loading initial cache
>         >
>         file /home/domel/src/mesh/CMakeInitialCache-x60.cmake
>         >         (...)
>         >         -- IDIR_HDF5: /home/domel/pack/hdf5-1.8.3/src
>         (several
>         >         variables *ARE*
>         >         correctly there
>         >         (...)
>         >         Warning: CMake is forcing CMAKE_CXX_COMPILER to
>         "/usr/bin/c++"
>         >         to match
>         >         that imported from VTK.  This is required because C
>         ++ projects
>         >         must use
>         >         the same compiler.  If this message appears for more
>         than one
>         >         imported
>         >         project, you have conflicting C++ compilers and will
>         have to
>         >         re-build
>         >         one of those projects. Was set to /usr/bin/g++
>         >         (...)
>         >         -- IMESH: QT_QMAKE_EXECUTABLE: /usr/bin/qmake (still
>         several
>         >         more
>         >         variables are OK)
>         >         (...)
>         >         -- Configuring done
>         >         You have changed variables that require your cache
>         to be
>         >         deleted.
>         >         Configure will be re-run and you may have to reset
>         some
>         >         variables.
>         >         The following variables have changed:
>         >         CMAKE_CXX_COMPILER= /usr/bin/c++
>         >         (so the cache is deleted!!! why??? Now the
>         configuration
>         >         re-starts and
>         >         ALL variables are gone:)
>         >         -- IDIR_HDF5: (empty...)
>         >
>         >         CMake Error
>         >
>         at /usr/local/share/cmake-2.6/Modules/FindVTK.cmake:134
>         >         (MESSAGE):
>         >          VTK not found.  Set the VTK_DIR cmake cache entry
>         to the
>         >         directory
>         >          containing VTKConfig.cmake.  This is either the
>         root of the
>         >         build
>         >         tree, or
>         >          PREFIX/lib/vtk for an installation.  For VTK 4.0,
>         this is the
>         >         location
>         >         of
>         >          UseVTK.cmake.  This is either the root of the build
>         tree or
>         >          PREFIX/include/vtk for an installation.
>         >         Call Stack (most recent call first):
>         >          CMakeLists.txt:80 (FIND_PACKAGE)
>         >
>         >
>         >         Any ideas why no action whatsoever causes the
>         failure?
>         >         Many thanks!
>         >         -- Dominik
>         >
>         >
>         >         On Thu, 2009-07-23 at 06:57 -0400, David Cole wrote:
>         >         > Something's not right... This should work.
>         >         >
>         >         > Is there a CMakeCache.txt file in the source tree?
>         If so,
>         >         delete it
>         >         > and start with a clean source tree.
>         >         >
>         >         > Are you getting configure errors?
>         >         >
>         >         > Steps to reproduce the issue might help to
>         diagnose the
>         >         problem.
>         >         >
>         >         >
>         >         >
>         >         > On Thu, Jul 23, 2009 at 6:22 AM, Dominik Szczerba
>         >         > <dominik at itis.ethz.ch> wrote:
>         >         >         Some moredebugging info: cmake versions
>         2.6.2 and
>         >         2.6.4. Re:
>         >         >         point 2)
>         >         >         running cmake -C path/to/initcache.cmake
>         PATH does
>         >         NOT resolve
>         >         >         the
>         >         >         problem.
>         >         >
>         >         >         Is it a bug case or expected bahvior?
>         >         >
>         >         >         Dominik
>         >         >
>         >         >
>         >         >         On Thu, 2009-07-23 at 10:33 +0200, Dominik
>         Szczerba
>         >         wrote:
>         >         >         > Hi,
>         >         >         > I have several frustrating problems
>         using cmake
>         >         initial
>         >         >         cache file with
>         >         >         > some variables in combination with using
>         findvtk
>         >         in my
>         >         >         CMakeLists.txt.
>         >         >         >
>         >         >         > 1) ccmake . in the build dir invalidates
>         the whole
>         >         dir:
>         >         >         findvtk
>         >         >         > complains about missing VTK_Dir, which
>         *WAS* in
>         >         the initial
>         >         >         cache. I
>         >         >         > have to delete the whole tree and run
>         cmake -C
>         >         >         path/to/initcache.cmake
>         >         >         > PATH again
>         >         >         >
>         >         >         > 2) indentical symptoms are when
>         CMakeLists.txt has
>         >         changed:
>         >         >         VTK_DIR and
>         >         >         > CMAKE_BUILD_TYPE are not there.
>         >         >         >
>         >         >         > How to resolve it?
>         >         >         >
>         >         >         > Dominik
>         >         >         >
>         >         >         >
>         _______________________________________________
>         >         >         > Powered by www.kitware.com
>         >         >         >
>         >         >         > Visit other Kitware open-source projects
>         at
>         >         >
>         http://www.kitware.com/opensource/opensource.html
>         >         >         >
>         >         >         > Please keep messages on-topic and check
>         the CMake
>         >         FAQ at:
>         >         >         http://www.cmake.org/Wiki/CMake_FAQ
>         >         >         >
>         >         >         > Follow this link to
>         subscribe/unsubscribe:
>         >         >         >
>         http://www.cmake.org/mailman/listinfo/cmake
>         >         >         >
>         >         >
>         >         >
>         _______________________________________________
>         >         >         Powered by www.kitware.com
>         >         >
>         >         >         Visit other Kitware open-source projects
>         at
>         >         >
>         http://www.kitware.com/opensource/opensource.html
>         >         >
>         >         >         Please keep messages on-topic and check
>         the CMake
>         >         FAQ at:
>         >         >         http://www.cmake.org/Wiki/CMake_FAQ
>         >         >
>         >         >         Follow this link to subscribe/unsubscribe:
>         >         >
>         http://www.cmake.org/mailman/listinfo/cmake
>         >         >
>         >         >
>         >
>         >
>         >
>         >
>         
>         
> 
> 



More information about the CMake mailing list