#15317: Troubles with Python and ncurses on Cygwin
-------------------------------------------------+-------------------------
Reporter: jpflori | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-5.13
Component: porting: Cygwin | Resolution:
Keywords: cygwin spkg ncurses | Merged in:
Authors: | Reviewers:
Report Upstream: Workaround found; Bug | Work issues:
reported upstream. | Commit:
Branch: | Stopgaps:
Dependencies: |
-------------------------------------------------+-------------------------
Changes (by jpflori):
* upstream: N/A => Workaround found; Bug reported upstream.
Old description:
> Python currently fails/is suboptimal on Cygwin because:
> * it does not properly detect readline which is only installed as a
> shared library, patch "2.7.3-dylib.patch" from Cygwin package fixes that;
> * the curses module is not built because of undefined refs, just passing
> -lcurses when linking is not enough, one should add -ltinfo;
> * it segfault at startup when loading the readline module, not sure why.
> It looks exactly as what is reported at
> http://trac.macports.org/ticket/29496 . Rebuilding ncurses with debug
> info (including CFLAGS="-O0 -g" which cannot easily be passed right now)
> does not give much info. The offending line pointed by GCC is "char
> *result = exit_attribute_mode;"; maybe some dark magic going on as
> reported in http://lists.gnu.org/archive/html/bug-
> ncurses/2006-10/msg00002.html ; please not that on Cygwin the stack is
> small by default but playing a little bit with that did not really help.
> Further info: ncurses 5.7 is fine, ncurses 5.8 fails in the same way.
New description:
Python currently fails/is suboptimal on Cygwin because:
* it does not properly detect readline which is only installed as a shared
library, patch "2.7.3-dylib.patch" from Cygwin package fixes that;
* the curses module is not built because of undefined refs, just passing
-lcurses when linking is not enough, one should add -ltinfo;
* it segfault at startup when loading the readline module, not sure why.
It looks exactly as what is reported at
http://trac.macports.org/ticket/29496 . Rebuilding ncurses with debug info
(including CFLAGS="-O0 -g" which cannot easily be passed right now) does
not give much info. The offending line pointed by GCC is "char *result =
exit_attribute_mode;"; maybe some dark magic going on as reported in
http://lists.gnu.org/archive/html/bug-ncurses/2006-10/msg00002.html ;
please not that on Cygwin the stack is small by default but playing a
little bit with that did not really help. Further info: ncurses 5.7 is
fine, ncurses 5.8 fails in the same way. Upstream bu report:
http://lists.gnu.org/archive/html/bug-ncurses/2013-10/msg00014.html
--
Comment:
Upstream bug report: http://lists.gnu.org/archive/html/bug-
ncurses/2013-10/msg00014.html
The problem is that when the config BROKEN_LINKER is set, then a pointer
CurTerm is used but never set to something else than zero.
Setting it as in other cases seems to fix the problem.
Or unsetting BROKEN_LINKER on Cygwin.
--
Ticket URL: <http://trac.sagemath.org/ticket/15317#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.