#14780: allow embedding python tuples in SR
-------------------------------------+-------------------------------------
Reporter: burcin | Owner: burcin
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-6.2
Component: symbolics | Resolution:
Keywords: sd48 | Merged in:
Authors: Burcin Erocal | Reviewers: Volker Braun
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/vbraun/python_tuples_in_SR | d6aa8ff7d1381db12a46e38cb9528127623ab346
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by vbraun):
I'm playing around with marking the pynac templates external in the Sage
library (C++11 feature, but unofficial in gcc for a while now). This is
one way to avoid the clash. The problems seems that, on redhawk,
`GiNaC::exprseq` a.k.a. `GiNaC::container<std::vector>` is not completely
instantiated inside `libpynac.so`:
{{{
vbraun@redhawk:~/test/pynac/sage$ readelf -sW local/lib/libpynac.so |
grep _ZN5GiNaC9containerISt6vectorEC.Ev
2014: 0000000000169620 162 FUNC WEAK DEFAULT 12
_ZN5GiNaC9containerISt6vectorEC2Ev
3594: 0000000000169620 162 FUNC WEAK DEFAULT 12
_ZN5GiNaC9containerISt6vectorEC2Ev
}}}
vs. on my laptop:
{{{
$ readelf -sW local/lib/libpynac.so | grep
_ZN5GiNaC9containerISt6vectorEC.Ev
468: 000000000017c46e 147 FUNC WEAK DEFAULT 11
_ZN5GiNaC9containerISt6vectorEC2Ev
7994: 000000000017c46e 147 FUNC WEAK DEFAULT 11
_ZN5GiNaC9containerISt6vectorEC1Ev
4012: 000000000017c46e 147 FUNC WEAK DEFAULT 11
_ZN5GiNaC9containerISt6vectorEC2Ev
5629: 000000000017c46e 147 FUNC WEAK DEFAULT 11
_ZN5GiNaC9containerISt6vectorEC1Ev
}}}
If you know gcc name mangling by heart (and I don't blame you if you
don't) then the `C1` is the full constructor while `C2` is only the base
object constructor. If you use `c++filt` then that distinction is not
shown (!).
So after marking that template external in `ginac_wrap.h`, Sage still
works on my lapop but fails on redhawk since the full constructor is never
instantiated. I think we should just push explicit instantiation of all
necessary templates into pynac, this will probably fix the bug here.
--
Ticket URL: <http://trac.sagemath.org/ticket/14780#comment:32>
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.
For more options, visit https://groups.google.com/d/optout.