GNOME Bugzilla – Bug 565214
Build broken in jhbuild
Last modified: 2008-12-25 17:30:51 UTC
When I try to build pygobject inside my jhbuild environment, i get this error from configure script: <console> checking for python version... (cached) 2.5 checking for python platform... (cached) linux2 checking for python script directory... (cached) ${prefix}/lib/python2.5/site-packages checking for python extension module directory... (cached) ${exec_prefix}/lib/python2.5/site-packages checking for headers required to compile python extensions... not found configure: error: could not find Python headers </console> I first though i am missing python-dev package but then i realized that not only it is installed but it is irrelevant since jhbuild installs python as part of it's bootstrap process. Before you ask, I have ran `jhbuild rootstrap` recently. Setting the priority to "blocker" since it makes my task of testing my DVB daemon plugin for Rygel difficult.
Please attach config.log.
Created attachment 125098 [details] configure log
Is there 'python2.5' directory in '/opt/gnome2'? I have a feeling this is not a PyGObject bug, but rather jhbuild problem.
(In reply to comment #3) > Is there 'python2.5' directory in '/opt/gnome2'? No! > I have a feeling this is not a PyGObject bug, but rather jhbuild problem. Possible.
Sorry, I meant 'include/python2.5'. I.e. '/opt/gnome2/include/python2.5'. As I understand that's (/opt/gnome2) your installation prefix, right?
(In reply to comment #5) > Sorry, I meant 'include/python2.5'. I.e. '/opt/gnome2/include/python2.5'. As yes, that is there. > I understand that's (/opt/gnome2) your installation prefix, right? True.
What is the output of this command? /opt/gnome2/bin/python -c "import sys; sys.stdout.write(sys.prefix) Does program '/opt/gnome2/bin/python-config' exist? What is the output of /opt/gnome2/bin/python-config --includes if so?
(In reply to comment #7) > What is the output of this command? > > /opt/gnome2/bin/python -c "import sys; sys.stdout.write(sys.prefix) Nothing. No, it really doesn't print anything. > Does program '/opt/gnome2/bin/python-config' exist? What is the output of Yes! > /opt/gnome2/bin/python-config --includes $ /opt/gnome2/bin/python-config --includes Traceback (most recent call last):
+ Trace 210991
pyver = sysconfig.get_config_var('VERSION')
return get_config_vars().get(name)
func()
raise DistutilsPlatformError(my_msg)
> > /opt/gnome2/bin/python -c "import sys; sys.stdout.write(sys.prefix) > > Nothing. No, it really doesn't print anything. I assume you fixed my typo and supplied missing quote at the end. > > /opt/gnome2/bin/python-config --includes > > $ /opt/gnome2/bin/python-config --includes > Traceback (most recent call last): > File "/opt/gnome2/bin/python-config", line 26, in <module> > pyver = sysconfig.get_config_var('VERSION') > File "/opt/gnome2/lib/python2.5/distutils/sysconfig.py", line 540, in > get_config_var > return get_config_vars().get(name) > File "/opt/gnome2/lib/python2.5/distutils/sysconfig.py", line 498, in > get_config_vars > func() > File "/opt/gnome2/lib/python2.5/distutils/sysconfig.py", line 368, in > _init_posix > raise DistutilsPlatformError(my_msg) > distutils.errors.DistutilsPlatformError: invalid Python installation: unable to > open /opt/gnome2/include/multiarch-i386-linux/python2.5/pyconfig.h (No such > file or directory) This is just wrong, 'invalid Python installation'. Not a PyGObject bug (though PyGObject could show you this error, but that's not so important). Reassigning the bug.
Zeeshan, what about ls /opt/gnome2/include/*/python2.5/pyconfig.h ? Fred, http://build.gnome.org/builders/pygobject-cooker-64 ; there is the same problem over there, looks like a new patches/python-2.5.2-lib64.patch related problem, do you have an updated version in Mandriva? Or any idea about this?
(In reply to comment #10) > Zeeshan, what about ls /opt/gnome2/include/*/python2.5/pyconfig.h ? $ ls /opt/gnome2/include/*/python2.5/pyconfig.h ls: cannot access /opt/gnome2/include/*/python2.5/pyconfig.h: No such file or directory
I can trivially reproduce this. But it is definitely not pygobject's problem. Definitely this is caused by jhbuild patching python, because pygobject configures fine with standard python 2.5: PYTHON=/usr/bin/python2.5 ./configure # (works)
Zeeshan, could you confirm /opt/gnome2/include/python2.5/pyconfig.h exists? Then probably the patch is wrong, could you remove the patch line from bootstrap.modules and run jhbuild -m bootstrap buildone -a -f python ? (make sure you have use_local_modulesets = True in your jhbuildrc first). Then you'll probably also need to force the rebuild of dependant modules such as dbus-python.
(In reply to comment #13) > Zeeshan, could you confirm /opt/gnome2/include/python2.5/pyconfig.h exists? Confirmed! > Then probably the patch is wrong, could you remove the patch line from > bootstrap.modules and run jhbuild -m bootstrap buildone -a -f python ? (make > sure you have use_local_modulesets = True in your jhbuildrc first). Done! still the same error from pygobject's configure. :(
With a reference to multiarch-i386-linux? It must be cached somewhere as this only appears in the python patch shipped in jhbuild.
(In reply to comment #15) > With a reference to multiarch-i386-linux? It must be cached somewhere as this > only appears in the python patch shipped in jhbuild. Nope! i don't see any reference to that in the newly created config.log.
(In reply to comment #16) > (In reply to comment #15) > > With a reference to multiarch-i386-linux? It must be cached somewhere as this > > only appears in the python patch shipped in jhbuild. > > Nope! i don't see any reference to that in the newly created config.log. > Oh sorry. I think you meant this command: $ /opt/gnome2/bin/python-config --includes Traceback (most recent call last):
+ Trace 210994
OK! now that i removed and rebuilt python, everything is back to normal now. Should I just commit the removal of patchline?
(In reply to comment #10) > looks like a new patches/python-2.5.2-lib64.patch related > problem, do you have an updated version in Mandriva? Or any idea about this? The multiarch- part of the patch looks Mandriva specific... It's part of our multiarch-utils making the correct header included depending on the target arch http://wiki.mandriva.com/en/Policies/Multiarch#Headers
(In reply to comment #19) > (In reply to comment #10) > > looks like a new patches/python-2.5.2-lib64.patch related > > problem, do you have an updated version in Mandriva? Or any idea about this? > > The multiarch- part of the patch looks Mandriva specific... > It's part of our multiarch-utils making the correct header included depending > on the target arch http://wiki.mandriva.com/en/Policies/Multiarch#Headers > I don't think it is correct to have patches adding support for distribution specific features into GNOME's jhbuild. jhbuild should build everything "upstream-style" IMHO. Even regarding the lib64 stuff... *sigh* I can't tell you how many times that has caused me troubles and I had to end up symlink $prefix/lib64 -> $prefix/lib. Can't we at least just remove the patch from jhbuild, if not permanently at least until the patch is fixed? This is a rather serious blocker...
Gustavo: the Mandriva specific part was commited by error and has been removed already, sorry I forgot to close this bug report. 2008-12-23 Frederic Peters <fpeters@0d.be> * modulesets/bootstrap.modules, patches/python-2.5.2-lib64.patch: reenabled python patch, after the removal of a Mandriva specific part. There were no report about the lib64 part.