libreport version: 2.0.8
cmdline: python2.7 /bin/mypaint
comment: Start mypaint from KDE program menu 'unable to locate module lib'
reason: mypaint:108:get_paths:ImportError: No module named lib
time: Fri 24 Feb 2012 09:31:47 AM PST
:mypaint:108:get_paths:ImportError: No module named lib
:Traceback (most recent call last):
: File "/bin/mypaint", line 164, in <module>
: datapath, extradata, confpath, localepath = get_paths()
: File "/bin/mypaint", line 108, in get_paths
: from lib import mypaintlib
:ImportError: No module named lib
:Local variables in innermost frame:
:join: <function join at 0x7f0cfee72140>
Thanks for submitting this crash report.
Does 'rpm -V mypaint mypaint-data' produce any output?
Hey, can you please get back to me?
As I received no feedback from you, I am closing this bug now. Feel free to reopen it when you can provide the info I need.
Is it possible to reopen this? I'm having the exact same problem on Fedora 17 - the rpm -V command produces no output on my system.
Sure we can reopen this, but frankly speaking I have no idea why the lib cannot be imported. It *is* definitely there.
Thomas, I recall we once had a bug report where python did not import something for some reason I don't remember. Can you help me out?
(In reply to comment #5)
> Sure we can reopen this, but frankly speaking I have no idea why the lib
> cannot be imported. It *is* definitely there.
> Thomas, I recall we once had a bug report where python did not import
> something for some reason I don't remember. Can you help me out?
Uh... There are so many python bugs ;)
I just tried to reproduce this, without success. It's working fine here on f16 (both versions, the current one of f16 and recompiled the one from rawhide).
After a dive deep in, it seems mypaint must be called with /usr/bin/mypaint or mypaint doesn't know that it's installed properly. When being called with "/usr/mypaint" it thinks that prefix is / and not /usr:
We are not correctly installed or compiled!
deduced prefix: "/"
Traceback (most recent call last):
File "/bin/mypaint", line 164, in <module>
datapath, extradata, confpath, localepath = get_paths()
File "/bin/mypaint", line 108, in get_paths
from lib import mypaintlib
ImportError: No module named lib
Christoph, it is possible to change the behaviour of KDE, so it properly opens /usr/bin/mypaint?
Confirmed - the problem exists only when running /bin/mypaint, not /usr/bin/mypaint. In my env the PATH has /bin before /usr/bin. Also, I'm not sure if this changed in f17 or earlier but /bin is a link to /usr/bin so cannot just the /bin version.
For now I will just adjust our environment to run the /usr/bin/mypaint explicitly.
# this script is installed as $prefix/bin. We just need $prefix to continue.
#pwd=os.getcwd() # why????
#dir_install=os.path.normpath(join(pwd,scriptdir)) # why????
dir_install=scriptdir # same, except maybe if scriptdir is relative...
And I would do:
dir_install = os.path.realpath(scriptdir)
which should fix the issue.
Thomas, hold your horses please, I think Harald's patch is better than yours.
I just fixed it differently, but your solution is better seemed better.
A few lines above scriptdir already needs the os.path.realpath instead.
Update on the way.
mypaint-1.0.0-4.fc18 has been submitted as an update for Fedora 18.
mypaint-1.0.0-4.fc17 has been submitted as an update for Fedora 17.
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing mypaint-1.0.0-4.fc18'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).
curious how long it'll take before this passes QA and can be applied on FC 17?
3-4 more days. The update needs to be in updates-testing for a week unless there are 3 testers that give positive feedback.