Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#8409 closed defect (fixed)

Fix build and doctest issues for Solaris 10 (SPARC) in 32-bit mode.

Reported by: drkirkby Owned by: drkirkby
Priority: blocker Milestone: sage-4.5
Component: porting: Solaris Keywords:
Cc: mvngu Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Description (last modified by drkirkby)

As of Sage 4.3.3, Sage will not build on Solaris 10 (SPARC). This lists all the items which I'm aware are needed to allow Sage to build, and pass all then normal doctests, excluding the long ones.

Hardware used for testing

Since 't2' is rather slow, a somewhat ancient and low-spec Sun Blade 1000 was used for these tests.

  • Sun Blade 1000
  • 2 x 900 MHz UltraSPARC III+ CPUs
  • 2 GB RAM
  • Solaris 10 03/2005 (first release of Solaris 10)
  • gcc 4.4.3 (uses Sun linker and assembler)

Patches needed to build Sage 4.4.3 on Solaris 10 (SPARC)

Sage will not build without all of the following patches.

  • #7867 A patch for Python, which solves an issue from #6583.
  • #8191 Addition of iconv, which was needed following an update to R.
  • #8285 Update R's spkg-install to work on Solaris.
  • #8363 Remove a useless check for mpir in cddlib which breaks Solaris build.
  • #8371 Patch to allow pyprocessing to build on Solaris - it failed after python was patched as #7867. (Note #6503 aims to remove pyprocessing completely, so #8371 may be unnecessary).

Patches needed for Sage to pass all the normal (not long) doctests

  • #8374 Numerical noise in sage/symbolic/constants_c.pyx
  • #8375 Numerical noise in sage/symbolic/pynac.pyx
  • #8391 Change 'top' to 'prstat' on Solaris, othewise lots of doctests time out.
  • #8408 Update sqlite to the latest version (otherwise #8397, #8398, #8399, #8400 and #8401 all fail).

Long doctests

All long doctests pass, with the exception of the following, which is #8416

sage -t  -long "devel/sage/sage/schemes/elliptic_curves/ell_modular_symbols.py"
A mysterious error (perhaps a memory error?) occurred, which may have crashed doctest.
         [3.0 s]

Other changes

It was necessary to increase SAGE_TIMEOUT. The longest test is taking 460 s on the Blade 1000. Despite the relative age and cost of the T5240 (t2) and my Blade 1000 (redstart), the T5240 is designed for a very different task to what it is used for, so some of the doctests will take longer on 't2'. I would suggest a minimum timeout of 2000 s would be necessary to be sure of no failures due to the lack of speed in 't2'.

Although I did increase SAGE_TIMEOUT_LONG to 10000 s from the default 1800, this was no absolutely necessary, as all tests completed in less than 1800 s, although the longest took 1764.9 s, so would have been very close to timing out.

Dave

Change History (11)

comment:1 Changed 10 years ago by drkirkby

  • Cc mvngu added

comment:2 Changed 10 years ago by drkirkby

  • Description modified (diff)

comment:3 Changed 10 years ago by drkirkby

As reported at #8416 this doctest pass after I rebuilt the Sage library completely. So I believe all doctests should now pass on Solaris 10 - including the long ones.

We will have to wait and see.

comment:4 Changed 10 years ago by jhpalmieri

  • Milestone changed from sage-4.4 to sage-5.0

As of 4.4.alpha1 or alpha2, there are several long doctests which still fail on t2:

        sage -t  -long devel/sage/sage/schemes/elliptic_curves/BSD.py # 2 doctests failed
        sage -t  -long devel/sage/sage/schemes/elliptic_curves/ell_curve_isogeny.py # File not found
        sage -t  -long devel/sage/sage/schemes/elliptic_curves/ell_rational_field.py # File not found
        sage -t  -long devel/sage/sage/modular/ssmod/ssmod.py # File not found
        sage -t  -long devel/sage/sage/categories/coxeter_groups.py # File not found

All but the first are timeouts; I'll increase SAGE_TIMEOUT_LONG and see what happens. I don't know what causes the first; I'll open a ticket: #8749.

As it stands, I'm not sure what we can do about this ticket, so I'm pushing it to Sage 5.0.

comment:5 Changed 10 years ago by jhpalmieri

With longer SAGE_TIMEOUT_LONG, tests pass:

sage -t  -long devel/sage/sage/schemes/elliptic_curves/ell_curve_isogeny.py
         [2238.6 s]
sage -t  -long devel/sage/sage/schemes/elliptic_curves/ell_rational_field.py
         [3010.0 s]
sage -t  -long devel/sage/sage/modular/ssmod/ssmod.py
         [2336.2 s]
sage -t  -long devel/sage/sage/categories/coxeter_groups.py
         [3101.2 s]

except for the ones tracked at #8749 and #8750.

comment:6 Changed 10 years ago by jhpalmieri

  • Milestone changed from sage-5.0 to sage-4.4.1

Once #8749 is fixed, can we close this?

comment:7 Changed 10 years ago by was

Note a 4.4.3 blocker.

comment:8 Changed 10 years ago by was

  • Milestone changed from sage-4.4.3 to sage-5.0

comment:9 Changed 10 years ago by drkirkby

As of sage 4.4.4, #9127 is the only outstanding doctest issue and that would appear to be related to the low speed of the machines used to perform a test - it creates a timeout.

Once that is fixed, this ticket can be closed.

comment:10 Changed 10 years ago by drkirkby

  • Resolution set to fixed
  • Status changed from new to closed
  • Summary changed from Fix build and doctest issues for Solaris 10 (SPARC) to Fix build and doctest issues for Solaris 10 (SPARC) in 32-bit mode.

This can now be closed. All issues have been resolved, and Sage certainly does build on Solaris 10 (SPARC) while passing all doc tests.

There are still issues on OpenSolaris, and when building in 64-bits, but all the 32-bit issues have been resolved. I added "in 32-bit mode" to the title, so its clear not all issues have been resolved.

#9026 tracks some of the other Solaris/OpenSolaris related issues. #9281 lists the passes and failures for SAGE_CHECK to work on OpenSolaris x64.

Dave

comment:11 Changed 10 years ago by mvngu

  • Milestone changed from sage-5.0 to sage-4.5
Note: See TracTickets for help on using tickets.