can't install kdebase, needs root

Andreas Pakulat apaku at gmx.de
Mon Jun 21 23:04:42 CEST 2010


On 21.06.10 21:36:13, Alexander Neundorf wrote:
> On Saturday 12 June 2010, Michael Jansen wrote:
> > On Samstag 12 Juni 2010 00:49:56 Ben Cooksley wrote:
> > > On Sat, Jun 12, 2010 at 10:41 AM, Matthew Woehlke
> > >
> > > <mw_triad at users.sourceforge.net> wrote:
> > > > I've started getting this the last two days:
> > > >
> > > > CMake Error at
> > > > workspace/plasma/generic/scriptengines/python/cmake_install.cmake:76
> > > > (FILE): file cannot create directory:
> > > > /usr/lib64/python2.6/site-packages/PyKDE4. Maybe need administrative
> > > > privileges.
> > > >
> > > > The line in question (trying to install to ${PYTHON_SITE_PACKAGES_DIR})
> > > > seems to have been there for some time, so I am not sure what has
> > > > changed (I think, though, PyKDE was not being built before on my
> > > > system, though again, I don't know why that would have changed).
> > >
> > > Passing the following argument to CMake when configuring kdebase
> > > should be sufficient..
> > >
> > > -DPYTHON_SITE_PACKAGES_DIR=$KDEDIR/lib/python2.6/site-packages
> >
> > OR -DPYTHON_LIBS_WITH_KDE_LIBS=True
> >
> > Which is defined in FindPythonLibrary.cmake (kdelibs/cmake/modules) and
> > makes sure everything is installed into PREFIX according to the used python
> > version. But is hard to find because it is not documented and cached in
> > CMakeCache.txt.
> 
> Uh, yeah, and it's somewhat ugly too.
> Can we find a better solution to this ?
> I think the last time we discussed some python stuff on kde-buildsystem I 
> didn't recognize a real conclusion, I was mostly confused at the end.
> 
> So, if we install python modules, where should they go by default ?

Well, thats the problem, either they're installed in a way such that
python finds them (and that usually means installing needs root-rights)
or the buildsystem obeys the prefix thats set for the project
(implicitly or by cmake-variable) in which case the user will have to
tell its python to look in an additional place. Its very similar to
installing libraries outside a directory thats mentioned in
/etc/ld.so.conf, you can do that but you'll have to set an envvar at
least to give the linker a clue where to look. With shared libs on Linux
you have a bit better way using RPATH/RUNPATH, but that doesn't really
exist for Python.

Andreas

-- 
Beauty and harmony are as necessary to you as the very breath of life.


More information about the Kde-buildsystem mailing list