← Back to team overview

ius-coredev team mailing list archive

[Bug 779120] [NEW] Python 3.1 incorrectly uses UCS2 for Unicode

 

Public bug reported:

Summary:
The python31 specfile clearly intends to build Python 3.1 with UCS4 for Unicode, since its configure invocation includes
--enable-unicode=ucs4

However, --enable-unicode is not a valid option to configure, so it is
silently ignored; Python is thus built with the default, which is UCS2.
Instead, the configure script should be passed --with-wide-unicode.

Since UCS2 and UCS4 builds are not ABI compatible, the RHEL 5 Python 2.4
package uses UCS4, and the Fedora Python 3 package also uses UCS4, it
makes sense that the IUS Python 3 package also use UCS4 (as seems to be
originally intended) to reduce confusion.

OS Version:
CentOS 5.6, x86_64

IUS Packages:
python31-3.1.3-1.ius.el5.x86_64

To reproduce:
1. Install the python31 and python31-libs packages.

2. Compare against RHEL 5's native python package:
$ strings libpython2.4.so | grep PyUnicodeUCS._ToDigit
_PyUnicodeUCS4_ToDigit
$ strings libpython3.1.so | grep PyUnicodeUCS._ToDigit
_PyUnicodeUCS2_ToDigit

** Affects: ius
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of IUS Core
Development, which is subscribed to IUS Community Project.
https://bugs.launchpad.net/bugs/779120

Title:
  Python 3.1 incorrectly uses UCS2 for Unicode

Status in IUS Community Project:
  New

Bug description:
  Summary:
  The python31 specfile clearly intends to build Python 3.1 with UCS4 for Unicode, since its configure invocation includes
  --enable-unicode=ucs4

  However, --enable-unicode is not a valid option to configure, so it is
  silently ignored; Python is thus built with the default, which is
  UCS2. Instead, the configure script should be passed --with-wide-
  unicode.

  Since UCS2 and UCS4 builds are not ABI compatible, the RHEL 5 Python
  2.4 package uses UCS4, and the Fedora Python 3 package also uses UCS4,
  it makes sense that the IUS Python 3 package also use UCS4 (as seems
  to be originally intended) to reduce confusion.

  OS Version:
  CentOS 5.6, x86_64

  IUS Packages:
  python31-3.1.3-1.ius.el5.x86_64

  To reproduce:
  1. Install the python31 and python31-libs packages.

  2. Compare against RHEL 5's native python package:
  $ strings libpython2.4.so | grep PyUnicodeUCS._ToDigit
  _PyUnicodeUCS4_ToDigit
  $ strings libpython3.1.so | grep PyUnicodeUCS._ToDigit
  _PyUnicodeUCS2_ToDigit


Follow ups

References