Summary: | kde-base/system-config-printer-kde-4.6.2 fails to build | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | georgi |
Component: | [OLD] KDE | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | black.katagoto, bugs, cedric.godin, cmosqt, darkbasic, developer, dschridde+gentoobugs, frossie, fuzzyray, gentoo, kristian.niemi, m27315, niels_ole, python, staff |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 371292 | ||
Bug Blocks: | |||
Attachments: | build.log |
Description
georgi
2010-09-16 05:49:48 UTC
I have the same problem, but unlike the OP my pycups was built successfully with 3.1 so that might be a red herring. When I say "the same problem" I mean (a) system-config-printer-kde-4.5.1 fails to build (b) it complains about PyKDE4 not being found, however what I assume to be the relevant package is installed: * kde-base/pykde4 Latest version available: 4.5.1-r1 Latest version installed: 4.5.1-r1 This is not an amd64 arch team problem, please let maintainer CC us if really needed ;-)
>
> (a) system-config-printer-kde-4.5.1 fails to build
>
> (b) it complains about PyKDE4 not being found, however what I assume to be the
> relevant package is installed:
>
> * kde-base/pykde4
> Latest version available: 4.5.1-r1
> Latest version installed: 4.5.1-r1
>
Okay, I figured this out (it sure would have helped if I knew anything about python)
Despite the fact that I was running python 3.1
# eselect python list
Available Python interpreters:
[1] python2.6
[2] python3.1 *
(and had run python-updated and everything), for some reason the system-config-printer-kde actually seemed to be running under 2.6? The cause of the error:
Traceback (most recent call last):
File "/usr/share/apps/cmake/modules/FindPyKDE4.py", line 8, in <module>
import PyKDE4.pykdeconfig
ImportError: No module named PyKDE4.pykdeconfig
was that PyKDE4.pykdeconfig was there alright:
/usr/lib64/python3.1/site-packages/PyKDE4/pykdeconfig.py
but it didn't matter, because it wanted it to be in:
/usr/lib64/python2.6/site-packages/PyKDE4/pykdeconfig.py
I copied it in by hand and it worked. I realise this is obviously sub-optimal, I'll leave it to those who understand it to propose an actual fix.
Following your advice I re-emerged pykde4 and checked to see that I indeed had the file /usr/lib64/python3.1/site-packages/PyKDE4/pykdeconfig.py on my system. However, system-config-printer-kde still complains that it can't find it: Traceback (most recent call last): File "/usr/share/apps/cmake/modules/FindPyKDE4.py", line 8, in <module> import PyKDE4.pykdeconfig ImportError: No module named PyKDE4.pykdeconfig -- Found PyCups -- Found System Config Printer ----------------------------------------------------------------------------- -- The following OPTIONAL packages could NOT be located on your system. -- Consider installing them to enable more features from this software. ----------------------------------------------------------------------------- * PyKDE4 <http://websvn.kde.org/trunk/KDE/kdebindings/python/pykde4/> PyKDE4 was not found. It is needed by system-config-printer-kde to run. (Use -DINSTALL_SYSTEM_CONFIG_PRINTER=TRUE to install anyway) ----------------------------------------------------------------------------- Furthermore I can do this: Python 3.1.2 (release31-maint, Aug 29 2010, 04:08:58) [GCC 4.4.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import PyKDE4.pykdeconfig >>> And it works. Sorry, I completely misread your post. It is looking for 2.6, not 3.1. I copied the file manually from 3.1 to 2.6, but that didn't help, python2.6 still wouldn't find it. Here's how it worked: eselect python set python2.6 emerge -1 PyKDE4 eselect python set python3.1 emerge -1 system-config-printer-kde Apparently system-config-printer-kde ignores the python setting and always uses 2.6. (In reply to comment #5) > Sorry, I completely misread your post. It is looking for 2.6, not 3.1. Yeah exactly. > I copied the file manually from 3.1 to 2.6, but that didn't help, python2.6 > still wouldn't find it. I copied the whole directory: cp /usr/lib64/python3.1/site-packages/PyKDE4 /usr/lib64/python2.6/site-packages/ just by analogy of how I would have expected it to work in perl :-) > Here's how it worked: > > eselect python set python2.6 > emerge -1 PyKDE4 > eselect python set python3.1 > emerge -1 system-config-printer-kde Okay, that works too, clearly > Apparently system-config-printer-kde ignores the python setting and always uses 2.6. Yup, that's definitely the problem, hopefully somebody from the KDE or python herd can pick this up and figure out the real fix. Well, what can i say.. python.eclass doesn't support USE deps so that we can't force pykde-4.5 build against python-2.6 by the means of ebuild dependencies (and pykde4 alone builds fine against python-3.1). Even if it were possible, that would prevent KDE printer configuration from working if the default were anything other than 2.6. I think the proper way to go is to make system-config-printer-kde look for python dependencies under 3.1's site-packages. Yes! I've got the same problem with version 4.5.4. Check it please... We have the same issue with 4.6.1, we can solve by re-emerging pykde4 with python 2.7 (In reply to comment #10) > We have the same issue with 4.6.1, > we can solve by re-emerging pykde4 with python 2.7 I had a similar issue with 4.6.1, I solved it by "eselect python set python3.1 and emerge -v1 pycups; emerge -1v system-config-printer-kde; eselect python set python2.6" (In reply to comment #8) > Even if it were possible, that would prevent KDE printer configuration from > working if the default were anything other than 2.6. I think the proper way to > go is to make system-config-printer-kde look for python dependencies under > 3.1's site-packages. That would unfortunately not help since pycups does not support Python 3. Basically we would need to ensure that for each python version the entire dependency chain is present. As opposed to, e.g., ruby-ng eclass, where this can be solved with autogenerated useflags, that is afaik just not possible with python at the moment. Sorry, but as Maciej already pointed out, there's not much that the kde team can do here. Maybe the python guys know more. I jsut install kde-4.6.2. Same problem with this package. -- Found PyQt4 version: 4.8.3 Traceback (most recent call last): File "/usr/share/apps/cmake/modules/FindPyKDE4.py", line 8, in <module> import PyKDE4.pykdeconfig ImportError: No module named PyKDE4.pykdeconfig and make -j9 -l9 DESTDIR=/var/tmp/portage/kde-base/system-config-printer-kde-4.6.2/image/ install make: *** Pas de règle pour fabriquer la cible « install ». Arrêt. -- No rules to make install ---- I remove "cups" flags for kdeadmin-meta to no install it. Problem exists trying to upgrade to KDE 4.6.3
> eselect python set python2.6
> emerge -1 pykde4
> eselect python set python3.1
resume emerge kde-meta
worked for me.
(In reply to comment #14) > Problem exists trying to upgrade to KDE 4.6.3 > > > eselect python set python2.6 > > emerge -1 pykde4 > > eselect python set python3.1 > resume emerge kde-meta > > worked for me. +1 Problem exists on KDE 4.6.3 Use your instruction as temporary solution. The correct solution is to add support for installation for multiple Python ABIs in kde-base/pykde4. I have the same problem with kde-base/system-config-printer-kde-4.6.4. I installed it flawlessly, but then I did an emerge -ave @world and it doesn't want to build anymore :( Main active version of python is 2.7. Exactly the same here with the exact same message (Python 2.7 used). Found a fix suggestion there: http://bugsfiles.kde.org/attachment.cgi?id=33324 I am an occasional Python programmer, I don't have a precise idea of what the impacts of this change would be. Applying it on my machine makes the problem disappear. ooops forget the "exact same error message" in my comment above, I didn't pay enough attention to a details. My error message was: -- Found Python library: /usr/lib64/libpython2.7.so -- Found SIP version: 4.12.3 -- Found PyQt4 version: 4.8.4 Traceback (most recent call last): File "/usr/share/apps/cmake/modules/FindPyKDE4.py", line 8, in <module> import PyKDE4.pykdeconfig File "/usr/lib64/python2.7/site-packages/PyKDE4/__init__.py", line 1, in <module> import sys,DLFCN ImportError: No module named DLFCN -- Found PyCups -- Found System Config Printer ----------------------------------------------------------------------------- -- The following OPTIONAL packages could NOT be located on your system. -- Consider installing them to enable more features from this software. ----------------------------------------------------------------------------- * PyKDE4 <http://websvn.kde.org/trunk/KDE/kdebindings/python/pykde4/> PyKDE4 was not found. It is needed by system-config-printer-kde to run. (Use -DINSTALL_SYSTEM_CONFIG_PRINTER=TRUE to install anyway) ----------------------------------------------------------------------------- Created attachment 278249 [details]
build.log
Confirming the issue "No rule to make target `install'. Stop." for kde-base/system-config-printer-kde-4.6.4.
Confirming the issue "No rule to make target `install'. Stop." for kde-base/system-config-printer-kde-4.6.5. These python pseudo dependencies painful! It seems you have updated python via emerge without running python-updater script or something like this. To workaround this problem: eselect python set python2.7 emerge -1 PyQt4 pykde4 system-config-printer-kde (same for printer-applet) I agree it's silly but python team is already working on providing python ABI dependencies via USE deps that will give us instruments to set dependencies properly. *** Bug 376951 has been marked as a duplicate of this bug. *** (In reply to comment #23) > *** Bug 376951 has been marked as a duplicate of this bug. *** Seems wrong: import sys,DLFCN ImportError: No module named DLFCN is most likely bug 374579 and the fixes are already in the tree. That the message at the end of emerge looks similar doesn't need to say anything about the actual problem. On unrelated note: I'd suspect that most of 'import PyKDE4.pykdeconfig' problems are either sip upgrade ones or what arfrever wrote (before he got retired). I am using Linux 3.0. I tried the recommended fixes: $ eselect python set python2.7 $ python-updater $ emerge -1 PyQt4 python pykde4 pycups system-config-printer-kde And, that did not help. It produced the same error again. However, after adding the unstable keyword and re-emerging python, everything worked fine: $ echo 'dev-lang/python ~amd64' >> /etc/portage/package.keywords/user.keywords $ emerge -1 python $ python-updater $ emerge -1 PyQt4 pykde4 pycups system-config-printer-kde Thanks for the help! I can't compile kde-base/system-config-printer-kde-4.6.5 too on amd64 system with python2.7 and I get same error: make -j3 DESTDIR=/var/tmp/portage/kde-base/system-config-printer-kde-4.6.5/image/ install make: *** No rule to make target `install'. Stop. eselect python set python3.1 && emerge -1 PyQt4 python pykde4 pycups system-config-printer-kde && eselect python set python2.7 is right workaround? (In reply to comment #26) > I can't compile kde-base/system-config-printer-kde-4.6.5 too on amd64 system > with python2.7 and I get same error: > > make -j3 > DESTDIR=/var/tmp/portage/kde-base/system-config-printer-kde-4.6.5/image/ > install > make: *** No rule to make target `install'. Stop. > > eselect python set python3.1 && emerge -1 PyQt4 python pykde4 pycups > system-config-printer-kde && eselect python set python2.7 is right workaround? Don't randomly add "me too"'s to old bugs. "make: *** No rule to make target `install'. Stop." isn't the real error anyway - it's most likely somewhere in src_configure phase. Bug in ebuild? No, not ebuild bug - unsatisfied python ABI deps bug. Workaround was already posted in #22 and #25 (in that order). The cause can also lie in what has been described in bug #374579 especially if the trouble happens since an upgrade to one of the Linux 3.x kernel series (tested the proposed fixes for bug #374579 and everything works like a charm). PyKDE should be fixed starting with 4.6.5-r1, which means this problem should not happen anymore... What about 4.7.0? (In reply to comment #32) > What about 4.7.0? Should be fixed too. pykde-4.7.0 does not solve the bug and I still see no 4.7.0-r1 (In reply to comment #34) > pykde-4.7.0 does not solve the bug and I still see no 4.7.0-r1 Yes, same here too. kde-base/system-config-printer-kde-4.7.0 builds correctly for me. You most likely reproduce a different problem. Please file a new bug. (In reply to comment #36) > kde-base/system-config-printer-kde-4.7.0 builds correctly for me. You most > likely reproduce a different problem. Please file a new bug. Ok, the error I got (ImportError: No module named DLFCN), seems to be related with the kernel 3.0.4 version that I'm running. I emerge ~ python-2.7.2-r2 which includes a fix (bug #374579) and system-config-printer-kde-4.7.0 built fine now. *** This bug has been marked as a duplicate of bug 374579 *** This bug is not a duplicate of bug #374579. The problem reported in comment #0 has been fixed by the fix for bug #371292. |