#9167: Resolve ecl.dll conflict on Cygwin
-------------------------------------+-------------------------------------
       Reporter:  was                |        Owner:  tbd
           Type:  defect             |       Status:  closed
       Priority:  major              |    Milestone:  sage-5.7
      Component:  porting: Cygwin    |   Resolution:  fixed
       Keywords:  cygwin spkg ecl    |    Merged in:  sage-5.7.beta1
        Authors:  Jean-Pierre Flori  |    Reviewers:  Karl-Dieter Crisman,
Report Upstream:  Reported           |  Jeroen Demeyer
  upstream. No feedback yet.         |  Work issues:
         Branch:                     |       Commit:
   Dependencies:  #13324, #13860     |     Stopgaps:
-------------------------------------+-------------------------------------
Description changed by jdemeyer:

Old description:

> Though the C-library interface to ECL builds on Cygwin, it does not work
> at all.  All tests fail:
>
> {{{
> sage: import sage.libs.ecl
> ---------------------------------------------------------------------------
> ImportError                               Traceback (most recent call
> last)
>
> /home/wstein/sage-4.4.3/<ipython console> in <module>()
>
> ImportError: No such process
> sage:
> }}}
>
> The reason of this is a name clash: there are two different libraries
> called `ecl.dll`.
> One in `SAGE_LOCAL/lib/` and one in `SAGE_LOCAL/lib/python/site-
> packages/sage/libs/`.
> It is the second one whose importing fails because it should be linked to
> the first one, but `cygcheck` shows that this dependency is resolved to
> itself!
> This is of course dysfunctional, whence the import failure.
>
> The easiest solution would be to rename `sage/libs/ecl.pyx` to something
> else, thus avoiding a name clash.
> The solution proposed here is different and more indirect:
> Patch ECL build system so that it follows the name convention proposed by
> Cygwin.
> The shared library itself is now in `SAGE_LOCAL/bin/cygecl.dll`.
> In addition, an import file is created in `SAGE_LOCAL/lib/libecl.dll.a`.
>
> An updated spkg, based on the one in #13324, is available at
> [http://boxen.math.washington.edu/home/jpflori/ecl-12.12.1.p1.spkg]

New description:

 Though the C-library interface to ECL builds on Cygwin, it does not work
 at all.  All tests fail:

 {{{
 sage: import sage.libs.ecl
 ---------------------------------------------------------------------------
 ImportError                               Traceback (most recent call
 last)

 /home/wstein/sage-4.4.3/<ipython console> in <module>()

 ImportError: No such process
 sage:
 }}}

 The reason of this is a name clash: there are two different libraries
 called `ecl.dll`.
 One in `SAGE_LOCAL/lib/` and one in `SAGE_LOCAL/lib/python/site-
 packages/sage/libs/`.
 It is the second one whose importing fails because it should be linked to
 the first one, but `cygcheck` shows that this dependency is resolved to
 itself!
 This is of course dysfunctional, whence the import failure.

 The easiest solution would be to rename `sage/libs/ecl.pyx` to something
 else, thus avoiding a name clash.
 The solution proposed here is different and more indirect:
 Patch ECL build system so that it follows the name convention proposed by
 Cygwin.
 The shared library itself is now in `SAGE_LOCAL/bin/cygecl.dll`.
 In addition, an import file is created in `SAGE_LOCAL/lib/libecl.dll.a`.

 An updated spkg, based on the one in #13324, is available at
 [http://boxen.math.washington.edu/home/jpflori/ecl-12.12.1.p1.spkg]

 '''Reported upstream''': ​https://gitlab.com/embeddable-common-
 lisp/ecl/issues/235

--

--
Ticket URL: <http://trac.sagemath.org/ticket/9167#comment:129>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to