[ 
https://issues.apache.org/jira/browse/QPID-5589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13918230#comment-13918230
 ] 

Chuck Rolke commented on QPID-5589:
-----------------------------------

Check the diff in the review 
https://reviews.apache.org/r/18649/diff/#index_header

Line 27 executes an in-line python script that does 'print get_python_lib()'. 
That string comes out in platform-specific format and there's unlikely (?) to 
be a way to force that to use unix-style path separators on windows. 

On linux the output has forward slashes and is cmake compatible; on windows the 
output has backslashes that need the Line 32 file(TO_CMAKE_PATH,...) treatment. 
Then the Line 33 string(REPLACE,...) escapes spaces in the path name to prevent 
the path from becoming "C:\Program" and "Files\Python26\lib\site-packages"

> C++ Windows install fails for qmfgen when Python is in "C:\Program Files"
> -------------------------------------------------------------------------
>
>                 Key: QPID-5589
>                 URL: https://issues.apache.org/jira/browse/QPID-5589
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: 0.26
>         Environment: Windows, cmake 2.8.11.2
>            Reporter: Chuck Rolke
>
> On a windows build system where python is installed at "C:\Program 
> Files\Python26" (space in path name) the INSTALL project fails every time.
> 1. Execute a cmake with "-DCMAKE_INSTALL_PREFIX=install".
> The generated managementgen\cmake_install.cmake has
> {noformat}
>   list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES
>    "c:\Program Files\Python26\Lib\site-packages/qmfgen")
> {noformat}
> 2. Execute "make install" with (VS2008)
> {noformat}
> devenv qpid-cpp.sln /build "Debug|Win32" /project INSTALL
> {noformat}
> The complaint from install is
> {noformat}
> 1>CMake Warning (dev) at managementgen/cmake_install.cmake:35 (list):
> 1>  Syntax error in cmake code at
> 1>    D:/Users/crolke/svn/qpid/b32-2008/managementgen/cmake_install.cmake:36
> 1>  when parsing string
> 1>    c:\Program Files\Python26\Lib\site-packages/qmfgen
> 1>  Invalid escape sequence \P
> {noformat}
> Fixing that with 
> {noformat}
> file(TO_CMAKE_PATH "${PYTHON_SITEARCH_PACKAGES}" 
> PYTHON_SITEARCH_PACKAGES_PATH)
> string(REPLACE " " "\\ " PYTHON_SITEARCH_PACKAGES_PATH 
> ${PYTHON_SITEARCH_PACKAGES_PATH})
> {noformat}
> Results in a Permission Denied as C:\Program Files is protected.
> 3. Cmake inclusion of directory managementgen and the installation into the 
> system Python packages directory is not optional. So install gets stuck.
> This jira proposes adding an option BUILD_QMFGEN that would allow a user to 
> suppress installing qmf-gen into the system. This lets a user avoid the 
> spaces-in-the-path-name issue and move on.
> On systems where Python is installed in a directory that "works" then the 
> system site-packages are overwritten with each developer install. Is that 
> right? How can a developer test junk code without trashing the system for 
> other users? Having a switch to suppress qmfgen for dev builds would dodge 
> this issue, too.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to