Looks good. On Dec 3, 2013, at 2:53 PM, Todd Fiala <[email protected]> wrote:
> Attached please find a patch proposal to fix the following bug: > > http://llvm.org/bugs/show_bug.cgi?id=18124 > > It makes the two changes we discussed: > > * when copying scripts during 'make install', if the copying fails, the error > is propagated to make and causes make to fail. > > * the lldb python packages are now installed under the install tree, matching > output from lldb -P. > > I've tested it both with a parallel build tree and with an in-source build > tree. I also implemented the make failure propagation before doing the other > change, verifying that my initial failure condition (permission problem due > to lack of 'sudo') correctly fails the make. > > I did not do anything with cmake builds. > > Feedback is welcomed! > > -Todd > > On Tue, Dec 3, 2013 at 10:09 AM, Todd Fiala <[email protected]> wrote: > Excellent. Thanks, Greg! > > I'll get a patch together following that approach unless anything further > develops here. > > > On Tue, Dec 3, 2013 at 10:00 AM, Greg Clayton <[email protected]> wrote: > > On Dec 3, 2013, at 9:46 AM, Todd Fiala <[email protected]> wrote: > > > Hi all, > > > > I started digging into the 'make install' python script installation issue > > listed on another thread. Here's the ticket for it: > > > > http://llvm.org/bugs/show_bug.cgi?id=18124 > > > > I've added some comments to the bug. My initial digging leads to a few > > questions: > > > > 1. Where do we expect a configure/make/make install to place the python > > scripts? I was under the impression the scripts should be installed in the > > same directory tree implied by the configure --prefix arg, which is also > > what a `lldb -P` reports. However, what I'm finding is that the 'make > > install' step is trying to install the python scripts into the python > > interpreter's dist-packages location. I'm getting these failures on > > install because I'm not doing a 'sudo' on my make install. > > > > llvm[4]: Installing Debug+Asserts LLDB python modules > > mkdir: cannot create directory `/usr/lib/python2.7/dist-packages/lldb': > > Permission denied > > Error: Unable to find or create /usr/lib/python2.7/dist-packages/lldb > > make[4]: Leaving directory > > `/usr/local/google/home/tfiala/llvm/work/build-debug/tools/lldb/source/Interpreter' > > > > Do we want the python scripts installing into the python executable's > > dist-packages or the location reported by lldb -P? > > Yes, this would allow multiple installs of LLDB to co-exist without stomping > on the previous LLDB's python modules (which could be very different). > > > My first stab would be it should go in the installation prefix paths as I > > would not expect any code to be installed outside of the prefix and, > > possibly, require a sudo when I'm trying to do everything locally without > > elevated privileges. > > > > 2. Should 'make install' fail if we fail to copy over python files? My > > first take is that a failure to install the scripts should qualify as an > > all-out failure and cause make to fail (i.e. fail early, fail loudly); > > otherwise, we can get quite a bit past the root cause of scripting-related > > failures without realizing what's broken. > > > > Any opinions on this? My straw-man answers are: > > > > 1. Install into the tree implied by configure --prefix, not into the python > > dist-packages dir. (A close second would be to specify a new configure > > path variable so the user can configure, possibly adjusting the output of > > lldb -P to match). > > The --prefix path sounds right to be for coexistence. > > > > > 2. Change makefiles so that failure to copy scripts fails the install. > > Agreed. > > > > > I'll fix up whatever we decide here if it requires a change. > > > > Thanks! > > > > Sincerely, > > Todd Fiala > > _______________________________________________ > > lldb-dev mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > <bug_18124.diff> _______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
