ht://Dig Copyright © 1995-2004 The ht://Dig Group
Please see the file COPYING for
license information.
This document will attempt to show the steps needed to build
and install the ht://Dig system.
The main sections are:
The standard GNU installation process works for ht://Dig.
./configure --prefix=/usr/local
make
make install
vi /usr/local/conf/htdig.conf
/usr/local/bin/rundig
(The final three commands must be issued as root.)
The distribution of ht://Dig is in the form of a gzipped tar
file. The name of the file will be something like
htdig-3.2.0.tar.gz
. To extract, you can use either the GNU
tar command as follows:
% tar xzf tarfile.tar.gz
If you do not have GNU tar, you can do the following:
% gunzip -c tarfile.tar.gz | tar xf -
In either case, a new directory will be created under which the
distribution will be extracted. The directory it creates will
be htdig-
followed by the version number.
Once the distribution has been extracted, change to the newly
created directory.
In this directory you will need execute the configure
program:
% ./configure
This program will attempt to determine what your particular system can and can't do.
If you are going to change any of the sources to ht://Dig, then you can optionally add dependency information to all the Makefiles before running configure with the command
% automake
This only needs to be done if you are going to change any of the sources to ht://Dig and requires GCC.
The configure program has some ht://Dig specific options in addition to the standard ones that you get when running
./configure --help
--prefix=DIR
--bindir=DIR
--with-config-dir=DIR
--with-default-config-file=FILE
--with-common-dir=DIR
--with-database-dir=DIR
--with-cgi-bin-dir=DIR
--with-image-dir=DIR
--with-image-url-prefix=LOCATION
--with-image-dir=DIR
option above
[default=/htdig].
--with-search-dir=FILE
--with-search-form=FILE
--with-search-dir=DIR
[default=search.html].
The configure program will have created Makefiles in all the important directories.
If make is not able to deal with the generated Makefiles, you should probably obtain GNU make.
Now build the complete system with
% make
(Sit back and relax for a while...)
If the compilation failed with the error that it cannot find libht.a, the most likely problem is that your system does not have libstdc++ installed. Please check the system requirements for details on this.
Once built, you can run tests if you provided the
--enable-tests
at configure time. These tests
require that you have a working
Apache daemon available with
version >= 1.3.1. To run the tests execute:
If your Apache daemon is
installed in a non standard place, specify it with the
--with-apache=PATH
configure option.
% make check
Everything should have built at this point. To install the software, you need to execute
% make install
This will perform several tasks. It will first attempt to
create the directories that you specified to ./configure.
It will then copy the following programs to the
--bindir=DIR
directory:
It will also copy the htsearch program to your
--with-cgi-bin-dir=DIR
directory.
After this, several files will be customized and installed. Here is a list of the files that get installed:
--with-config-dir=DIR
/htdig.conf- A minimal config file which can be used to create a search database for http://www.htdig.org/
--with-search-form=FILE
- A sample HTML document that contains a search form.
--with-common-dir=DIR
/footer.html- A sample HTML document that can be used as the search results footer.
--with-common-dir=DIR
/header.html- A sample HTML document that can be used as the search results header.
--with-common-dir=DIR
/nomatch.html- A sample HTML document that can be used if nothing was found.
--with-common-dir=DIR
/syntax.html- A sample HTML document that will be displayed if the user entered an illegal boolean expression. found.
--with-common-dir=DIR
/english.0- Default list of words with affixes that is used by htfuzzy.
--with-common-dir=DIR
/english.aff- Default affix rule database that is used by htfuzzy.
--with-image-dir=DIR
/star.gif- The default star image that is used to rank matches.
--with-image-dir=DIR
/star_blank.gif- The default placeholder image that is the same size as the star, but is blank. This is used to align the results in the short listing.
--with-image-dir=DIR
/htdig.gif- The nifty ht://Dig logo.
--with-image-dir=DIR
/button*.gif- Sample images used to show the search result pages.
--bindir=DIR
/rundig- A sample shell script which will create a database.
--prefix=DIR
/lib/htdig/*.{a,so}- The shared and static libraries.
--prefix=DIR
/include/htdig/*.h- The header files that allow anyone to develop a program based on the internals of htdig.
Note that these files will never replace any existing files that may already be installed.
It is also important to note that these files are mostly examples. As they stand, they will work, but you probably want to modify them to reflect your needs.
After the installation, you will be ready to test out
everything. You can use the rundig
script to make a
test database of the online documentation at
http://www.htdig.org/
The only thing left to do is to modify the
htdig.conf
config file which was placed in
--with-config-dir=DIR
/htdig.conf. The
Configuration manual has the details on how what
attributes are needed.
Then, you'll be ready to begin
running ht://Dig.
By default ht://Dig is compiled with shared libraries. If
running on a platform other than Linux or FreeBSD, this may
be a problem. We recommend that you compile with the
--disable-shared
configure option.
If you installed with shared libraries, you must be sure the system will find them. Usually it's done by adding the prefix/lib/htdig directory to the LD_LIBRARY_PATH. This is really system dependent and you must check your documentation.
Mac OS X cannot handle ht://Dig's shared libraries.
Use
./configure --disable-shared --enable-static
.
Solaris cc has problems with long file offsets.
Use
./configure --disable-bigfile
.
HP-UX 10.20 does not handle ./configure. Sorry.