[cmake-developers] CPackComponents fails with spaces in paths

Eric Noulard eric.noulard at gmail.com
Sun Feb 19 14:53:58 EST 2012


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...)
-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org



More information about the cmake-developers mailing list