#9167: Update ECL and resolve ecl.dll conflict on Cygwin
----------------------------------------------------------------+-----------
Reporter: was |
Owner: tbd
Type: defect |
Status: needs_info
Priority: major |
Milestone: sage-5.6
Component: cygwin |
Resolution:
Keywords: cygwin spkg ecl | Work
issues: use matching autoconf
Report Upstream: None of the above - read trac for reasoning. |
Reviewers: Karl-Dieter Crisman
Authors: Jean-Pierre Flori | Merged
in:
Dependencies: #13324 #13860 |
Stopgaps:
----------------------------------------------------------------+-----------
Changes (by leif):
* dependencies: #13324 => #13324 #13860
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
>
> As ECL also comes with a new ASDF, one needs a small change in spkg-
> install. It is done in
> http://boxen.math.washington.edu/home/dima/packages/maxima-5.26.0.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
As ECL also comes with a new ASDF, one needs a small change in Maxima's
`spkg-install`. It is done in
http://boxen.math.washington.edu/home/dima/packages/maxima-5.26.0.p1.spkg
(#13860).
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9167#comment:92>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.