Build against all python3 versions available

Bug #1122405 reported by Michael Terry
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Libcolumbus
New
Low
Unassigned

Bug Description

In case there are multiple python3 versions shipped in a give Ubuntu release, columbus needs to provide a compiled _columbus module for each of them.

This will need at least:
 * change the python3-dev build-depend to python3-all-dev
 * build against each available one (using either dh_python3 or CMake support)

Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

Is there documentation or sample code on how to do this correctly?

Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

Python3-all-dev's package description says the following:

"The package currently depends on python3.3-dev, in the future, dependencies on jython (Python for a JVM) and ironpython (Python for Mono) may be added."

However libcolumbus uses Boost.Python which only works with CPython. Supporting Jython or Ironpython would mean writing new bindings from scratch. Boost.Python could in theory obtain multiple backends but no-one's working on that AFAICT.

Supporting multiple versions of CPython 3 is possible, should it be needed.

Revision history for this message
Michael Terry (mterry) wrote :

I'm not super familiar with how to do it correctly either. I imagine you could iterate over the python3.X binaries in /usr/bin to determine what is installed and then build the module for each one you find, pointing at the right headers and libraries.

As for jython and ironpython, I don't think you necessarily need to support them. The biggest thing is supporting each release of python proper in some fashion.

This isn't urgent right now. Raring will stick with 3.3 only I believe.

Changed in libcolumbus:
importance: Undecided → Low
Revision history for this message
CSRedRat (csredrat) wrote :

Libcolumbus now added to development 13.04?

Revision history for this message
CSRedRat (csredrat) wrote :

How about Russian language?

Revision history for this message
Jussi Pakkanen (jpakkane) wrote :

Libcolumbus already supports Russian. It does not have a custom error model but it is not necessary and you can write your own (see src/ErrorValues.cc).

Revision history for this message
CSRedRat (csredrat) wrote :

Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.