diff -p -up Singular-3-1-0/kernel/mminit.cc.orig Singular-3-1-0/kernel/mminit.cc --- Singular-3-1-0/kernel/mminit.cc.orig 2009-11-18 15:53:05.040077450 -0200 +++ Singular-3-1-0/kernel/mminit.cc 2009-11-18 15:53:37.959078354 -0200 @@ -37,7 +37,7 @@ int mmInit( void ) { if(mmIsInitialized==0) { -#if defined(OMALLOC_USES_MALLOC) || defined(X_OMALLOC) +#if 0 //defined(OMALLOC_USES_MALLOC) || defined(X_OMALLOC) /* in mmstd.c, for some architectures freeSize() unconditionally uses the *system* free() */ /* sage ticket 5344: http://trac.sagemath.org/sage_trac/ticket/5344 */ /* solution: correctly check OMALLOC_USES_MALLOC from omalloc.h, */ diff -p -up Singular-3-1-0/kernel/ring.cc.orig Singular-3-1-0/kernel/ring.cc --- Singular-3-1-0/kernel/ring.cc.orig 2009-11-18 15:53:19.280077136 -0200 +++ Singular-3-1-0/kernel/ring.cc 2009-11-18 15:53:37.964083009 -0200 @@ -367,7 +367,7 @@ void rWrite(ring r) for (i = r->block0[l]-1; i<r->block1[l]; i++) { nlen = strlen(r->names[i]); - PrintS(r->names[i]); + Print("%s ",r->names[i]); } } #ifndef NDEBUG diff -p -up Singular-3-1-0/kernel/rmodulo2m.h.orig Singular-3-1-0/kernel/rmodulo2m.h --- Singular-3-1-0/kernel/rmodulo2m.h.orig 2009-11-18 15:53:11.997076919 -0200 +++ Singular-3-1-0/kernel/rmodulo2m.h 2009-11-18 15:53:37.960078887 -0200 @@ -70,4 +70,7 @@ static inline number nr2mSubM(number a, number nr2mMapQ(number from); #endif + +number nrnMapGMP(number from); +number nr2mMapZp(number from); #endif diff -p -up Singular-3-1-0/kernel/rmodulon.cc.orig Singular-3-1-0/kernel/rmodulon.cc --- Singular-3-1-0/kernel/rmodulon.cc.orig 2009-11-18 15:54:55.106672200 -0200 +++ Singular-3-1-0/kernel/rmodulon.cc 2009-11-18 15:56:06.682411507 -0200 @@ -69,7 +69,7 @@ int nrnSize(number a) */ int nrnInt(number &n) { - return (int) mpz_get_si( (int_number) &n); + return (int) mpz_get_si( (int_number) n); } /* diff -p -up Singular-3-1-0/Singular/libsingular.h.orig Singular-3-1-0/Singular/libsingular.h --- Singular-3-1-0/Singular/libsingular.h.orig 2009-11-18 15:53:26.376077055 -0200 +++ Singular-3-1-0/Singular/libsingular.h 2009-11-18 15:54:05.872075614 -0200 @@ -13,6 +13,7 @@ #include "singular/omalloc.h" #include "singular/clapsing.h" #include "singular/fast_maps.h" +#include "singular/kutil.h" #include "singular/kstd1.h" #include "singular/tgb.h" #include "singular/sparsmat.h" @@ -20,8 +21,18 @@ #include "singular/rmodulo2m.h" #include "singular/rmodulon.h" +#include "singular/subexpr.h" +#include "singular/tok.h" +#include "singular/grammar.h" +#include "singular/ipid.h" +#include "singular/ipshell.h" +#include "singular/attrib.h" int siInit(char *); +/* we need this function in Sage*/ +number nr2mMapZp(number from); + + #endif //SINGULAR__H diff -p -up Singular-3-1-0/Singular/tesths.cc.orig Singular-3-1-0/Singular/tesths.cc --- Singular-3-1-0/Singular/tesths.cc.orig 2009-11-18 15:53:33.235077558 -0200 +++ Singular-3-1-0/Singular/tesths.cc 2009-11-18 15:53:37.965076346 -0200 @@ -44,6 +44,27 @@ int siInit(char *name) { // hack such that all shared' libs in the bindir are loaded correctly feInitResources(name); + iiInitArithmetic(); + + basePack=(package)omAlloc0(sizeof(*basePack)); + currPack=basePack; + idhdl h; + h=enterid("Top", 0, PACKAGE_CMD, &IDROOT, TRUE); + IDPACKAGE(h)->language = LANG_TOP; + IDPACKAGE(h)=basePack; + currPackHdl=h; + basePackHdl=h; + + slStandardInit(); + myynest=0; + if (! feOptValue(FE_OPT_NO_STDLIB)) + { + int vv=verbose; + verbose &= ~Sy_bit(V_LOAD_LIB); + iiLibCmd(omStrDup("standard.lib"), TRUE,TRUE,TRUE); + verbose=vv; + } + errorreported = 0; } #endif