[lldb-dev] [PATCH] Intended install location for python scripts

Todd Fiala tfiala at google.com
Wed Dec 4 07:28:15 PST 2013


My pleasure :-)


On Wed, Dec 4, 2013 at 2:05 AM, Abid, Hafiz <Hafiz_Abid at mentor.com> wrote:

>  Looks good to me. I tested it on my Ubuntu 12.04 and it worked ok.
> Thanks for doing it.
>
>
>
> Regards,
>
> Abid
>
>
>
> *From:* lldb-dev-bounces at cs.uiuc.edu [mailto:lldb-dev-bounces at cs.uiuc.edu]
> *On Behalf Of *Todd Fiala
> *Sent:* 03 December 2013 22:54
> *To:* Greg Clayton
> *Cc:* lldb-dev at cs.uiuc.edu
> *Subject:* Re: [lldb-dev] [PATCH] Intended install location for python
> scripts
>
>
>
> 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 <tfiala at google.com> 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 <gclayton at apple.com> wrote:
>
>
> On Dec 3, 2013, at 9:46 AM, Todd Fiala <tfiala at google.com> 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
> > lldb-dev at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20131204/0dc9fb12/attachment.html>


More information about the lldb-dev mailing list