diff -up Singular-3-1-5/Singular/Makefile.in.undefined Singular-3-1-5/Singular/Makefile.in
--- Singular-3-1-5/Singular/Makefile.in.undefined 2014-03-10 13:38:35.942709805 -0500
+++ Singular-3-1-5/Singular/Makefile.in 2014-03-10 13:41:07.350100104 -0500
@@ -136,7 +136,7 @@ LIBSINGULAR_LIBS =-lsingfac -lsingcf -ln
SO_SUFFIX = so
-LIBSINGULAR_FLAGS = -shared
+LIBSINGULAR_FLAGS = -shared -Wl,--no-undefined
LIBSINGULAR_LD = $(CXX)
# correct suffix for dynamic linking
diff -up Singular-3-1-5/Singular/misc_ip.cc.undefined Singular-3-1-5/Singular/misc_ip.cc
--- Singular-3-1-5/Singular/misc_ip.cc.undefined 2012-07-12 09:24:57.000000000 -0500
+++ Singular-3-1-5/Singular/misc_ip.cc 2014-03-10 13:38:35.945709773 -0500
@@ -1169,7 +1169,6 @@ void siInit(char *name)
errorreported = 0;
}
-#ifdef LIBSINGULAR
#ifdef HAVE_FACTORY
// the init routines of factory need mmInit
int mmInit( void )
@@ -1177,4 +1176,3 @@ int mmInit( void )
return 1;
}
#endif
-#endif
diff -up Singular-3-1-5/Singular/tesths.cc.undefined Singular-3-1-5/Singular/tesths.cc
--- Singular-3-1-5/Singular/tesths.cc.undefined 2012-07-12 09:24:57.000000000 -0500
+++ Singular-3-1-5/Singular/tesths.cc 2014-03-10 13:38:35.945709773 -0500
@@ -52,27 +52,6 @@
extern int siInit(char *);
#if ! defined(LIBSINGULAR)
-int mmInit2( void )
-{
-#if 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 */
- /* do not rely on the default in Singular as libsingular may be different */
- mp_set_memory_functions(omMallocFunc,omReallocSizeFunc,omFreeSizeFunc);
-#else
- mp_set_memory_functions(malloc,reallocSize,freeSize);
-#endif
- return 1;
-}
-int mmInit( void )
-{
-#ifndef SI_THREADS
- return mmInit2();
-#else
- return 1;
-#endif
-}
-
/*0 implementation*/
int main( /* main entry to Singular */
int argc, /* number of parameter */