#9167: cygwin: importing sage.libs.ecl yields a "no such process" error
----------------------------------------------------------------+-----------
Reporter: was |
Owner: tbd
Type: defect |
Status: needs_review
Priority: major |
Milestone: sage-5.3
Component: cygwin |
Resolution:
Keywords: cygwin spkg ecl | Work
issues:
Report Upstream: None of the above - read trac for reasoning. |
Reviewers:
Authors: Jean-Pierre Flori | Merged
in:
Dependencies: #13324 |
Stopgaps:
----------------------------------------------------------------+-----------
Description changed by jpflori:
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://perso.telecom-
> paristech.fr/~flori/sage/ecl-11.1.2.cvs20111120.p3.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://perso.telecom-paristech.fr/~flori/sage/ecl-12.7.1.p1.spkg
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9167#comment:61>
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.