#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: |
-------------------------------------------------+-------------------------
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.
> Upstream bu report: http://lists.gnu.org/archive/html/bug-
> ncurses/2013-10/msg00014.html
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; in fact the
real problem is that setup.py tries to run ldd on the import library
(dll.a) which fails to detect what libraries are already linked and anyway
would decide to discard -ltinfo as its already linked to readline, but on
Cygwin you have to explicitely pass everything...
* 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.
Should be fixed with http://lists.gnu.org/archive/html/bug-
ncurses/2013-10/msg00017.html
--
Comment (by jpflori):
The BROKEN_LINKER stuff should be fixed in ncurses:
* http://lists.gnu.org/archive/html/bug-ncurses/2013-10/msg00017.html
--
Ticket URL: <http://trac.sagemath.org/ticket/15317#comment:6>
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.