Couldn't find an appropriate place to post this, so I guess I'll put it here.
I've been trying to package two Matlab alternatives for Linux,
scilab and
octave.
Scilab relies heavily on java, and after fighting it for a couple of days I thought it's about time to ask someone familiar with java for advice.
We have a jre package pre-installed on VL, and also a jdk(from what I understand, jdk includes jre) package in the repo. To build scilab I needed jdk, so I installed it. However, the JAVA_HOME variable still points to /usr/lib/java(that's where jre is installed), instead of /opt/java(where jdk is).
Wouldn't it make sense for jdk to overwrite the variable?
Another thing, scilab comes with an archive of prerequisites it needs at compile time(and I guess run time as well) - they include a bunch of .jar files and five .so files.
Where would it make sense to put them and how can I inform scilab where they are?
For .jar files I though I had to add the containing directory in CLASSPATH, but it's empty on VL and all my attempts to put something there didn't help(meaning .jar files still aren't detected).
Here's what I tried:
export CLASSPATH=$CLASSPATH:$CWD/$NAME-$VERSION/thirdparty
$CWD/$NAME-$VERSION/thirdparty being the directory with a bunch of .jar files.
Octave, on the other hand uses GTK, so I didn't have to deal with java, but in turn got stuck right in the hard-core stuff:
VL does not seem to include a
BLAS (Basic Linear Algebra Subprograms) package, so I looked for a way to make one. The link above leads to the generic, non-optimized version of blas. However, it also points out that there are optimized versions out there:
ATLAS(Automatically Tuned Linear Algebra Soft), which gets optimized for the CPU it's compiled on. However, it doesn't seem like that great of an idea to upload a package to the repos that is only optimized for my specific CPU(especially if this package will be required to perform a lot of CPU intensive computations).
There's also
ACML, which is an AMD-distributed version of BLAS(optimized for AMD CPUs). Intel also has a BLAS version called
MKL, but they charge for it.
So I guess my question is, which one of these would it make more sense to build octave and scilab(I'm pretty sure scilab will need BLAS as well) against?