[cmake-developers] Failures re bzip2 in the dashboard

Brad King brad.king at kitware.com
Tue Feb 19 09:51:35 EST 2013


On 02/18/2013 05:44 PM, Stephen Kelly wrote:
> I was able to reproduce an earlier build failure on the dashboard:
> 
>  http://open.cdash.org/viewTest.php?onlyfailed&buildid=2816863
> 
> but I've not been able to reproduce this one:
> 
>  http://open.cdash.org/viewTest.php?onlyfailed&buildid=2817816
> 
> I'll not get any chance to fix it this evening, so any help in resolving the 
> issue would be welcome.

Please revert the changes to "Utilities/cmlibarchive/CMakeLists.txt"
and find a way to make the new CheckLibraryExists and others work with
no changes to projects.  If CMake sources can break this than so can
other projects.  Also this would make it so newer CMake cannot build
older CMake.

I built your topic and used it to build CMake without the cmlibarchive
changes and got:

 CMake Error at Modules/CheckLibraryExists.cmake:41 (try_compile):
   Only libraries may be used as try_compile IMPORTED LINK_LIBRARIES.  Got
   cmbzip2, which is a non-IMPORTED target.
 Call Stack (most recent call first):
   Modules/FindBZip2.cmake:53 (CHECK_LIBRARY_EXISTS)
   Utilities/cmlibarchive/CMakeLists.txt:189 (FIND_PACKAGE)

so I assume this is the error you're trying to avoid.  The change is
going to have to be in the new infrastructure, possibly with a policy
that affects the Check*.cmake modules that use the new try_compile
signature.

The try_compile that FindBZIP2 does on cmbzip2 inside CMake fails with
"/usr/bin/ld: cannot find -lcmbzip2" but by luck the answer is correct
anyway.  The new infrastructure will have to somehow treat non-imported
target names as plain library names for its purposes, at least when
invoked through one of the existing check module interfaces.

-Brad



More information about the cmake-developers mailing list