After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 565214 - Build broken in jhbuild
Build broken in jhbuild
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2008-12-21 00:28 UTC by Zeeshan Ali
Modified: 2008-12-25 17:30 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
configure log (21.49 KB, text/x-log)
2008-12-21 15:39 UTC, Zeeshan Ali
Details

Description Zeeshan Ali 2008-12-21 00:28:20 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.
Comment 1 Gustavo Carneiro 2008-12-21 14:02:13 UTC
Please attach config.log.
Comment 2 Zeeshan Ali 2008-12-21 15:39:31 UTC
Created attachment 125098 [details]
configure log
Comment 3 Paul Pogonyshev 2008-12-21 16:03:52 UTC
Is there 'python2.5' directory in '/opt/gnome2'?

I have a feeling this is not a PyGObject bug, but rather jhbuild problem.
Comment 4 Zeeshan Ali 2008-12-21 16:21:26 UTC
(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.
Comment 5 Paul Pogonyshev 2008-12-21 16:25:39 UTC
Sorry, I meant 'include/python2.5'.  I.e. '/opt/gnome2/include/python2.5'.  As I understand that's (/opt/gnome2) your installation prefix, right?
Comment 6 Zeeshan Ali 2008-12-21 16:34:31 UTC
(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. 

Comment 7 Paul Pogonyshev 2008-12-21 16:45:30 UTC
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?
Comment 8 Zeeshan Ali 2008-12-21 16:55:22 UTC
(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):
  • 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)

Comment 9 Paul Pogonyshev 2008-12-21 16:59:39 UTC
> >     /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.
Comment 10 Frederic Peters 2008-12-21 17:04:16 UTC
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?
Comment 11 Zeeshan Ali 2008-12-21 17:37:32 UTC
(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
Comment 12 Gustavo Carneiro 2008-12-21 18:28:52 UTC
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)
Comment 13 Frederic Peters 2008-12-21 20:18:34 UTC
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.
Comment 14 Zeeshan Ali 2008-12-21 20:41:18 UTC
(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. :(
Comment 15 Frederic Peters 2008-12-21 20:46:19 UTC
With a reference to multiarch-i386-linux?  It must be cached somewhere as this only appears in the python patch shipped in jhbuild.
Comment 16 Zeeshan Ali 2008-12-21 20:55:32 UTC
(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.
Comment 17 Zeeshan Ali 2008-12-21 21:04:35 UTC
(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):
  • 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)

Comment 18 Zeeshan Ali 2008-12-21 22:01:44 UTC
OK! now that i removed and rebuilt python, everything is back to normal now. Should I just commit the removal of patchline?
Comment 19 Pascal Terjan 2008-12-23 19:34:13 UTC
(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
Comment 20 Gustavo Carneiro 2008-12-25 17:24:52 UTC
(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...
Comment 21 Frederic Peters 2008-12-25 17:30:51 UTC
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.