Opened 9 years ago

Last modified 9 years ago

#13237 closed enhancement

Upgrade Singular — at Version 19

Reported by: jdemeyer Owned by: tbd
Priority: critical Milestone: sage-5.4
Component: packages: standard Keywords: Singular spkg
Cc: fbissey, malb, jpflori Merged in:
Authors: Jeroen Demeyer Reviewers:
Report Upstream: None of the above - read trac for reasoning. Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

Upgrade Singular to version 3-1-5 (released 12 July 2012).

Upstream bugs discovered:

New spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/singular-3-1-5.p0.spkg

singular-3-1-5.p0 (Jeroen Demeyer, 1 August 2012)

  • Trac #13237: Upgrade to version 3-1-5.
  • Removed patches which are now upstreamed:
    • patches/Singular.Makefile.in.shared.patch
    • patches/Singular.configure.patch
    • patches/factory.GNUmakefile.in.patch
    • patches/factory_configure
    • patches/make_parallel.patch
    • patches/os_x_ppc.patch
  • In spkg-install, simplify apply_patches(), automatically apply all patches in patches/*.patch, move conditional patches to patches/conditional
  • Rename some patches such that they all have the extension '.patch'
  • Put the two patches for SAGE_DEBUG (Singular.Makefile.in.debug.patch and kernel.Makefile.in.debug.patch) into one file conditional/sage_debug.patch.
  • Add several patches (see above):
    • NTL_negate.patch
    • singular_trac_439.patch
    • singular_trac_440.patch
  • In spkg-install, remove distclean() step; merge clean_headers() and part of the old distclean() into remove_old_version().
  • Only unset LD on Darwin.
  • Remove the unsetting of TMPDIR (bug fixed upstream).
  • Do not override user-set CFLAGS and CXXFLAGS.
  • Echo all error messages to stderr instead of stdout.
  • Fix various ./configure options and remove some unsupported options.
  • Always configure --with-debug, as --without-debug doesn't work, see http://www.singular.uni-kl.de:8002/trac/ticket/438
  • Don't create sage_singular symlink, which wasn't used anyway.
  • Slightly change the $SAGE_LOCAL/bin/Singular script, use "$@" instead of $*.
  • Remove workaround for GCC-4.0.x on Darwin (obsolete by the GCC spkg).
  • Fix formatting of spkg-install (consistent indentation, no TABs).

Change History (19)

comment:1 Changed 9 years ago by leif

  • Description modified (diff)
  • Keywords spkg added

comment:2 Changed 9 years ago by leif

  • Description modified (diff)

comment:3 Changed 9 years ago by fbissey

  • Cc fbissey added

comment:4 Changed 9 years ago by jdemeyer

  • Authors set to Jeroen Demeyer
  • Cc malb added
  • Description modified (diff)
  • Keywords Singular added

comment:5 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:6 follow-up: Changed 9 years ago by leif

checking for FLINT >= 2.3... not found
configure: WARNING: Unable to find FLINT (which is strongly recommended) on your machine: please use --with-flint=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)

:P

And lots of other warnings...

comment:7 in reply to: ↑ 6 ; follow-up: Changed 9 years ago by leif

Replying to leif:

And lots of other warnings...

These are the ones I get from configure and config.status:

configure: warning: Building of doc might fail. Need Texinfo
configure: WARNING: unrecognized options: --with-apint, --with-ntl, --without-MP, --without-lex, --without-bison, --without-Boost, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-factory, --with-libfac
configure: WARNING: Unable to find FLINT (which is strongly recommended) on your machine: please use --with-flint=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)
config.status: WARNING:  'GNUmakefile.in' seems to ignore the --datarootdir setting
configure: WARNING: unrecognized options: --with-apint, --with-ntl, --without-MP, --without-lex, --without-bison, --without-Boost, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-factory, --with-libfac
configure: warning: factory.h not found! Install factory before building libfac!
configure: WARNING: unrecognized options: --with-gmp, --with-ntl, --without-bison, --enable-gmp, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-Singular
configure: WARNING: building without lex -- make might fail
configure: WARNING: building without python support
configure: WARNING: Unable to find FLINT (which is strongly recommended) on your machine: please use --with-flint=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)
configure: WARNING: unrecognized options: --with-gmp, --with-ntl, --without-bison, --enable-gmp, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-Singular
configure: warning: Building of doc might fail. Need Texinfo
configure: WARNING: unrecognized options: --with-apint, --with-ntl, --without-MP, --without-lex, --without-bison, --without-Boost, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-factory, --with-libfac
configure: WARNING: Unable to find FLINT (which is strongly recommended) on your machine: please use --with-flint=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)
config.status: WARNING:  'GNUmakefile.in' seems to ignore the --datarootdir setting
configure: WARNING: unrecognized options: --with-apint, --with-ntl, --without-MP, --without-lex, --without-bison, --without-Boost, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-factory, --with-libfac
configure: warning: factory.h not found! Install factory before building libfac!
configure: WARNING: unrecognized options: --with-gmp, --with-ntl, --without-bison, --enable-gmp, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-Singular
configure: WARNING: building without lex -- make might fail
configure: WARNING: building without python support
configure: WARNING: Unable to find FLINT (which is strongly recommended) on your machine: please use --with-flint=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)
configure: WARNING: unrecognized options: --with-gmp, --with-ntl, --without-bison, --enable-gmp, --enable-Singular, --enable-factory, --enable-libfac, --enable-IntegerProgramming, --disable-doc, --with-malloc, --disable-debug, --enable-omalloc, --with-external-config_h, --with-track-custom, --enable-Plural, --with-Singular
configure: WARNING: unrecognized options: --with-apint, --with-ntl, --disable-debug
configure: WARNING: Unable to find FLINT (which is strongly recommended) on your machine: please use --with-flint=PATH_TO_DIR_CONTAINING_LIB_AND_INCLUDE (see also ./configure --help if you do not understand what we are talking about)
config.status: WARNING:  'GNUmakefile.in' seems to ignore the --datarootdir setting
configure: WARNING: unrecognized options: --with-apint, --with-ntl, --disable-debug

The unrecognized options should be addressed I think.

No idea how to interpret "factory.h not found! Install factory before building libfac!", as the build succeeded.

"Building without python support" can safely be ignored I guess, as we use our own Cython wrappers.

comment:8 in reply to: ↑ 7 Changed 9 years ago by jdemeyer

Replying to leif:

The unrecognized options should be addressed I think.

I fixed the fixable warnings. Many of them are caused by recursive calling of configure, for example, the top-level configure calls omalloc/configure. Many options are supported by some (but not all) configure scripts. These will give warnings and I don't see how to avoid these.

comment:9 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:10 follow-up: Changed 9 years ago by leif

I assume that this is work in progress (i.e., you haven't tried to fix doctest errors yet).

Anyway, here's what I got on Ubuntu 10.04.4 LTS x86_64, with Sage 5.2.rc0 and GCC 4.7.0:

The following tests failed:

	sage -t  --long -force_lib devel/sage/doc/en/constructions/polynomials.rst # 1 doctests failed
	sage -t  --long -force_lib devel/sage/sage/rings/function_field/function_field.py # 1 doctests failed
	sage -t  --long -force_lib devel/sage/sage/rings/polynomial/multi_polynomial_libsingular.pyx # 3 doctests failed
	sage -t  --long -force_lib devel/sage/sage/rings/polynomial/multi_polynomial_ideal.py # 1 doctests failed
	sage -t  --long -force_lib devel/sage/sage/calculus/wester.py # 1 doctests failed
	sage -t  --long -force_lib devel/sage/sage/libs/singular/function.pyx # 2 doctests failed
	sage -t  --long -force_lib devel/sage/sage/combinat/words/words.py # 0 doctests failed

(The last failure was a segfault with a large traceback IIRC. Somewhat surprisingly successfully compiled with -O3, although many if not most compile commands override this by -O2; looks as if they use CPPFLAGS instead of CXXFLAGS in some parts.)

Let me know in case you're interested in further output; I guess you can reproduce most of the errors.

comment:11 in reply to: ↑ 10 Changed 9 years ago by jdemeyer

Replying to leif:

I assume that this is work in progress (i.e., you haven't tried to fix doctest errors yet).

Exactly, I mainly worked on spkg-install.

comment:12 follow-up: Changed 9 years ago by jdemeyer

This is a new bug, the new answer is incorrect:

sage -t  --long -force_lib devel/sage/sage/rings/polynomial/multi_polynomial_libsingular.pyx
**********************************************************************
File "/release/merger/sage-5.2.rc1/devel/sage-main/sage/rings/polynomial/multi_polynomial_libsingular.pyx", line 3856:
    sage: p.factor()
Expected:
    (-2*v^2*u + 4*u^3 + v^2)^2
Got:
    (4) * (-2*v^2*u + 4*u^3 + v^2)^2
**********************************************************************

comment:13 in reply to: ↑ 12 Changed 9 years ago by leif

Replying to jdemeyer:

This is a new bug, the new answer is incorrect:

Expected:
    (-2*v^2*u + 4*u^3 + v^2)^2
Got:
    (4) * (-2*v^2*u + 4*u^3 + v^2)^2

Yes, the most obvious one... :-)

Just noticed the failure in words.py apparently isn't reproducible. Traceback was

${SAGE_LOCAL}/lib/libcsage.so(print_backtrace+0x31)[0x2abd9e8f6664]
${SAGE_LOCAL}/lib/libcsage.so(sigdie+0x14)[0x2abd9e8f6696]
${SAGE_LOCAL}/lib/libcsage.so(sage_signal_handler+0x218)[0x2abd9e8f6250]
/lib/libpthread.so.0(+0xf8f0)[0x2abd9c9158f0]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(+0x135020)[0x2abd9c628020]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(+0x76aa7)[0x2abd9c569aa7]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(+0x1352b7)[0x2abd9c6282b7]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(_PyObject_GC_Malloc+0x115)[0x2abd9c6292b5]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(_PyObject_GC_New+0xd)[0x2abd9c6292ed]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(PyCFunction_NewEx+0xc5)[0x2abd9c584f05]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(Py_InitModule4_64+0x140)[0x2abd9c60bc60]
${SAGE_LOCAL}/lib/python/site-packages/numpy/core/multiarray.so(initmultiarray+0x2b)[0x2abdcd07186b]
${SAGE_LOCAL}/lib/libpython2.7.so.1.0(_PyImport_LoadDynamicModule+0x99)[0x2abd9c6073b9]
...
Segmentation fault

comment:14 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:15 Changed 9 years ago by jdemeyer

  • Description modified (diff)

Another Singular bug:

sage -t --long "devel/sage/sage/rings/function_field/function_field.py"
**********************************************************************
File "/release/merger/sage-5.2.rc1/devel/sage/sage/rings/function_field/function_field.py", line 1132:
    sage: f.factor()
Expected:
    (1/t) * (X + 3*t) * (X + 5*t) * (X + 6*t) * (X^2 + 1/t) * (X^2 + 6/t)
Got:
    (1/t) * (X + 3*t) * (X + 5*t) * (X + 6*t) * (X^4 + 6/t^2)
**********************************************************************

Reported upstream at http://www.singular.uni-kl.de:8002/trac/ticket/440.

comment:16 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:17 Changed 9 years ago by jdemeyer

  • Description modified (diff)
  • Report Upstream changed from N/A to None of the above - read trac for reasoning.

New spkg, adds fixes for Singular bugs 439 and 440.

comment:18 Changed 9 years ago by jdemeyer

  • Description modified (diff)

comment:19 Changed 9 years ago by jdemeyer

  • Description modified (diff)
Note: See TracTickets for help on using tickets.