Mathematica, which is a rather expensive bit of maths software from Wolfram 
Research, is supported on Sun's Solaris x86 operating system, but only on AMD 
64-bit CPUs, not any Intel CPUs.

http://www.wolfram.com/products/mathematica/platforms/

says:

Sun x86
      Solaris 10     64-bit
      Requires AMD 64-bit machine.

Here are some instructions which allow Mathematica 6.0 and 6.0.1 to run on 
Solaris Express Developer Edition 9/07 snv_70b X86. I posted these on 
alt.solaris.x86, but thought I'd stick it here too. (I've not tested under 
other Solaris 10 x86 varients, but I assume it will work. You would need to 
obtain the correct libraries from Sun Studio 12 though).

Attempting to run the text-based Mathematica kernel on an Intel Duo Core 2 CPU 
causes it to crash immediately.

ld.so.1: MathKernel: fatal: 
/usr/local/Wolfram/Mathematica/6.0/SystemFiles/Libraries/Solaris-x86-64/libsunperf.so.1:
 hardware capability unsupported: 0x100  [ AMD_3DNow ]

Apparently modern Intel chips support *most* of the AMD instructions, but 
appears (for my Intel CPU at least) not the AMD_3Dnow instructions, which one 
of the libraries supplied with Mathematica needs.

However, following the suggestion of Marc (marc.glisse ||at|| gmail.com) on the 
comp.unix.solaris newsgroup, and posts from several others in quick succession 
(which would never have been possible on comp.soft-sys.math.mathematica with 
the delays the moderation causes on there), I had a solution. I replaced the 
library libsunperf.so.1 supplied with Mathematica 6.0 with a later one supplied 
by Sun on their Solaris Express Developer Edition. (The actual file is part of 
the Sun's Studio 12 development system, so one only needs that, which is free. 
As is Solaris of course too).

That allowed Mathematica to go a bit further, but then it failed with the 
message

ld.so.1: MathKernel: fatal: libfsu.so.1: version `SUNWprivate_1.1' not found 
(required by file 
/usr/local/Wolfram/Mathematica/6.0/SystemFiles/Libraries/Solaris-x86-64/libsunperf.so.1)
ld.so.1: MathKernel: fatal: libfsu.so.1: open failed: No such file or directory
Killed

The file libfsu.so.1 is also part of the Sun Studio 12 development kit, but 
Mathematica does not look for it. But one can copy that into the directory 
where Mathematica looks for libraries (or, as I did, make a symbolic link).

Finally when all that is done, the kernel (math) works, but the front end 
(mathematica) crashed almost immediately.

But that issue for Solaris is in the support FAQ for Mathematica,

http://support.wolfram.com/mathematica/systems/unix/solaris/notruetypefontsolaris.html

which says the -noTrueTypeFont option can fix problems with Mathematica  
crashing on Solaris. (Who is at fault here, Sun or Wolfram?)

That did not help immediately, but I then realised the previous crashes 
probably resulted in corrupted cache data, so I started Mathematica with the 
-cleanStart option too.

Then, it works!!! Mathematica is now running on a computer running Solaris x86 
with an Intel CPU, not the supported AMD CPU.  Obviously this hack will not be 
supported by Wolfram, but it appears to work. (Perhaps they would add support 
for Intel chips, as it seems possible with little effort).

I would add it runs the Mathematica 6 benchmark quite slowly, scoring 1.37 or 
so on a machine which scores 2.00 on Vista. Both 6.0 and 6.0.1 have been tried, 
with similar performance. 

Use at your own risk, but the steps are below. Assuming Mathematica is in the 
default installation, you will need to be root.

1) Change to the Directory Mathematica uses for libraries:
# cd /usr/local/Wolfram/Mathematica/6.0/SystemFiles/Libraries/Solaris-x86-64

2) Rename the original library to something else
# mv libsunperf.so.1 libsunperf.so.1.orig

3) Create a link from the later version of the library in the Sun Studio 12 
development system

# ln -s /opt/SUNWspro/prod/lib/amd64/libsunperf.so.2 libsunperf.so.1

4) Create a link from the file /opt/SUNWspro/prod/lib/amd64/libfsu.so.1 to the 
directory used for the Mathematica libraries.

# ln -s /opt/SUNWspro/prod/lib/amd64/libfsu.so.1 libfsu.so.1

5) Launch Mathematica with the options -cleanStart and -noTrueTypeFont

$  /usr/local/bin/mathematica  -cleanStart -noTrueTypeFont

6) Next time, it should work without the -cleanStart option, but the 
-noTrueTypeFont one is still needed.

$ /usr/local/bin/mathematica -noTrueTypeFont

It now works!!

7) If you want to, you can edit the script 
/usr/local/Wolfram/Mathematica/6.0/Executables/mathematica
and add -noTrueTypeFont on the very last line
exec "${MathematicaFE}" -topDirectory "${TopDirectory}" "$@" -noTrueTypeFont 

It would be so nice if comp.soft-sys.math.mathematica newsgroup was not 
moderated, so allowed a fast exchange of views between people. It allows 
problems that need contributions from many to be solved quickly, something that 
seems impossible on comp.soft-sys.math.mathematica, but was on the unmoderated 
Sun newsgroup.

Obviously the above will not be supported by Wolfram Research, so use at your 
own risk, but it does appear to work for me at least.

Solaris x86 has been known as a very good operating system for Mathematica, 
with various records having been set on that platform

http://www.sun.com/third-party/srsc/resources/wolfram/Wolfram_ss.pdf

My initial benchmark results suggest it does not work as well on the Intel CPUs 
as it does AMD, as the benchmark results are quite sluggish given the hardware. 

Overall, for best performance it seems hard to beat Solaris x86 on an AMD CPU, 
but this is quite usable. 

I'm not sure why Solaris x86 should run the benchmark so much slower than 
Windows Vista does on exactly the same hardware. A difference in score from 
1.37 to 2.00 is quite significant.
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
[email protected]

Reply via email to