PySide Bugzilla Closed for New Bugs

PySide is now a Qt Add-on and uses the Qt Project's JIRA Bug Tracker instead of this Bugzilla instance. This Bugzilla is left for reference purposes.

Bug 149 - Shiboken can only be built (and carries the name) for one python version
: Shiboken can only be built (and carries the name) for one python version
Status: CLOSED INVALID
Product: PySide
Classification: Unclassified
Component: Shiboken
: HEAD
: All All
: P5 normal
Assigned To: Marcelo Lira
:
:
:
  Show dependency treegraph
 
Reported: 2010-02-12 10:27 EET by Didier Raboud
Modified: 2010-03-17 19:32 EET (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Didier Raboud 2010-02-12 10:27:18 EET
Hi, 

in its actual shape, shiboken can only be built for one python version, so it
imposes that version for the compilation of PySide. Then, if there is only one
libshiboken.so on the system, compilation of PySide for multiple python
versions would not be possible.

It would be great if there was a possibility to add a prefix containing the
python version (as for boost: libboost_python-py25.so).

Thanks in advance, 

OdyX
Comment 1 Hugo Parente Lima 2010-02-12 13:27:53 EET
I'm against it, because it turn the detection of libshiboken a mess, like is
for boost on distros that change the library name to include gcc versions,
dependence versions, etc.

You could install diferent libshiboken in diferent prefixes, or just install
the py25 version, because it should work with py26 if python respects binary
compatibility.
Comment 2 Didier Raboud 2010-02-12 13:38:46 EET
Hi Hugo, 

I spent some time with CMAKE_* options and playing around to see if I could do
it by myself. I now think you are right, and I am closing this bug as
"INVALID".

A distribution packager can use the -DCMAKE_DEBUG_POSTFIX=-py26 for example. I
plan to do it mostly as boost is packaged: compile multiple -py${PythonVersion}
and a provide a "libshiboken" symlink pointing on the version compiled with the
default python version (is that clear ? :-) )

The problem I still have is that the tests fail because they don't take the
postfix into account. I will try a patch for this and report another bug once I
have something sensible.

Thanks for your time !
Comment 3 Hugo Parente Lima 2010-02-12 13:48:56 EET
Nice, I think that this is the better solution.
Comment 4 Anderson Lizardo 2010-02-12 14:20:39 EET
(In reply to comment #1)
> I'm against it, because it turn the detection of libshiboken a mess, like is
> for boost on distros that change the library name to include gcc versions,
> dependence versions, etc.
> 
> You could install diferent libshiboken in diferent prefixes, or just install
> the py25 version, because it should work with py26 if python respects binary
> compatibility.

Just an addendum: Python is not binary compatible between major versions (in
Python's context: e.g. 2.5 vs. 2.6). That why distributions which allow to
install multiple python versions in parallel compile extensions for multiple
Python versions.

minor (e.g. 2.5.x) releases are of course binary compatible.