[cmake-developers] CPackComponents fails with spaces in paths

Eric Noulard eric.noulard at gmail.com
Sun Feb 19 10:27:00 EST 2012


Le 19 février 2012 16:07, Nicolas Desprès <nicolas.despres at gmail.com> a écrit :
> Hi,
>
> The CPackComponents test fails on master where there is a space in the
> source tree. Here I think the trace:
>
> $ ctest -V -R 'CPackComponents$'
>
> ==================================================================
> UpdateCTestConfiguration  from :/home/despre_n/tmp/cmake
> space/_build/DartConfiguration.tcl
> Parse Config file:/home/despre_n/tmp/cmake
> space/_build/DartConfiguration.tcl
>  Add coverage exclude regular expressions.
>  Add coverage exclude: XCode
>  Add coverage exclude: Kdevelop
>  Add coverage exclude: /Source/(cm|kw)sys/
>  Add coverage exclude: /CMakeFiles/CMakeTmp/
>  Add coverage exclude: [A-Za-z]./[Qq]t/qt-.+-opensource-src
> UpdateCTestConfiguration  from :/home/despre_n/tmp/cmake
> space/_build/DartConfiguration.tcl
> Parse Config file:/home/despre_n/tmp/cmake
> space/_build/DartConfiguration.tcl
> Test project /home/despre_n/tmp/cmake space/_build
> Constructing a list of tests
> Guessing configuration NoConfig
> Done constructing a list of tests
> Checking test dependency graph...
> Checking test dependency graph end
> test 89
>     Start 89: CPackComponents
>
> 89: Test command: /home/despre_n/tmp/cmake\ space/_build/bin/ctest
> "--build-and-test" "/home/despre_n/tmp/cmake space/Tests/CPackComponents"
> "/home/despre_n/tmp/cmake space/_build/Tests/CPackComponents"
> "--build-generator" "Unix Makefiles" "--build-project" "CPackComponents"
> "--build-makeprogram" "/usr/bin/make" "--build-two-config" "--build-target"
> "package" "--build-options" "-DCPACK_BINARY_DEB:BOOL=ON"
> "-DCPACK_BINARY_RPM:BOOL=ON" "-DCPACK_BINARY_NSIS:BOOL=ON"
> "--graphviz=CPackComponents.dot" "--test-command" "/home/despre_n/tmp/cmake
> space/_build/bin/cmake"
> "-DCPackComponents_BINARY_DIR:PATH=/home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents" "-P" "/home/despre_n/tmp/cmake
> space/Tests/CPackComponents/VerifyResult.cmake"
> 89: Test timeout computed to be: 1500
> 89: Generate graphviz: /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylib...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylibapp...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylib.dependers...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylibapp.dependers...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot...
> 89: Generate graphviz: /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylib...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylibapp...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylib.dependers...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot.mylibapp.dependers...
> 89: Writing /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackComponents.dot...
> 89: Internal cmake changing into directory: /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents
> 89: ======== CMake output     ======
> 89: Configuring
> 89: Configuring done
> 89: Generating
> 89: Generating done
> 89: Build files have been written to: /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents
> 89: Configuring
> 89: Configuring done
> 89: Generating
> 89: Generating done
> 89: Build files have been written to: /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents
> 89: ======== End CMake output ======
> 89: Change Dir: /home/despre_n/tmp/cmake space/_build/Tests/CPackComponents
> 89:
> 89: Run Clean Command:/usr/bin/make "clean"
> 89:
> 89: Run Build Command:/usr/bin/make "package"
> 89: [ 50%] Building CXX object CMakeFiles/mylib.dir/mylib.cpp.o
> 89: Linking CXX static library libmylib.a
> 89: [ 50%] Built target mylib
> 89: [100%] Building CXX object CMakeFiles/mylibapp.dir/mylibapp.cpp.o
> 89: Linking CXX executable mylibapp
> 89: [100%] Built target mylibapp
> 89: Run CPack packaging tool...
> 89: CMake Warning (dev) at /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackConfig.cmake:54 (SET):
> 89:   Syntax error in cmake code at
> 89:
> 89:     /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/CPackConfig.cmake:54
> 89:
> 89:   when parsing string
> 89:
> 89:     C:\Program Files\CMake Tests Install Root
> 89:
> 89:   Invalid escape sequence \P
> 89:
> 89:   Policy CMP0010 is not set: Bad variable reference syntax is an error.
>  Run
> 89:   "cmake --help-policy CMP0010" for policy details.  Use the
> cmake_policy
> 89:   command to set the policy and suppress this warning.
> 89: This warning is for project developers.  Use -Wno-dev to suppress it.
> 89:
> 89: CPack: Create package using DEB
> 89: CPack: Install projects
> 89: CPack: - Run preinstall target for: CPackComponents
> 89: CPack: - Install project: CPackComponents
> 89: CPack: Create package
> 89: CPack: - package: /home/despre_n/tmp/cmake
> space/_build/Tests/CPackComponents/MyLib-1.0.0-Linux.deb generated.
> 89: CPack: Create package using RPM
> 89: CPack: Install projects
> 89: CPack: - Run preinstall target for: CPackComponents
> 89: CPack: - Install project: CPackComponents
> 89: CPack: Create package
> 89: CMake Error at /home/despre_n/tmp/cmake space/Modules/CPackRPM.cmake:298
> (MESSAGE):
> 89:   /usr/bin/rpmbuild can't handle paths with spaces, use a build
> directory
> 89:   without spaces for building RPMs.
> 89:
> 89:
> 89: CPack Error: Error while execution CPackRPM.cmake
> 89: CPack Error: Problem compressing the directory
> 89: CPack Error: Error when generating package: MyLib
> 89: make: *** [package] Error 1
> 1/1 Test #89: CPackComponents ..................***Failed    3.31 sec
>
> 0% tests passed, 1 tests failed out of 1
>
> Total Test time (real) =   4.31 sec
>
> The following tests FAILED:
> 89 - CPackComponents (Failed)
> Errors while running CTest
> ==================================================================
>
> So I think the culprit is RPM.

Yes and it is a known limitation of current rpmbuild (thus the message).
Normally we avoided to test CPackRPM in this condition.
Did you somehow [manually] switched on CPACK_BINARY_RPM option?
This one is OFF by default (if not the error would have shown up on
the dashboard).

Nevertheless the guard against "space" for CPackRPM has been
put in CPackComponentsForAll tests but not in
CPackComponents.

I'll put it as well.

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org



More information about the cmake-developers mailing list