qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chuck Rolke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-5589) C++ Windows install fails for qmfgen when Python is in "C:\Program Files"
Date Mon, 03 Mar 2014 16:35:25 GMT

    [ 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message