classification
Title: Compilation issues of the curses module on Solaris and OpenIndiana
Type: Stage: resolved
Components: Build Versions: Python 3.3
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: Justin.Venus, enchanter, iandekit, jcea, mschmarck, trent, vstinner
Priority: normal Keywords: patch

Created on 2011-12-08 00:53 by vstinner, last changed 2017-06-28 01:42 by vstinner. This issue is now closed.

Files
File name Uploaded Description Edit
curses_hacks.patch vstinner, 2011-12-08 00:56 review
Messages (6)
msg149007 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-12-08 00:53
The _curses module has two issues on OpenSolaris:

 - using the default curses library, mvwchgat() cannot be found and _curses module compilation fails
 - there is a "XPG4 curses" library. I tried to use it using various hacks in _cursesmodule.c and setup.py, but test_curses failed with a crash.
 - if the readline library (not the Python module) is linked to libncursesw, the compilation of the _curses module fails because cchar_t is not defined. I suppose that curses.h is the bytes library, not the ncursesw Unicode library.

See issue #12567 for the ncursesw issue and issue #3786 for the mvwchgat() problem. The issue #3786 contains information about XPG4 curses and has a (non working) patch for the mvwchgat() issue.

--

I opened a new issue because #12567 is more specific to Unicode, and #3786 talks about various issues (it is not specific to curses).
msg149010 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-12-08 00:56
curses_hacks.patch: various hacks to use the XPG4 curses on OpenIndiana.
msg155145 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2012-03-08 01:17
Jesús Cea Avión also noticed in msg143798 from the issue #6755:

I have compiled ncurses myself, supporting wide characters. I get this warnings in the buildbots:

"""
/export/home/buildbot/32bits/3.x.cea-indiana-x86/build/Modules/_cursesmodule.c:920: warning: implicit declaration of function 'wget_wch'
/export/home/buildbot/32bits/3.x.cea-indiana-x86/build/Modules/_cursesmodule.c:927: warning: implicit declaration of function 'mvwget_wch'
/export/home/buildbot/32bits/3.x.cea-indiana-x86/build/Modules/_cursesmodule.c:2760: warning: implicit declaration of function 'unget_wch'
"""

Studying the "ncurses.h", I see the definition of "wget_wch" and others. But these definitions are created only if "_XOPEN_SOURCE_EXTENDED" is defined.

Something to be explored?.
msg164784 - (view) Author: Justin Venus (Justin.Venus) Date: 2012-07-07 04:37
Does OpenIndiana ship with the gnu version of ncurses like Solaris 11?

Headers:
/usr/include/ncurses

Libraries:
/usr/gnu/lib

If it matches Solaris, then you can use my patch[1] in issue 3786 to see if that works around the issue, like it does for Solaris.

1) http://bugs.python.org/file26171/bug3786.patch
msg178874 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2013-01-03 01:16
What is the status of this issue? Is curses still broken on Python 3.4?
msg297131 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-06-28 01:42
The OpenIndiana buildbot is offline. The Solaris buildbot was removed. We cannot develop on these operating systems, so I just close the issue. Sorry.
History
Date User Action Args
2017-06-28 01:42:40vstinnersetstatus: open -> closed
resolution: out of date
messages: + msg297131

stage: resolved
2013-11-26 11:02:38vstinnersettitle: Compilation issues of the curses module on OpenIndiana -> Compilation issues of the curses module on Solaris and OpenIndiana
2013-01-03 01:16:36vstinnersetnosy: + trent
messages: + msg178874
2012-07-07 04:37:58Justin.Venussetnosy: + Justin.Venus
messages: + msg164784
2012-03-08 01:17:59vstinnersetmessages: + msg155145
2011-12-08 00:56:59vstinnersetfiles: + curses_hacks.patch

nosy: + enchanter
messages: + msg149010

keywords: + patch
2011-12-08 00:53:17vstinnercreate