#13912: Let iconv build on Cygwin without installing Cygwin libiconv package
-------------------------------------+--------------------------------------
       Reporter:  jpflori            |         Owner:  tbd           
           Type:  defect             |        Status:  closed        
       Priority:  minor              |     Milestone:  sage-5.7      
      Component:  packages           |    Resolution:  fixed         
       Keywords:  cygwin iconv spkg  |   Work issues:                
Report Upstream:  N/A                |     Reviewers:  Jeroen Demeyer
        Authors:  Jean-Pierre Flori  |     Merged in:  sage-5.7.beta0
   Dependencies:                     |      Stopgaps:                
-------------------------------------+--------------------------------------

Comment (by dimpase):

 Replying to [comment:15 kcrisman]:
 > In other words, we should go for maximal Cygwin packages (more like
 Sage-on-Gentoo) and not minimal (like the usual Sage Linux Distro)?

 this would be the most obvious solution to this, although not the only one
 possible; and actually it's not quite a solution, as Sage still has to
 include some dlls which can potentially conflict with ones from Cygwin,
 e.g. Singular and ECL are available as Cygwin packages, and there could
 (potentially) be naming clashes.

 Another way is to take more care with PATH contents, although this would
 require a better understanding of the issue, and in particular how
 rebaseall affects this (and whether rebaseall can handle this). There is a
 certain database of Cygwin dlls maintained by rebase/rebaseall (as I
 gather from e.g. [http://cygwin.com/ml/cygwin-apps/2012-06/msg00062.html
 here]), and we need to understand what is stored there etc. Our situation
 reminds me of the one discussed [http://cygwin.com/ml/cygwin-
 apps/2012-06/msg00062.html here], but I don't understand the details. Note
 that there are lots of dlls that are produced on the fly when building
 {{{Python/Cython}}} extensions, and these can potentially create dll name
 conflicts.

 We can also considering a special dll naming scheme. E.g. we can give all
 the dlls produced by Sage a certain prefix, e.g. "sagecyg", just as
 Cygwin's dlls all get prefix "cyg"  (much more work, but it looks like a
 really watertight way to deal with this).

 The biggest problem now seems that we don't (at least I don't) have a good
 understanding how Windows loader, Cygwin rebase package (and that
 mysterios to me database), and Cygwin itself work together with dlls and
 where exactly the name clashes problem can hit.

 A related unanswered question is whether the 32-bit emulation on 64-bit
 Windows systems in the only environment in which Sage can be made to
 reliably work with the present Cygwin. (Leaving ancient Windows versions
 like XP alone).
 My understanding is that in this case the address space available for
 Cygwin dlls is much bigger than on "proper" 32-bit systems, and this is
 very important for Sage, which has a huge requirement for such a space, if
 a static non-overlapping memory layout for dlls is required for proper
 functioning.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13912#comment:17>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to