#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.

Reply via email to