[PATCH] D67583: Fix swig python package path

Haibo Huang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 18 12:50:39 PDT 2019


hhb added a comment.

In D67583#1673356 <https://reviews.llvm.org/D67583#1673356>, @ZeGentzy wrote:

> Hello folks,
>
> These changes break running `ninja install` when building with `-D LLVM_LIBDIR_SUFFIX=32`.
>
>   [...]
>   -- Up-to-date: /build/llvm-git-gentz/pkg/lib32-llvm-git-gentz/opt/llvm32/include
>   -- Up-to-date: /build/llvm-git-gentz/pkg/lib32-llvm-git-gentz/opt/llvm32/include/lldb
>   -- Up-to-date: /build/llvm-git-gentz/pkg/lib32-llvm-git-gentz/opt/llvm32/include/lldb/Host
>   -- Installing: /build/llvm-git-gentz/pkg/lib32-llvm-git-gentz/opt/llvm32/include/lldb/Host/Config.h
>   CMake Error at tools/lldb/scripts/cmake_install.cmake:41 (file):
>     file INSTALL cannot find
>     "/build/llvm-git-gentz/src/_build32_final/./lib/python3.7".
>   Call Stack (most recent call first):
>     tools/lldb/cmake_install.cmake:50 (include)
>     tools/cmake_install.cmake:50 (include)
>     cmake_install.cmake:68 (include)
>  
>  
>   FAILED: CMakeFiles/install.util 
>   cd /build/llvm-git-gentz/src/_build32_final && /usr/bin/cmake -P cmake_install.cmake
>   ninja: build stopped: subcommand failed.
>
>
> After some investigation, I found that there is no `/build/llvm-git-gentz/src/_build32_final/./lib/python3.7` but there is an `/build/llvm-git-gentz/src/_build32_final/./lib32/python3.7`.
>
> I've temporary solved this problem by applying the following patch:
>
>   diff --git a/lldb/scripts/CMakeLists.txt b/lldb/scripts/CMakeLists.txt
>   index 9de96ef5565..7d346deee7f 100644
>   --- a/lldb/scripts/CMakeLists.txt
>   +++ b/lldb/scripts/CMakeLists.txt
>   @@ -47,7 +47,7 @@ if(NOT LLDB_BUILD_FRAMEWORK)
>      if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
>        set(swig_python_subdir Lib/site-packages)
>      else()
>   -    set(swig_python_subdir lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
>   +    set(swig_python_subdir lib${LLVM_LIBDIR_SUFFIX}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
>      endif()
>   
>      set(SWIG_PYTHON_DIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${swig_python_subdir})
>
>
> I believe solving this problem correctly would also involve updating https://github.com/python/cpython/blob/3.8/Lib/distutils/sysconfig.py#L150 to account for `${LLVM_LIBDIR_SUFFIX}`, however, I've never used the script before and am unfamiliar with it's purpose.
>
> @hhb Could you please revisit this revision so that it doesn't break builds with a modified `LLVM_LIBDIR_SUFFIX` and revert this revision until then?


Hmm that's interesting... In my case the issue is opposite: LLVM_LIBDIR_SUFFIX=64 by default but the file is in lib/ .

I don't think we can change python to fix this. But I'm curious how the suffix is applied. Let me try LLVM_LIBDIR_SUFFIX by myself...


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D67583/new/

https://reviews.llvm.org/D67583





More information about the llvm-commits mailing list