NOTE: this document describes early OpenIsis packages up to 0.9.1.
For updated information please refer to
Start by downloading the Software.
Unpack everything in some arbitrary directory.
For the tests, you will also need some isis database,
which must be located as files db/cds/cds.*, see downloads.
Make sure filenames are lowercase.
If you are on Windows, you should either get yourself the cygwin
environment with tools like gmake and gcc or volunteer as a porter and
start writing the Makefile for your make and compiler. Erik has build
a Windows version using mingw and Linux gcc as crosscompiler. If you
are on Linux, everything is fine. Ports to MAC OS X and other UNIXes
should be no problem.
Type "make" and enjoy the compiler messages.
(If your make complains, e.g. on BSD, try "gmake").
Type "make demo" and enjoy your first open isis record.
(You installed a db/cds/cds.*, didn't you? It has more than 42 rows?)
Type "make run" and watch the guts of your db passing by.
Type "make test", there should be no difference between the testout.txt and
the testres.txt as provided (using the cds database from winisis
and the 15 MB 58.000+ row unesb db, see downloads).
Type "make time" to measure performance,
subsequent tries are usually much faster.
My 800 MHz P3 random-reads more than 179.000 records a second,
once the files are in the system cache.
time ./openisis -perf 1000000 -db db/cds/cds >/dev/null
time ./openisis -perf 100000 -db db/unesb/unesb >/dev/null
time ./openisis -fmt mfnf -search 'k$' -db db/unesb/unesb >/dev/null
860 rows for k
Type "make perl" to build the perl stuff;
some perl 5.* must be installed beforehand.
Type "make java" or, if you just can't get enough, "make jdump",
to see it all happen in your shiny new JDK1.3 Java VM.
Some 1.2.* JDKs should do, but tell the Makefile to not look
in /usr/java/jdk1.3 by setting JAVAHOME.
| installing openisis |
libopenisis.a can be linked with your code; no installation necessary.
You may wan't to install the 'openisis' binary somewhere in your path
for the fun of it; go ahead, just copy, no magic registry entries.
To install the perl stuff for general availability in your
/usr/lib/perl5 or whatever, cd to the perl subdir (after "make perl")
and issue "make install" (as root or otherwise legitimated).
After that, try "perldoc OpenIsis" and the demo.pl script.
Java, like perl, needs to dynamically slurp both some stuff in the own
language and a native shared object. The former is openisis.jar, set
your CLASSPATH to include it, or specify when invoking java like in
the Makefile. The latter is libopenjsis.so on linux (yes, it's jsis).
The system dynamic linker must be able to find it;
For latest versions see
Available for download:
| Sources |
Current version 0.9.1
contains only a few bug fixes over 0.9.0,
notably AND and NOT queries on new-style index files.
includes tons of new stuff, most of which is working pretty stable. See
for version notes.
Also available are the older versions
has sources for the PHP binding.
All are in tar.gz format and include some documentation.
Alternative download from
There also is a more or less 0.8.6-based version
adapted for M$ VC
| Databases |
(~53KB, 160 rows, needed for tests),
(~40KB, a writable, Latin-1 encoded copy of CDS, used by new Tcl/Tk demos),
(about 15 MB, 58.000 rows)
| Binaries |
contains windows binaries of Braulio's release 1.0 of the PHP-binding,
including openisis.dll 0.8.6
(mingw32 cross-build) includes the openisis.dll and Java stuff.
should work on all win32 platforms from win95b on.
Note: If you want to use java you will need the JDK1.3.x
The current windows version is not yet thread-safe, so using it
with a Java servlet engine under windows requires some care.
A perl DLL for Win32
(based on 0.8.6, I think) by
( build on solaris 5.8 ). Please
us if you need a more up-to-date solaris binary.
Note: the JDK shipped with solaris 5.7 / 5.8 ( java 1.2 ) should