Peter Jeremy wrote:
> On 2009-Oct-16 13:05:02 +0100, "Dr. David Kirkby" <david.kir...@onetel.net> 
> wrote:
>> I'm updating a configure script which will warn users if their operating 
>> system 
>> is too old. In the case of a Solaris 9 machine it will say:
> 
> Whilst I agree in principal, I have some concerns about the wording.
> 
>> configure: WARNING: You are using Solaris 9, which is a very old version
>> configure: WARNING: last released in 2004. Solaris 10 was first released in
>> configure: WARNING: 2005, and there have been many updates since then. You
>> configure: WARNING: are advised to upgrade to Solaris 10 or later,
> 
> This is all very nice in principal but may not be possible in practice
> due to requirements for other applications.  Eg, we still have a Solaris
> 2.6 server to support an old application.  Whilst the application might
> work with Solaris 10, that would require effort to upgrade the OS and
> then regression test the application - for which there is no funding.

I had changed the wording somewhat anyway, but I would admit I had not 
considered other applications.

I also added a check for the old sun4m and sun4c systems, as they can not be 
upgraded to Solaris 10.

I'm well there may be reasons for sticking to an older OS, though Solaris has 
excellent binary compatibility. Obviously there are exceptions, but generally 
it 
it runs on version N, it will run on N+1, N+2 etc.

> I suspect you will find that Solaris 9 is still in fairly common use.
> Whether it's used widely enough to justify a Sage release, I'm not
> certain.  (And I'm not certain how much effort would be needed to
> build Sage on Solaris 9).

I would agree Solaris 9 is in quite common use. If Wikipedia is to be trusted, 
Solaris 9 will be supported by Sun until 2014, and even Solaris 8 to 2012. So 
neither should be written off.

The current wording I have is:

if test x$build_os = 'xsolaris5.0    || test x$build_os = 'xsolaris5.1' \
|| test x$build_os = 'xsolaris5.2'   || test x$build_os = 'xsolaris5.3' \
|| test x$build_os = 'xsolaris5.4'   || test x$build_os = 'xsolaris5.5' \
|| test x$build_os = 'xsolaris5.5.1' || test x$build_os = 'xsolaris5.6' \
|| test x$build_os = 'xsolaris5.7'   || test x$build_os = 'xsolaris5.8' \
|| test x$build_os = 'xsolaris5.9'
then
     AC_MSG_WARN([*********************************************************])
     AC_MSG_WARN([*********************************************************])
     AC_MSG_WARN([You are using an older version of Solaris.               ])
     AC_MSG_WARN([Sage is only supported on Solaris 10 or later, though it ])
     AC_MSG_WARN([may work on older releases.                              ])
     if test "x`uname -m`" = 'xsun4m'  ||  test "x`uname -m`" = 'xsun4c'
     then
         AC_MSG_WARN([Unfortunately, your hardware is too old to update to     
])
         AC_MSG_WARN([Solaris 10, so you may experience problems building 
Sage.])
         AC_MSG_WARN([In any case, it would be very slow on such old hardware. 
])
     else
         AC_MSG_WARN([You can download the latest Solaris version free from])
         AC_MSG_WARN([http://www.sun.com/software/solaris/])
     fi
     AC_MSG_WARN([*********************************************************])
     AC_MSG_WARN([*********************************************************])
fi

but that is open to change of course.

(I believe the fastest processor from Sun for a sun4m machine was 85 MHz, and 
while Ross made them up to 200 MHz for the Sun SPARC 10 and 20, they were not 
particularly good. A think a 125 MHz Ross HyperSPARC is about the same speed or 
a bit slower than a 75 MHz Sun SuperSPARC processor. Hence for all practical 
purposes, building Sage on a sun4m or sun4c machine would be a pointless 
exercise).

>> configure: WARNING: not supported on Solaris 9, though it may work (the Sage
> 
> Actually, you can be fairly confident it won't work because the libm
> version was bumped between Solaris 9 and Solaris 10 so you will get
> a "libm.so.2 not found" error fairly quickly.

What in Sage would refer to the library by that name, and not simply libm?

> I would prefer a warning along the lines of:
> configure: ERROR: Sage is currently only supported on Solaris 10 and you
> configure: ERROR: are running an earlier version of Solaris.  If you wish
> configure: ERROR: to assist in porting Sage to Solaris 9, please join the
> configure: ERROR: mailing list sage-devel@googlegroups.com

Would you limit that to assist in porting Solaris to just 9? Or would you 
include 8, 7, 2.6, 2.5 ...etc?

Given used Sun hardware can be obtained very cheaply and Solaris obtained free, 
there is somewhat less incentive to support older Solaris releases than there 
might be older releases for systems which can not be upgraded to the latest 
operating system, or where those updates cost money.

> BTW, the various Solaris 10 upgrades make fairly radical changes to
> the environment and I assume the build machines are running a fairly
> recent version of Solaris 10.  Has anyone tried running the Solarris
> package on a early Solaris 10?  It's possible there may be problems.

I have indeed set up a Sun Ultra 80 with the first release of Solaris 10 for 
this very purpose. I can't recall exactly what did and did not work, but I know 
ECL did not. I gave Juanjo (the main ECL developer) access to the machine, and 
he made the necessary changes to ensure ECL would build on the first release of 
Solaris 10.

I intend setting up a Sun Netra T1 in the next few days as a web server, and 
will put the first Solaris release on that. I will leave that on 24/7, whereas 
the power consumption of the Ultra 80 makes that very expensive.

I did suggest to William he get an old server from eBay for this very purpose, 
but due to rack, power and cooling problems, he is unable to do this. Hence any 
testing on older releases of Solaris would have to be done by hardware not 
managed by William.

If we produce a binary for Solaris 10 on 't2', it is quite possible it will not 
run on earlier releases of Solaris 10. It probably will, but it certainly not 
guaranteed. Whereas if we build on the first release of Solaris 10, it will 
with 
a very high degree of certainty run on the latest. ('t2' would not run on the 
first release of Solaris 10, so changing to an older OS is not an option).

>> I think I'll have to leave any tests for linux (or let someone else
>> write them), as I believe there are too many different distributions
>> to worry about.
> 
> It would be nice to have a list of base OS shared libraries that Sage
> expects and do a check against the available libraries.  I'm not sure
> how much effort this would be.


There are many things that are checked in configure scripts, but I do not know 
what are actually needed. Does Sage need 'yacc' or 'bison' for example? If I 
knew it did, then I could add a test for that early on, to save someone the 
trouble of spending hours building Sage, only to find they need something which 
we could have checked for earlier.

I would imagine producing a list of what libraries and programs are needed for 
every Sage package would be a very daunting task. If each developer agreed to 
document exactly what one package needed, then it would be possible. For for 
any 
single person to do so for 100+ packages would be too much to ask. I certainly 
would not wish to do that.



--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to