On Thursday 16 August 2007, mabshoff wrote:
> Hello,
>
> I had a closer look and the problem seems to originate mostly in the
> coercion code:
>
> I changed all single letter capital variables in
>
> sage/structure/coerce.pyx
> sage/structure/element.pyx
> sage/categories/action.pyx
> sage/structure/parent.pyx
>
> but I still get a compilation failure in coerce.c (and others). If you
> look at coerce.c lines 824, 825 you will see the PyObject _G and _S:
>
> struct __pyx_obj_4sage_10categories_6action_Action {
>   struct __pyx_obj_4sage_10categories_7functor_Functor __pyx_base;
>   struct __pyx_vtabstruct_4sage_10categories_6action_Action
> *__pyx_vtab;
>   PyObject *_G;
>   PyObject *_S;
>   int _is_left;
>   PyObject *_op;
> };
>
> I did make all the changes needed in action.pyx, so can somebody
> please tell me where G and S are defined in this context. I can edit
> the c-files and make it compile, but that is obviously not the long
> term solution. If I am not mistaken the coercision code was written by
> Robert Bradshaw, so Robert do you have any idea?
>
> I did edit all the needed bits to make the coerce code compile, but
> now I get the following failure in multi_polynomial_libsingular:
>
> gcc -fno-strict-aliasing -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -
> fPIC -I/extra/home/mabshoff/SAGE-build/sage-2.8/local/include/singular
> -I/extra/home/mabshoff/SAGE-build/sage-2.8/local//include -I/extra/
> home/mabshoff/SAGE-build/sage-2.8/local//include/python -I/extra/home/
> mabshoff/SAGE-build/sage-2.8/devel//sage/sage/ext -I/extra/home/
> mabshoff/SAGE-build/sage-2.8/local/include/python2.5 -c sage/rings/
> polynomial/multi_polynomial_libsingular.cpp -o build/temp.solaris-2.9-
> sun4u-2.5/sage/rings/polynomial/multi_polynomial_libsingular.o -w
> cc1plus: warning: command line option "-Wstrict-prototypes" is valid
> for Ada/C/ObjC but not for C++
> In file included from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/factory.h:43,
>                  from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/interrupt.h:6,
>                  from sage/rings/polynomial/
> multi_polynomial_libsingular.cpp:30:
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_array.h:38: error: 'OSTREAM' has not been declared
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_array.h:44: error: expected constructor, destructor, or type
> conversion before '&' token
> In file included from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/factory.h:44,
>                  from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/interrupt.h:6,
>                  from sage/rings/polynomial/
> multi_polynomial_libsingular.cpp:30:
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_factor.h:40: error: 'OSTREAM' has not been declared
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_factor.h:49: error: expected constructor, destructor, or type
> conversion before '&' token
> In file included from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/factory.h:45,
>                  from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/interrupt.h:6,
>                  from sage/rings/polynomial/
> multi_polynomial_libsingular.cpp:30:
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_list.h:27: error: expected constructor, destructor, or type
> conversion before '&' token
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_list.h:47: error: 'OSTREAM' has not been declared
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_list.h:78: error: 'OSTREAM' has not been declared
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_list.h:79: error: ISO C++ forbids declaration of 'OSTREAM' with
> no type
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_list.h:79: error: 'OSTREAM' is neither function nor member
> function; cannot be declared friend
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_list.h:79: error: expected ';' before '&' token
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_list.h:86: error: expected constructor, destructor, or type
> conversion before '&' token
> In file included from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/factory.h:46,
>                  from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/interrupt.h:6,
>                  from sage/rings/polynomial/
> multi_polynomial_libsingular.cpp:30:
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_matrix.h:27: error: expected constructor, destructor, or type
> conversion before '&' token
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_matrix.h:37: error: 'OSTREAM' has not been declared
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_matrix.h:57: error: 'OSTREAM' has not been declared
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_matrix.h:58: error: ISO C++ forbids declaration of 'OSTREAM'
> with no type
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_matrix.h:58: error: 'OSTREAM' is neither function nor member
> function; cannot be declared friend
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_matrix.h:58: error: expected ';' before '&' token
> /extra/home/mabshoff/SAGE-build/sage-2.8/local//include/templates/
> ftmpl_matrix.h:93: error: expected constructor, destructor, or type
> conversion before '&' token
> In file included from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/tmpl_inst.h:8,
>                  from /extra/home/mabshoff/SAGE-build/sage-2.8/local/
> include/singular/interrupt.h:8,
>                  from sage/rings/polynomial/
> multi_polynomial_libsingular.cpp:30:
> /extra/home/mabshoff/SAGE-build/sage-2.8/local/include/singular/
> class.h:43: error: 'OSTREAM' has not been declared
> /extra/home/mabshoff/SAGE-build/sage-2.8/local/include/singular/
> class.h:44: error: ISO C++ forbids declaration of 'OSTREAM' with no
> type
> /extra/home/mabshoff/SAGE-build/sage-2.8/local/include/singular/
> class.h:44: error: 'OSTREAM' is neither function nor member function;
> cannot be declared friend
> /extra/home/mabshoff/SAGE-build/sage-2.8/local/include/singular/
> class.h:44: error: expected ';' before '&' token
> /extra/home/mabshoff/SAGE-build/sage-2.8/local/include/singular/
> class.h:50: error: expected `;' before '}' token
> error: command 'gcc' failed with exit status 1
> sage: There was an error installing modified sage library code.
>
> malb, any idea? I don't know that area of the code very well. It looks
> like a missing include.


You can build libCF with and without IO support and apparently this got mixed 
up. This is why we build a stand-alone libCF/libfac after we built SINGULAR 
and libSINGULAR. This way we make sure OSTREAM is known properly. Short 
answer: I'll have look at it.

Martin


-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_www: http://www.informatik.uni-bremen.de/~malb
_jab: [EMAIL PROTECTED]


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to