1. Scilab as a packaging perspective
The Scilab consortium encourages distributions to create packages of Scilab.
1.1. Advised package layout
From the upstream tarballs, the packaging layout can be the following:
Name of the package |
Description |
Architecture |
Depends |
Recommends |
scilab |
The main package of Scilab |
all |
scilab-cli |
scilab-doc |
scilab-cli |
Scilab as a computing engine |
all |
scilab-minimal-bin |
|
libscilab-java |
The Java Scilab API |
any |
scilab-full-bin |
|
scilab-data |
Multiplatform data |
all |
|
|
scilab-doc |
The english documentation |
all |
|
|
scilab-doc-fr |
The french documentation |
all |
|
|
scilab-doc-pt-br |
The Brazilian Portuguese documentation documentation |
all |
|
|
scilab-include |
All headers used by the dynamic link |
any |
|
|
scilab-minimal-bin |
The basic library necessary for scilab-cli |
any |
scilab-data |
|
scilab-minimal-bin-dbg |
The debugging symbol library of scilab-minimal-bin |
any |
|
|
scilab-full-bin |
All the remaining libraries mandatory for scilab |
any |
scilab-minimal-bin |
|
scilab-full-bin-dbg |
The debugging symbol library of scilab-full-bin |
any |
|
|
scilab-test |
All Scilab unitary/non-reg tests |
all |
|
|
Runtime Java thirdparty dependencies should depend on scilab-full-bin since scilab-cli (which depends on scilab-minimal-bin) can be used without any Java code.
1.2. Note for distribution packagers
Scilab consortium is contributing to the packaging of Scilab under Debian and Ubuntu. Therefor, this allow to update and patch Scilab to work correctly under distributions. These patches can be used freely by other distributions: See Debian/Ubuntu related patches
Patches for other distributions are also available:
1.3. Third party dependencies
All Scilab dependencies are described in the page Dependencies of Scilab 5.X. Usually, when not available, new dependencies are packaged into Debian before a new release of Scilab. Don't hesitate to reuse patches.
1.4. Contact
For packaging aspects, please subscribe to the distributor mailing list.
1.5. Some distribution patches
As said previously, Scilab consortium contributes to Debian/Ubuntu by packaging Scilab and some of it dependencies. Here is the list of available patches which can be reused by other distributions.
1.5.1. Scilab 5.2.1
Patch file |
Description |
Only load the help when the scilab-doc package is installed |
|
Enables the demos when available |
|
Builds the português do Brasil documentation |
|
Adapt the code of Scilab to build against JHDF 2.6 |
|
Update the library path for Debian paths |
|
A help chapter was not loaded in the doc |
|
ocamlopt is not available under all architectures. |
|
Support of Linux under Renesas SH(sh4) |
|
Support of Linux under s390 |
|
Support of Linux under sparc64 |
1.6. FAQ
1.6.1. I get an error about HDF5 with Scilab 5.2.0 ?
[javac] /usr/src/packages/BUILD/scilab-5.2.0/modules/hdf5/src/java/org/scila b/modules/hdf5/read/H5Read.java:56: cannot find symbol [javac] symbol : method H5Gget_obj_info_all(int,java.lang.String,java.lang. String[],int[]) [javac] location: class ncsa.hdf.hdf5lib.H5 [javac] H5.H5Gget_obj_info_all(fileId, groupName, allObjectsName, allObj ectsType); [javac] ^ [javac] Note: /usr/src/packages/BUILD/scilab-5.2.0/modules/hdf5/src/java/org/scilab/modules/hdf5/read/H5ReadScilabCommonList.java uses unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] 1 error
It is because you are trying to build Scilab against JHDF2.6. Apply this patch
1.6.2. I get and error about jgraphx with Scilab 5.2.0 ?
[javac] /usr/src/packages/BUILD/scilab-5.2.0/modules/xcos/src/java/org/scilab/modules/graph/ScilabGraph.java:78: cannot find symbol [javac] symbol : method getArgAt(int) [javac] location: class com.mxgraph.util.mxEventObject [javac] undoManager.undoableEditHappened((mxUndoableEdit) evt.getArgAt(0)); [...] [javac] /usr/src/packages/BUILD/scilab-5.2.0/modules/xcos/src/java/org/scilab/modules/xcos/palette/XcosPalette.java:190: cannot find symbol [javac] symbol : constructor mxEventObject(java.lang.Object[]) [javac] location: class com.mxgraph.util.mxEventObject [javac] eventSource.fireEvent(mxEvent.SELECT, new mxEventObject(new Object[] {
It is because you are using a recent version of jgraphx. Apply this patch
1.6.3. Why scilab-include is not Arch: all (ie the same package for all archs) ?
Because some elements in machine.h are different between 32 & 64 bits and some modules (toolboxes) relies on it.