On Tuesday 22 June 2010, Alexander Neundorf wrote: > On Monday 21 June 2010, Andreas Pakulat wrote: > > 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 > > > > > > > > > > <[email protected]> wrote: > > > > > > I've started getting this the last two days: > > > > > > > > > > > > CMake Error at > > > > > > workspace/plasma/generic/scriptengines/python/cmake_install.cmake > > > > > >:7 6 (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. > > What about the attached patch ? > > It removes the PYTHON_LIBS_WITH_KDE_LIBS switch, this was undocumented, and > anything with "KDE" in the name shouldn't appear > in "FindPythonLibrary.cmake". > > It adds a cache variable PYTHON_SITE_PACKAGES_INSTALL_DIR, which is > relative by default, so it will be inside CMAKE_INSTALL_PREFIX. > Additionally it makes PYTHON_SITE_PACKAGES_DIR a FORCED cache variable, it > is not intended to be changed. But by having it in the cache, it can be > seen by the user. > Additionally it puts PYTHON_INCLUDE_DIR in the cache. > > Then the new variable is used in kdebase (...which makes kdebase/workspace/ > require this version of kdelibs then). > > What do you think ?
Committed, with a small change so updating kdelibs is not immediately necessary. Alex _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
