[cmake-developers] CPackComponents fails with spaces in paths

Nicolas Desprès nicolas.despres at gmail.com
Sun Feb 19 18:15:48 EST 2012


2012/2/19 Eric Noulard <eric.noulard at gmail.com>

> Le 19 février 2012 17:20, Nicolas Desprès <nicolas.despres at gmail.com> a
> écrit :
> >
> >
> > 2012/2/19 Eric Noulard <eric.noulard at gmail.com>
> >>
> >> 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).
> >
> >
> > Yes I switch it ON on Linux, because I like to have as much test as
> > possible.
> >
> >>
> >> Nevertheless the guard against "space" for CPackRPM has been
> >> put in CPackComponentsForAll tests but not in
> >> CPackComponents.
> >>
> >> I'll put it as well.
>
> Just merged the fix to next.
> Merge topic 'doBuildRPM-withSpaceInTree' into next
>
> 6749450 Do not build RPM if path of the build tree contains space
>
> (the branch is ill-named sorry about that...)
>

Thx! It works.

-- 
Nicolas Desprès
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20120220/d1d87688/attachment.html>


More information about the cmake-developers mailing list