On Tue, May 18, 2010 at 8:21 AM, Pablo Winant <pablo.win...@gmail.com> wrote:
> I guess the problem does not arise in Python's namespace. Unless I'm missing
> something, I don't see how 'import pytave'  statement could conflict with
> singular python modules or objects.
>
> There seem to be an incompatibility between octave and singular shared
> libraries (.so file) related to C++ templating.  According to pytave's dev,

That makes sense.  We've had problems like this before.  E.g., at one
point suddenly MatPlotLib had a new C++ type with the same name as
something in another C++ library that Sage links in (maybe licecm or
NTL).  The fix that time was to change libecm or NTL.

William

> "The problem is conflicting implementations of Array<int>. Both liboctave
> and Singular have their own template <class T> class Array with an int
> instantiation". I thought it was impossible to simultenously load the two
> .so files with the same python interpreter. Is it correct ?
>
> Pablo
>
> Le 18/05/2010 16:41, Dima Pasechnik a écrit :
>>
>> Certainly, such name clashes are not uncommon (e.g. cvxopt defines its
>> own
>> matrix that clashes with Sage's matrix)
>> IMHO if you import the needed things from the package you need, doing
>> re-namings when needed, as usual  (from foo import blah as fooblah)
>> you can avoid the problem you describe.
>>
>> HTH,
>> Dmitrii
>>
>> On May 18, 10:44 am, Pablo Winant<pablo.win...@gmail.com>  wrote:
>>
>>>
>>> Hello,
>>>
>>> I am still trying to use Pytave under Sage. After some work, I
>>> eventually managed to compile every needed library (boost, octave), but
>>> I went through an annoying bug.
>>> It is possible to use the library with 'sage -python' or 'sage
>>> -ipython'  but when imported at the sage command prompt it fails.
>>> According to pytave developper, it is due to an incompatibility between
>>> the templates of octave and singular, the class Array ending up being
>>> declared twice.
>>>
>>> For this reason, I am wondering whether it is possible to restrict the
>>> initial import into sage interpreter so as to avoid importing singular.
>>> Would something usable remain if I remove all modules depending on it (I
>>> don't really need pure mathematics functions anymore) ? What would be
>>> the right way to do it ?
>>>
>>> Best,
>>>
>>> Pablo
>>>
>>> P.S. the attempts I made are tracked
>>> herehttps://bugs.launchpad.net/pytave/+bug/578767. Once it is done I would
>>> be more than happy to contribute doc/script on the matter.
>>> <https://bugs.launchpad.net/pytave/+bug/578767>
>>>
>>> --
>>> To post to this group, send an email to sage-devel@googlegroups.com
>>> To unsubscribe from this group, send an email to
>>> sage-devel+unsubscr...@googlegroups.com
>>> For more options, visit this group
>>> athttp://groups.google.com/group/sage-devel
>>> URL:http://www.sagemath.org
>>>
>>
>>
>
> --
> To post to this group, send an email to sage-devel@googlegroups.com
> To unsubscribe from this group, send an email to
> sage-devel+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/sage-devel
> URL: http://www.sagemath.org
>



-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to