aadsm requested changes to this revision.
aadsm added a comment.
This revision now requires changes to proceed.

I'm sorry to reject but this diff breaks `install-distribution` on Darwin. 
Here's how to repro:

  $ mkdir -p ~/Projects/llvm-build/Release && cd ~/Projects/llvm-build/Release
  $ cmake -G Ninja \
   -DLLVM_ENABLE_PROJECTS="clang;lldb" \
   -DCMAKE_BUILD_TYPE=Release \
   -DLLVM_ENABLE_ASSERTIONS=OFF \
   -DLLDB_INCLUDE_TESTS=OFF \
   -DLLVM_DISTRIBUTION_COMPONENTS="lldb;liblldb" \
   -C ../../llvm-project/lldb/cmake/caches/Apple-lldb-macOS.cmake \
   -S../../llvm-project/llvm
  $ DESTDIR=$PWD/install/usr install-distribution
  ninja: error: 'bin/LLDB.framework/LLDB', needed by 
'bin/LLDB.framework/Resources/Python/lldb/_lldb.so', missing and no known rule 
to make it

The reason I found this is because I was having an issue where `_lldb.so` was 
being generated on the build but it was not being copied to the install 
directory.
After some mucking around I realized that the `install-liblldb` target installs 
the python scripts but it's `lldb` that generates the symlink as a `POST_BUILD` 
command (before this diff). I think in some situations the `install-liblldb` 
runs before that `POST_BUILD` command has run. At least I'm able to repro this 
quite consistently and once `ninja install-distribution` is finished `_lldb.so` 
exists on the build directory but not on the install one (and I can see all 
files in the python module being copied except that one in the ninja log when 
running the install step).

I fixed this locally by doing this (this fix doesn't really feel good but not 
sure what's the best way to do it):

  if(LLDB_BUILD_FRAMEWORK)
    # When building as framework liblldb is responsible to install the python
    # scripts. However, we need to make sure that all swig components have been
    # properly finished.
    add_dependencies(install-liblldb finish_swig)
    add_dependencies(install-liblldb-stripped finish_swig)
  else()
    # Install the LLDB python module
    ...
  endif()

Then I found this diff that hasn't landed yet and tried it (I think there's a 
race condition caused by the POST_BUILD command but not sure) out and stumbled 
upon this.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69589



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to