Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GPL Maths software for Solaris (Sage)

33 views
Skip to first unread message

David Kirkby

unread,
Feb 19, 2010, 8:27:23 AM2/19/10
to
Sage

http://www.sagemath.org/

is an open-source maths program which has a mission of being a viable
alternative to the the expensive commercial packages - Mathematica,
Maple, MATLAB and Macsyma.

Sage consists of a number of open-source projects. The are very few
dependencies, as all the code for the packages are included. Hence the
tarball is quite big (around 260 MB). There are some binaries too.

http://www.sagemath.org/download-solaris.html

The only version to build on Solaris is 4.3.0.1 (someone broke the
build recently).

Sage runs as a server (http or https) so one normally access it via a
browser, though it can be used at the command line.

You can try it out at

http://t2nb.math.washington.edu:8000/

You need to create an account, but that's easy - no email address or
name is needed.

Do a few simple calculations like

sage: 1+2

sage: factorial(100)

etc. Then try some more complex things - see the manual.

I'd be interested to hear of anyone

1) Tesing the binaries - see install notes at

http://wiki.sagemath.org/solaris-binaries

2) Building this on Solaris. See build notes at:

http://wiki.sagemath.org/solaris

The only platform I now it will build on is Solaris 10 (on SPARC). It
does not build on OpenSolaris, though a port is in progress. I've not
tried on Solaris 10 (x86). I suspect it might build from source, but
can't confirm that. (There might be some SPARC assembly which gets
included on Solaris, which will obviously fail on x86.)

It only builds with gcc >= 4.0.1, and need GNU make in your path
before the Sun make and tar. It's only been built recently with gcc
using the Sun linker, though it should (hopefully) work if your gcc
uses the GNU linker.

It is essential that whatever linker is used by gcc is in your path
before any other linker. Some of the code swaps linker flags based on
what if the first linker in your path, which is not ideal. I intend
changing that at some time.

Do not use the latest source - it will not build on Solaris 10. The
only version to build on Solaris 10 is 4.3.0.1.

Please post any results or support issues to

http://groups.google.com/group/sage-support/

You need to sign up for that. Once that is done, you can post directly
to sage-s...@googlegroups.com Your first few posts will await
moderation. Assuming you are not a spammer, then your posts will
appear immediately. You can probably just email sage-
sup...@googlegroups.com directly, but I think it is preferable if you
sign up first.

There is not much serious maths software for Solaris, and that which
does exist, costs a small fortune. In contrast, Sage is free and open-
source.

Wolfram Research produce Mathematica for Solaris 10 and Open Solaris.
There is a premium on price though - over the Mac OSX, Windows and
Linux versions. I think in the UK Mathematica for Solaris is around
£2,800.

I think Mathworks are dropping Solaris (SPARC) support and do not have
an OpenSolaris port.


Dave

Waldek Hebisch

unread,
Feb 19, 2010, 3:22:41 PM2/19/10
to
In sci.math.symbolic David Kirkby <drki...@gmail.com> wrote:
>
> There is not much serious maths software for Solaris, and that which
> does exist, costs a small fortune. In contrast, Sage is free and open-
> source.

Dave, it is very nice that you work on porting Sage. But the sentence
above is misleading. At least FriCAS and Maxima work on Solaris.
And I think that few other serious open source systems work too.

Your sentence suggests that up to now only serious systems on
Solaris were proprietary, which is not the case.

--
Waldek Hebisch
heb...@math.uni.wroc.pl

David Kirkby

unread,
Feb 19, 2010, 5:28:02 PM2/19/10
to
On Feb 19, 8:22 pm, Waldek Hebisch <hebi...@math.uni.wroc.pl> wrote:

> In sci.math.symbolic David Kirkby <drkir...@gmail.com> wrote:
>
>
>
> > There is not much serious maths software for Solaris, and that which
> > does exist, costs a small fortune. In contrast, Sage is free and open-
> > source.
>
> Dave, it is very nice that you work on porting Sage.  But the sentence
> above is misleading.  At least FriCAS and Maxima work on Solaris.
> And I think that few other serious open source systems work too.
>
> Your sentence suggests that up to now only serious systems on
> Solaris were proprietary, which is not the case.
>
> --
>                               Waldek Hebisch
> hebi...@math.uni.wroc.pl

I take your point - what I said was misleading.

What I meant was there is no general purpose maths package - something
that aims to cover a wide area of mathematics, like Mathematica does
for example. Maxima & FriCAS cover computer algebra only. You can't
use them to plot graphs for example.

Maxima is included in Sage, along with about 100 other open-source
packages. Many have had to be modified in some way to work on Solaris
- usually as a result of assumptions that the build system is Linux.

Sorry for any confusion.

Dave

Raymond Toy

unread,
Feb 19, 2010, 6:25:41 PM2/19/10
to
On 2/19/10 5:28 PM, David Kirkby wrote:
> On Feb 19, 8:22 pm, Waldek Hebisch <hebi...@math.uni.wroc.pl> wrote:
>> In sci.math.symbolic David Kirkby <drkir...@gmail.com> wrote:
>>
>>
>>
>>> There is not much serious maths software for Solaris, and that which
>>> does exist, costs a small fortune. In contrast, Sage is free and open-
>>> source.
>>
>> Dave, it is very nice that you work on porting Sage. But the sentence
>> above is misleading. At least FriCAS and Maxima work on Solaris.
>> And I think that few other serious open source systems work too.
>>
>> Your sentence suggests that up to now only serious systems on
>> Solaris were proprietary, which is not the case.
>>
>> --
>> Waldek Hebisch
>> hebi...@math.uni.wroc.pl
>
> I take your point - what I said was misleading.
>
> What I meant was there is no general purpose maths package - something
> that aims to cover a wide area of mathematics, like Mathematica does
> for example. Maxima & FriCAS cover computer algebra only. You can't
> use them to plot graphs for example.

Maxima can plot 2D and 3D graphs. Maxima can do more than just computer
algebra. Since Maxima has its own language, you can make it do whatever
you want. Maxima also uses Lisp, so you can do whatever Lisp program
you want too.

Ray

Waldek Hebisch

unread,
Feb 19, 2010, 9:44:41 PM2/19/10
to
In sci.math.symbolic David Kirkby <drki...@gmail.com> wrote:
>
> What I meant was there is no general purpose maths package - something
> that aims to cover a wide area of mathematics, like Mathematica does
> for example. Maxima & FriCAS cover computer algebra only. You can't
> use them to plot graphs for example.

FriCAS can plot graphs. In fact some folks prefered to use FriCAS
instead of Mathematica because they liked more FriCAS graphs.

--
Waldek Hebisch
heb...@math.uni.wroc.pl

David Kirkby

unread,
Feb 20, 2010, 8:59:54 PM2/20/10
to

I was not aware Maxima could plot graphs.

The point about having its own language does not detract from the fact
that to implement certain things in lisp or Maxima would be a huge
task. Would it be practical to extend Maxima to have the statistical
capabilities of R for example? Sage integrates Maxima, R and many
other packages.

I have not used Sage much myself, so do not claim to know the
capabilities of its constituent parts. Clearly there is some overlap
between them. Sage aims to integrate them as closely as possible so
the capabilities of all of them can be accessed in a reasonably
consistent way.

Here's a list of the components

http://www.sagemath.org/links-components.html

I'd be keen to hear from anyone who either downloads the Solaris
binary, or builds the source code on Solaris.

Dave

Richard Fateman

unread,
Feb 21, 2010, 12:45:57 PM2/21/10
to
David Kirkby wrote:
> On Feb 19, 11:25 pm, Raymond Toy <toy.raym...@gmail.com> wrote:
Since Maxima has its own language, you can make it do whatever
>> you want. Maxima also uses Lisp, so you can do whatever Lisp program
>> you want too.
>>
>> Ray
>
> I was not aware Maxima could plot graphs.
>
> The point about having its own language does not detract from the fact
> that to implement certain things in lisp or Maxima would be a huge
> task.

Certain things? Like "building a computer program with human-like
intelligence?" Sure. But it would probably be no harder than in
some other language, and maybe easier.

Would it be practical to extend Maxima to have the statistical
> capabilities of R for example? Sage integrates Maxima, R and many
> other packages.

Of course. Maxima already includes many scientific floating-point
packages, and could include more. To some extent the ease of importing
additional facilities not written in Lisp depends on which of several
possible Lisp implementations are being used under the particular
Maxima. Some lisp systems allow for the calling of programs written in
C, FORTRAN, Assembler, Java, Python.

Not all Lisps; this has been a bit of a stumbling block since the
older GCL has poor support for this; there are more supportive lisps
that also runs on (almost?) all platforms. In fact, the version
of Maxima in Sage is not in GCL.)

Without leaving Lisp, programs have been incorporated in Maxima,
including GCL Maxima by translating FORTRAN automatically to lisp by
"f2cl", and then compiling.

As for R, Octave, or for that matter, the commercial Matlab, it is
hardly obvious how to best attach two systems each with its own
interactive top-level interpreter. Switching between them? How to
relate results in one to the other? Passing commands as quoted strings
from one place to another, and re-parsing results?

But can one include statistical computing in Maxima? Sure. Can
statistical computing be done in Lisp? Sure. Look up XLISP-STAT.
(This is not an entirely happy story, but see
http://www.jstatsoft.org/v13/i07/paper )

I don't know what you are thinking, in particular. You do know that the
Common Lisp standard has extensive support for arrays, floating-point,
etc.

Sage does not "integrate" packages so much as lash them together. I have
not tested Sage, but my suspicion from reading the developer message
board is that there are problems. For example, one can "divide by zero"
in several of its packages. Is this treated in an "integrated" fashion?
Or how about the treatment of infinity and NaNs?


>
> I have not used Sage much myself, so do not claim to know the
> capabilities of its constituent parts.

I daresay there are very few people who "know" the details of most of
the programs.

Clearly there is some overlap
> between them. Sage aims to integrate them as closely as possible so
> the capabilities of all of them can be accessed in a reasonably
> consistent way.

That is perhaps the aim. You apparently are not in a position to judge
how effectively the project is moving towards achieving that aim, nor
how it compares in effectiveness to (say) just using one of its
components for some set of tasks, nor even the extent to which
Mathematica covers the same ground as some of the components of Sage.


>
> Here's a list of the components
>
> http://www.sagemath.org/links-components.html
>
> I'd be keen to hear from anyone who either downloads the Solaris
> binary, or builds the source code on Solaris.

I would not be surprised if you were alone, or nearly alone, in enjoying
trying to build Sage on Solaris. Since you say you don't use it much
yourself or know much about it, this strikes me as being particularly
generous of your time to the Sage people and the Solaris users.

RJF

David Kirkby

unread,
Feb 21, 2010, 2:32:03 PM2/21/10
to
On Feb 21, 5:45 pm, Richard Fateman <fate...@cs.berkeley.edu> wrote:
> David Kirkby wrote:

> > between them. Sage aims to integrate them as closely as possible so
> > the capabilities of all of them can be accessed in a reasonably
> > consistent way.
>
> That is perhaps the aim.  You apparently are not in a position to judge
> how effectively the project is moving towards achieving that aim, nor
> how it compares in effectiveness to (say) just using one of its
> components for some set of tasks, nor even the extent to which
> Mathematica covers the same ground as some of the components of Sage.

> RJF

Richard,

One would assume as a professor you are not a total fool, but you
rarely contribute anything useful to any newsgroup. You rarely
contribute anything useful to the sage-devel mailing list. Quite why
you bother subscribing I never know.

You clearly have a vendatta against Sage.

As such, I do not feel I wish to comment any more.

Dave

Richard Fateman

unread,
Feb 21, 2010, 3:55:45 PM2/21/10
to
David Kirkby wrote:

> You clearly have a vendatta against Sage.

What I object to is a view that some people have, that Sage is
necessarily better than things that they do not know about.
It is similar to some peoples' view that programming
language X, the only one they know about, is better than any of
the languages they do not know about.
(For Sage, X=Python).
My contributions to the Sage development list tend to be
expressions of skepticism since it sometimes appears that
the Sage system is making design decisions that have been
shown (historically) to lead to bad situations.


>
> As such, I do not feel I wish to comment any more.

Except you did :)
>
RJF

Richard B. Gilbert

unread,
Feb 21, 2010, 7:46:57 PM2/21/10
to

There's always hope!

Raymond Toy

unread,
Feb 22, 2010, 12:13:37 AM2/22/10
to

I didn't say it would be easy. But you stated that Maxima "cover[s]
computer algebra only". I merely pointed out that it can do more than
just computer algebra, and since it has a programming language and also
includes Lisp, you can make it do whatever you want, if you were so
inclined.


>
> I'd be keen to hear from anyone who either downloads the Solaris
> binary, or builds the source code on Solaris.

I have a Sparc Solaris 10 machine and could build Sage, but since my
slow Solaris machine takes quite a long time to compile maxima, I'm not
inclined to compile Sage. I could download and run Sage, but since I
don't know anything about it so that might be useful to anyone, unless
you want to know that it at least runs on my machine.

Ray

David Kirkby

unread,
Feb 22, 2010, 7:32:43 AM2/22/10
to
On Feb 22, 5:13 am, Raymond Toy <toy.raym...@gmail.com> wrote:

> I didn't say it would be easy.  But you stated that Maxima "cover[s]
> computer algebra only".  I merely pointed out that it can do more than
> just computer algebra, and since it has a programming language and also
> includes Lisp, you can make it do whatever you want, if you were so
> inclined.

Yes, I accept what you are saying.

> > I'd be keen to hear from anyone who either downloads the Solaris
> > binary, or builds the source code on Solaris.
>
> I have a Sparc Solaris 10 machine and could build Sage, but since my
> slow Solaris machine takes quite a long time to compile maxima, I'm not
> inclined to compile Sage.  

Fair enough. Sage does take a time to build.

> I could download and run Sage, but since I
> don't know anything about it so that might be useful to anyone, unless
> you want to know that it at least runs on my machine.
>
> Ray

That would be very useful to know if you have a Solaris 10 system. If
it is running Solaris 9 or older, then it is doubtful it would run at
all, so I would not bother.

Just check first if your system has the 'p7zip' command. If it does,
then download

'sage-4.3.0.1-Solaris-10-SPARC-sun4u-or-sun4v.tar.7z'

from your nearest mirror at http://www.sagemath.org/download-solaris.html

If your Solaris 10 system does not have 'p7zip' then the easiest
solution is probably to download the .gz solution and decompress with
gzip. Unfortunately, that is considerably larger, as p7zip is much
better than bzip2 or gzip at compressing binary files. (For source
files, the gains are far less significant).

Even if you can just type

sage: 1+1

it would be helpful to know. How to install the binary is documented
at http://wiki.sagemath.org/solaris-binaries

Since you know how to use Maxima, the following link explains briefly
how Maxima's capabilities would be used inside Sage:

http://www.sagemath.org/doc/tutorial/interfaces.html

(It mentions there Maxima uses clisp, but it is in fact now using ecl
for the lisp interpreter, not clisp as it used to do. I've asked that
someone correct that).

BTW, you can try out Sage on a Solaris machine at

http://t2nb.math.washington.edu:8000/

but I would like to know if it works on other peoples machines.

It is more hassle running the notebook if you don't have a browser on
the local host, as the default security settings will not allow the
web based interface to work except on the local host. If you only have
access to your Solaris machine via ssh, then don't worry about that.


Dave

David Kirkby

unread,
Feb 22, 2010, 7:37:08 AM2/22/10
to
On Feb 21, 8:55 pm, Richard Fateman <fate...@cs.berkeley.edu> wrote:
> David Kirkby wrote:
> > You clearly have a vendatta against Sage.

<SNIP>

> > As such, I do not feel I wish to comment any more.
>
> Except you did :)
>
> RJF

Only with the intension of letting those on comp.unix.solaris know why
I can't be bothered to get into deep discussions with you.

Those who read sci.math.symbolic will probably already have an opinion
about you.

Dave

bill

unread,
Feb 22, 2010, 7:00:47 PM2/22/10
to
> Davedownloaded binary package.
Added export LD_LIBRARY_PATH=/usr/sfw/lib
into ./sage

uname -a =>
SunOS acc187 5.10 Generic_142900-04 sun4u sparc SUNW,Sun-Blade-100

$ acc187:/var/tmp/sage-4.3.0.1-Solaris-10-SPARC-sun4u-or-sun4v>
$> ./sage
----------------------------------------------------------------------
| Sage Version 4.3.0.1, Release Date: 2010-01-28 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: import _hashlib
sage: notebook()
The notebook files are stored in: sage_notebook.sagenb
**************************************************
* *
* Open your web browser to http://localhost:8000 *
* *
**************************************************
2010-02-22 11:23:39-0500 [-] Log opened.
2010-02-22 11:23:39-0500 [-] twistd 8.2.0
(/var/tmp/sage-4.3.0.1-Solaris-10-SPARC-sun4u-or-sun4v/local/bin/python
2.6.2) starting up.
2010-02-22 11:23:39-0500 [-] reactor class:
twisted.internet.selectreactor.SelectReactor.
/var/tmp/sage-4.3.0.1-Solaris-10-SPARC-sun4u-or-sun4v/local/bin/sage-native-execute:
xdg-open: not found

^^^^^^^^^^^^^^^^^^^^
2010-02-22 11:23:39-0500 [-] twisted.web2.channel.http.HTTPFactory
starting on 8000
2010-02-22 11:23:39-0500 [-] Starting factory
<twisted.web2.channel.http.HTTPFactory instance at 0x387a5f8>


hangs
^C does bring back the sage: prompt

xdg-open is not part of solaris.


Bill

>

David Kirkby

unread,
Feb 23, 2010, 10:29:55 AM2/23/10
to
> > from your nearest mirror athttp://www.sagemath.org/download-solaris.html

>
> > If your Solaris 10 system does not have 'p7zip' then the easiest
> > solution is probably to download the .gz solution and decompress with
> > gzip. Unfortunately, that is considerably larger, as p7zip is much
> > better than bzip2 or gzip at compressing binary files. (For source
> > files, the gains are far less significant).
>
> > Even if you can just type
>
> > sage: 1+1
>
> > it would be helpful to know. How to install the binary is documented
> > athttp://wiki.sagemath.org/solaris-binaries

This is the 3rd time I've tried to reply to this. I'm not using
another account. Perhaps I'll have more luck.

I have seen this error message myself before, but thought it was
fixed. It is in fact listed as an outstanding bug

http://trac.sagemath.org/sage_trac/ticket/4979

If you are running Sage on the localhost, then you may find the
browser will work at that port, despite the error message.

If Sage is running on a different machine to where your browser is
then, assuming your network is secure from intruders, you can try:

sage: notebook(address='', secure=False)

then opening the browser at http://IP_ADDRESS_OF_SERVER_RUNNING_SAGE:8000

not to localhost. I think that message to go to the local host is
confusing, and hope to get that changed.

Be aware, if port 8000 is open to the world, then anyone can connect
to the server, which is not a good idea.

It is possible to restrict who can access the server via IP address.
By default, only the local host can connect. With the above syntax,
anyone can.

I'd be interested if you can get this to work.

BTW, xdg-open does exist on Solaris 11 (OpenSolaris), but this code
needs removing I feel.

Dave

Dr. David Kirkby

unread,
Feb 23, 2010, 8:58:35 AM2/23/10
to
On Feb 23, 12:00 am, bill <billg...@nyc.rr.com> wrote:

Thank you for that. It was really helpful.

I just checked and see that this bug had been reported before.

http://trac.sagemath.org/sage_trac/ticket/4979

I'd also reported it myself before, but did not get around to solving
it:

http://groups.google.com/group/sage-devel/browse_thread/thread/b5a029ae3934b3e4/ca84d41d46c25346?lnk=gst&q=Solaris+xdg#ca84d41d46c25346

I thought this had been solved at some point.

Are you running Sage on the machine where you have a monitor attached,
or on another machine on your network and logging in via ssh or
similar?

If you are running on the localhost to which you have a monitor, then
you might find that opening

http://localhost:8000

does connect you to the notebook, despite the error message.

If your network is secure from outsiders (in particular nobody can
connect to port 8000), then you could try:

sage: notebook(address='',secure=False)

You will then see a message


"Open your web browser to http://localhost:8000"

Instead of connecting to http://localhost:8000, just connect to
http://IP_ADDRESS_OF_SERVER:8000

I think most testing recently has tended to be done on a remote
server. It might try to open the browser there, but that should
hopefully not prevent the notebook from working.

By default, the notebook, which runs on port 8000 (by default) will
not accept connections from anything other than the local host. But
the above command will bypass that. However, if anyone from outside
your network can connect to port 8000, then you should not do that, as
there is a security risk attached to this.

Dave

Dr. David Kirkby

unread,
Feb 23, 2010, 10:04:20 AM2/23/10
to
On Feb 23, 12:00 am, bill <billg...@nyc.rr.com> wrote:

Thank you Bill.

I had noticed this myself before, but thought it had been fixed. It is
however listed as a bug

http://trac.sagemath.org/sage_trac/ticket/4979

which has long been outstanding. I will get that fixed.

I do not believe that will stop the notebook from working, though it
may do if you are on the local host.

Are you using this on a localhost (i.e. monitor/keyboard/mouse
attached to the Blade 100, or are you connecting to the Blade via ssh
or similar?

There are many options for the notebook:

sage: help(notebook)

but the one that might be most easiest to check is:

sage: notebook(address='', secure=False)

It should, after some warnings about security, say

"* Open your web browser to http://localhost:8000 *"

If you then open http://IP_OF_HOST_RUNNING_SAGE:8000

then it should connect.


However, be warned, that allows anyone who can access port 8000 on
your machine to connect, so it would be unwise to do this unless you
can be 100% sure no intruders can access port 8000.


Hopefully, then you should be able to point your browser at the IP
address of the machine running Sage, on port 8000, and see the web
based interface to Sage.

Hopefully that will work, but I'll look at fixing this bug.

It seems to me it might be easier to not to try to launch a browser,
but simply to tell people where to go. I think the average user of
Solaris is quite capable of using the browser him/her self.

The message to go to 'localhost' is also a bit confusing, as Sage is
often not the local host. It would be more sensible to put the IP
address there. I'll try to get that changed too.


Dave

bill

unread,
Feb 23, 2010, 9:18:17 PM2/23/10
to

I was ssh ing in.

sage: notebook(address='', secure=False)

did work

Will try from locally from the machine tomorrow


Bill

David Kirkby

unread,
Feb 24, 2010, 9:35:12 AM2/24/10
to
On Feb 24, 2:18 am, bill <billg...@nyc.rr.com> wrote:
> On 02/23/10 10:29 AM, David Kirkby wrote:

> > sage: notebook(address='', secure=False)
>
> > then opening the browser athttp://IP_ADDRESS_OF_SERVER_RUNNING_SAGE:8000


>
> > not to localhost. I think that message to go to the local host is
> > confusing, and hope to get that changed.
>
> > Be aware, if port 8000 is open to the world, then anyone can connect
> > to the server, which is not a good idea.
>
> > It is possible to restrict who can access the server via IP address.
> > By default, only the local host can connect. With the above syntax,
> > anyone can.
>
> > I'd be interested if you can get this to work.
>
> > BTW, xdg-open does exist on Solaris 11 (OpenSolaris), but this code
> > needs removing I feel.
>
> > Dave
>
> I was ssh ing  in.
>
> sage: notebook(address='', secure=False)
>

>   then opening the browser athttp://IP_ADDRESS_OF_SERVER_RUNNING_SAGE:8000


>
> did work
>
> Will try from locally from the machine tomorrow
>
> Bill


Thank you for that Bill. I think the output is quite confusing, as it
tells someone to look at the localhost, when often they are not on the
local host.

The notebook() appearing to hang is quite normal. Essentially the
input from Sage then comes from the web browser, not the command line.


Anyone keen to compile from source code? Be warned, it takes about a
day on Blade 1000 running at 900 MHz. The source code is here (It
consists of many compressed packages, so it is just a tar file, and
not compressed again.

http://boxen.math.washington.edu/sage/solaris/sage-4.3.0.1.tar

The binaries are below with two different compression programs.
Assuming you have p7zip on your machine (standard on later Solaris
releases), then the former binary will save you around 200 MB of
download (300 MB against 500 MB)

http://boxen.math.washington.edu/sage/solaris/sage-4.3.0.1-Solaris-10-SPARC-sun4u-or-sun4v.tar.7z
http://boxen.math.washington.edu/sage/solaris/sage-4.3.0.1-Solaris-10-SPARC-sun4u-or-sun4v.tar.gz

Dave

0 new messages