[
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]