This file is indexed.

/usr/share/doc/refdb/refdb-manual/ch04s04.html is in refdb-doc 1.0.2-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Installation on Linux and other Unix variants</title><link rel="stylesheet" type="text/css" href="manual.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="RefDB handbook" /><link rel="up" href="ch04.html" title="Chapter 4. Installation" /><link rel="prev" href="ch04s03.html" title="Things to know before you start" /><link rel="next" href="ch04s05.html" title="Installation on Windows NT/2000/XP" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Installation on Linux and other Unix variants</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Installation</th><td width="20%" align="right"> <a accesskey="n" href="ch04s05.html">Next</a></td></tr></table><hr /></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="sect1-installation-linux"></a>Installation on Linux and other Unix variants</h2></div></div></div><p>RefDB was designed with portability in mind. Thanks to the GNU autotools installation on many Unix variants is straightforward, others need only a little tweaking. The following instructions provide a guideline for all Unix-like systems. Please see also the hints for specific operating systems at the end of this section.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="sect2-generic-instructions"></a>Generic instructions</h3></div></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67229616"></a>Prerequisites</h4></div></div></div><p>These instructions assume that the following software is installed and functional on your computer or on your network before you start:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>A SQL database engine. For an external database server, choose between <a class="ulink" href="http://www.mysql.com" target="_top">MySQL</a> (version 3.23 or later) or <a class="ulink" href="http://www.postgresql.org" target="_top">PostgreSQL</a> (version 7.1 or later). The database server does not have to physically run on the box(es) where you plan to install RefDB, it is sufficient if it is accessible through the network.</p><p>If you prefer an embedded database engine, please use <a class="ulink" href="http://www.sqlite.org" target="_top">SQLite</a> instead.</p></li><li class="listitem"><p>As far as non-standard libraries and header files are concerned, you'll need the readline library and headers (available at the <a class="ulink" href="ftp://ftp.gnu.org/readline/" target="_top">GNU FTP site</a>). Database access requires the <a class="ulink" href="http://sourceforge.net/projects/libdbi" target="_top">libdbi library</a> and headers as well as the <a class="ulink" href="http://sourceforge.net/projects/libdbi-drivers" target="_top">libdbi-drivers</a> package. Furthermore, you`ll need the <a class="ulink" href="http://sourceforge.net/projects/expat" target="_top">expat</a> library. If you need the BibTeX import filter, you'll also want to have the <a class="ulink" href="http://www.ctan.org/tex-archive/biblio/bibtex/utils/btOOL/" target="_top">btparse</a> library.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Some operating systems/distributions use separate packages for the run-time libraries (ususally <code class="filename">.so</code> files) and for the development libraries (usually <code class="filename">.a</code> files). In order to build and run RefDB, you need both packages for each library.</p></div></li><li class="listitem"><p>If you want to import Pubmed or MARC datasets, please get the <a class="ulink" href="http://sourceforge.net/projects/refdb" target="_top">refdb-perlmod</a> package. This collection of Perl modules is required to run the Pubmed and MARC import filters shipped with RefDB. These Perl modules in turn depend on MARC::Record, MARC::Charset, XML::Parser, and Text::Iconv, available at <a class="ulink" href="http://www.cpan.org" target="_top">CPAN</a>.</p></li></ul></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="sect-install-from-sources-unix"></a>Installation from the sources</h4></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The installation steps proper (as opposed to the build steps) should be run with root privileges.</p></div><div class="procedure"><ol class="procedure" type="1"><li class="step"><p>Unpack the archive in a convenient directory: <span class="command"><strong>tar -xzf refdb-x.y.z.tar.gz</strong></span> (the actual filename depends on the version).</p></li><li class="step"><p>If you do not want to build in the source directory, create an empty build directory.</p></li><li class="step"><p>cd into the new <code class="filename">refdb-x.y.z</code> source directory or into your separate build directory</p></li><li class="step"><p>Use <span class="command"><strong>./configure --help</strong></span> to see a list of things you can customize. If you use a separate build directory, use the relative path to <code class="filename">configure</code> in the source directory. Some important options are:</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>All paths and URLs in the following options should be entered without a trailing slash.</p></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">--prefix=PREFIX</span></dt><dd><p>By default, all files will be installed in the <code class="filename">/usr/local</code> tree. Use this option to use a different install root, e.g. <code class="filename">/usr</code> or <code class="filename">/opt</code>.</p></dd><dt><span class="term">--datadir=DIR</span></dt><dd><p>The data files will be installed in <code class="filename">/usr/local/share/refdb</code> unless you use this option. The data will be installed in the directory <code class="filename">DIR/refdb</code>. That is, specifying "--datadir=/usr/local/share" is equivalent to the default behaviour. The configuration variable <code class="varname">refdblib</code> (which will be automatically generated in the example configuration files) must point to the RefDB data directory.</p></dd><dt><span class="term">--sysconfdir=DIR</span></dt><dd><p>The global configuration files will be installed in <code class="filename">/usr/local/etc/refdb</code> unless you specify a different directory here.</p></dd><dt><span class="term">--with-libdbi-lib=DIR</span></dt><dd><p>Use this option to specify the directory that contains the libdbi library if it is not in the default library path.</p></dd><dt><span class="term">--with-expat-lib=DIR</span></dt><dd><p>Use this option to specify the directory that contains the expat library if it is not in the default library path.</p></dd><dt><span class="term">--with-btparse-lib=DIR</span></dt><dd><p>Use this option to specify the directory that contains the btparse library if it is not in the default library path.</p></dd><dt><span class="term">--with-sgml-declaration=PATH</span></dt><dd><p>Specify the full path to a suitable SGML declaration for your SGML files. If this option is not used, RefDB will use its own copy of <code class="filename">docbook.dcl</code> stolen from the DocBook DTD distribution. This SGML declaration also works for a variety of other DTDs.</p></dd><dt><span class="term">--with-xml-declaration=PATH</span></dt><dd><p>Specify the full path to <code class="filename">xml.dcl</code> which is the SGML declaration for XML files. If this option is not used, RefDB will use its own copy of <code class="filename">xml.dcl</code> which should work just fine.</p></dd><dt><span class="term">--with-docbook-xsl=PATH</span></dt><dd><p>Specify the full path to the root directory of the DocBook XSL stylesheets.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This option is required only on systems that do not maintain XML catalogs. If your system is set up properly to resolve public identifiers like those in the XSL stylesheets by XML catalogs, leave out this option. <span class="command"><strong>configure</strong></span> checks whether the required stylesheets are accessible, so watch out for error messages. If the stylesheets can't be found, either install them, fix your catalogs, or use this option to hardcode the path.</p></div></dd><dt><span class="term">--with-docbook-xsl-ns=PATH</span></dt><dd><p>Specify the full path to the root directory of the DocBook XSL-NS (for DocBook V5.0 and later) stylesheets.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>This option is required only on systems that do not maintain XML catalogs. If your system is set up properly to resolve public identifiers like those in the XSL stylesheets by XML catalogs, leave out this option. <span class="command"><strong>configure</strong></span> checks whether the required stylesheets are accessible, so watch out for error messages. If the stylesheets can't be found, either install them, fix your catalogs, or use this option to hardcode the path.</p></div></dd><dt><span class="term">--with-tei-xsl=PATH</span></dt><dd><p>Specify the full path to the root directory of the TEI XSL stylesheets for P4.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>As mentioned above for the DocBook stylesheets, use this option only if your catalogs cannot resolve the public identifiers properly. The <a class="ulink" href="http://www.tei-c.org" target="_top">TEI Consortium</a> ships <a class="ulink" href="http://sourceforge.net/project/showfiles.php?group_id=106328&amp;package_id=141124" target="_top">tei-xsl-5.2.9.zip</a> which contains the stylesheets for both p4 and p5. The root directory which you want to specify here is the directory which contains the p4 and p5 subdirectories, e.g. <code class="filename">/usr/local/share/xsl/tei-xsl-5.2.9</code>.</p></div></dd><dt><span class="term">--with-tei-xsl-ns=PATH</span></dt><dd><p>Specify the full path to the root directory of the TEI XSL stylesheets for P5.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>As mentioned above for the DocBook stylesheets, use this option only if your catalogs cannot resolve the public identifiers properly. The <a class="ulink" href="http://www.tei-c.org" target="_top">TEI Consortium</a> ships <a class="ulink" href="http://sourceforge.net/project/showfiles.php?group_id=106328&amp;package_id=141124" target="_top">tei-xsl-5.2.9.zip</a> which contains the stylesheets for both p4 and p5. The root directory which you want to specify here is the directory which contains the p4 and p5 subdirectories, e.g. <code class="filename">/usr/local/share/xsl/tei-xsl-5.2.9</code>.</p></div></dd><dt><span class="term">--with-classpath-root=PATH</span></dt><dd><p>The refdbxml script assumes that all Java classes for the Java parsers and xslt engines are stored in a class repository, i.e. all in the same directory. Specify this directory with this option. If you keep the relevant Java classes in different directories, either create symlinks or customize refdbxml manually.</p></dd><dt><span class="term">--with-var-dir=PATH</span></dt><dd><p>Use this option to specify a directory where refdbd can write its PID file (a file containing the process ID). By default, <code class="filename">/var/run</code> will be used.</p></dd><dt><span class="term">--with-log-dir=PATH</span></dt><dd><p>Use this option to specify a directory where RefDB programs can write log files to, if logging is directed to a custom file. By default, <code class="filename">/var/log</code> will be used.</p></dd><dt><span class="term">--with-main-db=dbname</span></dt><dd><p>RefDB uses one main database to store citation styles and other stuff. There is exactly one such database per installation with the default name <code class="filename">refdb</code>.  You may have to change this name if you want to run two different versions of RefDB in parallel, or if you're not free to choose your database name. Although the main database name is configurable at runtime, you should use this option to initialize your <code class="filename">refdbdrc</code> configuration file, as it allows the <a class="link" href="re09.html" title="refdb-init">refdb-init</a> script to use the proper database name.</p></dd><dt><span class="term">--with-db-dir</span></dt><dd><p>Selects the directory which holds SQLite/SQLite3 databases.</p></dd><dt><span class="term">--with-trang-jar</span></dt><dd><p>Specifies the full path to the jar file of the <a class="ulink" href="http://www.thaiopensource.com/relaxng/trang.html" target="_top">trang</a> tool. You need this tool if you build RefDB from SVN sources, but not if you build from a tarball.</p></dd><dt><span class="term">--disable-docs</span></dt><dd><p>RefDB ships with prebuilt docs. However, if you build a SVN version, or if the documentation is otherwise screwed up, you may have to build them. Building the docs from the sources requires a couple of extra tools. You can use this configure switch to build the rest of RefDB without having to install these tools.</p></dd><dt><span class="term">--disable-clients</span></dt><dd><p>Use this switch if you want to build and install only the application server <code class="filename">refdbd</code>. This is mainly targeted at package builders.</p></dd><dt><span class="term">--disable-server</span></dt><dd><p>Use this switch if you want to build and install only the clients but not the application server. This is mainly targeted at package builders.</p></dd></dl></div><p>Some of these options are used to customize the shell scripts, XSL stylesheets, example configuration files, and HTML files which are part of RefDB. If you do not specify these options now, you can still build and install the package, but you will have to customize the scripts and stylesheets manually in order to make them work. Doing it now is <span class="emphasis"><em>much</em></span> easier. You've been warned.</p><p>Start the configuration with the command <span class="command"><strong>./configure</strong></span>, specifying any additional options as you may need. Use the relative path to <code class="filename">configure</code> in the source directory if you build in a separate directory.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If your system keeps non-system header files in odd places, it may be necessary to set the <code class="envar">CFLAGS</code> environment variable before you run <code class="filename">configure</code>. E.g. if headers like <code class="filename">expat.h</code> are stored in <code class="filename">/usr/local/include</code>, you should run <span class="command"><strong>CFLAGS="-I/usr/local/include" ./configure</strong></span> instead, specifying additional options as necessary.</p></div></li><li class="step"><p>
	      <span class="command"><strong>make</strong></span>
	    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The autotools-generated Makefiles apparently prefer (or require?) GNU make. If <span class="command"><strong>make</strong></span> results in spurious error messages <span class="emphasis"><em>about the Makefile syntax</em></span>, try to run <span class="command"><strong>gmake</strong></span> instead as your regular <code class="filename">make</code> is apparently not the GNU version.</p></div></li><li class="step"><p>
	      <span class="command"><strong>make install</strong></span>
	    </p><p>This will install the binaries and scripts in <code class="filename">/usr/local/bin</code> and the data in <code class="filename">/usr/local/share/refdb</code> unless you chose different directories in the configure step. Again, run <span class="command"><strong>gmake install</strong></span> instead if your regular <code class="filename">make</code> is not the GNU version.</p></li><li class="step"><p>To finish the installation, please follow the instructions in the section <a class="link" href="ch04s08.html" title="Finishing the RefDB installation">Finishing the RefDB installation</a> below.</p></li></ol></div><p>If this procedure results in strange error messages, you probably use a platform that is not supported yet. The author appreciates a porting effort or a description of the problem (in this particular order).</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67345072"></a>Living on the bleeding edge: installing a SVN version</h4></div></div></div><p>While the official release versions of RefDB are your best bet to get a stable installation, you may be interested to test the latest developments "in statu nascendi". The SVN version is guaranteed to compile on the author's development platform (currently FreeBSD 6.1), but may fail on other platforms. Known bugs may have been fixed, but new ones may have crept in as well. New features may be implemented, but might not be without problems. You've been warned. If you still want to go ahead, this is what you need to do:</p><div class="procedure"><ol class="procedure" type="1"><li class="step"><p>Change into a suitable directory. SVN will create a subdirectory called <code class="filename">refdb</code> during the following steps</p></li><li class="step"><p>Run the following command (adapt this accordingly if you use some graphical CVS frontend instead of the command line tool):</p><pre class="screen">
	      <code class="prompt">$~/build </code>
	      <strong class="userinput"><code>svn co https://svn.sourceforge.net/svnroot/refdb/refdb/trunk refdb</code></strong>
	    </pre><p>Other interesting modules to check out are <code class="filename">perlmod</code> (the Perl modules and the Perl client library) and <code class="filename">elisp</code> (the Emacs support files).</p><p>If you are interested in a particular repository version, release, or branch, use commands along these lines:</p><pre class="screen">
	      <code class="prompt">$~/build </code>
	      <strong class="userinput"><code>svn co --revision 324 https://svn.sourceforge.net/svnroot/refdb/refdb/trunk refdb-324</code></strong>
	      <strong class="userinput"><code>svn co https://svn.sourceforge.net/svnroot/refdb/refdb/tags/Release-0.9.7 refdb-0.9.7</code></strong>
	      <strong class="userinput"><code>svn co https://svn.sourceforge.net/svnroot/refdb/refdb/branches/back-to-a-1-branch refdb-a1-branch</code></strong>
	    </pre></li><li class="step"><p>If you want to keep track of the latest developments, you'll have to update your SVN working copy once in a while. Run this command from within the top-level source directory:</p><pre class="screen">
	      <code class="prompt">$~/build/refdb </code>
	      <strong class="userinput"><code>svn update</code></strong>
	    </pre><p>Consider subscribing to the refdb-cvs mailing list as you'll be notified about each SVN checkin.</p></li><li class="step"><p>The SVN version lacks all autotool-generated files. You'll have to create them with your local autotools. RefDB contains a small script called <code class="filename">autogen.sh</code> in its top-level directory which performs all necessary steps.</p><pre class="screen">
	      <code class="prompt">$~/build/refdb </code>
	      <strong class="userinput"><code>./autogen.sh</code></strong>
	    </pre><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The autotools can cause severe headaches at times. If the above command causes errors, read <code class="filename">autogen.sh</code> and run the commands manually, substituting different versions as appropriate. E.g. substitute <span class="command"><strong>automake</strong></span> with <span class="command"><strong>automake-1.8</strong></span> if this gives better results. The native autotools shipped with FreeBSD 5.4 and later are unusable for our purposes, you have to install the gnu-autotools package instead. You have to modify your <code class="envar">PATH</code> to pick up the latter, and fiddle with the m4 macro paths in order to see the light.</p></div></li><li class="step"><p>The SVN version also lacks a few other things which are included in the source tarballs. In order to create the missing stuff, you'll need the following additional tools:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><a class="ulink" href="http://xml.apache.org/batik/svgrasterizer.html" target="_top">Batik SVG Rasterizer</a>: an image converter used to create the images from the <acronym class="acronym">SVG</acronym> sources. The Makefile calls a script in your path called <code class="filename">rasterizer</code> which is supposed to run this Java application appropriately.</p></li><li class="listitem"><p><a class="ulink" href="http://dtdparse.sourceforge.net" target="_top">dtdparse</a>: a Perl script (which in turn depends on a few Perl modules, see the installation instuctions) which generates the DTD documentation.</p></li><li class="listitem"><p><a class="ulink" href="http://www.thaiopensource.com/relaxng/trang.html" target="_top">trang</a>: a tool required to turn the RefDB DTDs into RelaxNG schemas.</p></li></ul></div><p>To work around problems, you may want to use the following <span class="command"><strong>./configure</strong></span> switches:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>--with-trang-jar=PATH</p></li><li class="listitem"><p>--disable-docs</p></li></ul></div></li><li class="step"><p>Finally you're ready to build RefDB like you would with a <a class="link" href="ch04s04.html#sect-install-from-sources-unix" title="Installation from the sources">released version</a>.</p></li></ol></div><p>There is also a neat shell script available on the RefDB <a class="ulink" href="http://refdb.sourceforge.net/download.html" target="_top">download page</a> which helps you to keep a SVN version up to date with a minimum number of keystrokes.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67386016"></a>Installation of refdbd as a daemon</h4></div></div></div><p>This is all it takes to run RefDB from the command line. If you want to start refdbd as a daemon at system startup, a few more steps are necessary. The exact procedure varies greatly between operating systems and distributions. First we'll look at SysV-style systems (most Linux distributions), then at BSD-style systems (BSD-derived Unices and the Slackware Linux distribution).</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="idp67387584"></a>SysV-style</h5></div></div></div><p>The following procedure describes the setup on a Debian GNU/Linux system. With a little help of your system handbook you should be able to adapt this to your system. On many systems <code class="filename">/etc/init.d/README</code> contains just what you need to know or at least it points you to the correct resources.</p><div class="procedure"><ol class="procedure" type="1"><li class="step"><p>Review the parameters in the script <code class="filename">refdb</code> in the <code class="filename">scripts</code> directory of the source distribution (this file is not automatically installed). If necessary, change the paths and names to your needs and adapt the following steps. Make sure the <code class="varname">BSDSTYLE</code> variable is set to "NO" (this is the default value).</p></li><li class="step"><p>Copy the script <code class="filename">refdb</code> to <code class="filename">/etc/init.d/</code> and make sure it is executable: <span class="command"><strong>chmod 755 /etc/init.d/refdb</strong></span>.</p></li><li class="step"><p>Create symbolic links from every runlevel directory that should start refdbd to <code class="filename">/etc/init.d/refdb</code>, e.g. <span class="command"><strong>ln -s /etc/init.d/refdb /etc/rc2.d/S93refdb</strong></span>. The numbers in the link names are a convenient and simple way to determine the sequence of daemon starts. As most likely no other daemons rely on RefDB, you can choose as high a number as you want (the daemons are started in lexicographical order).</p></li><li class="step"><p>In analogy to the previous step, generate symbolic links in every runlevel directory that should stop the daemon. Usually these are the runlevels 0 (system halt) and 6 (reboot):</p><p>
		<span class="command"><strong>ln -s /etc/init.d/refdb /etc/rc0.d/K20refdb</strong></span>
	      </p><p>
		<span class="command"><strong>ln -s /etc/init.d/refdb /etc/rc6.d/K20refdb</strong></span>
	      </p></li><li class="step"><p>Review the settings in the script <code class="filename">refdbctl</code> which by default is installed in <code class="filename">/usr/local/bin/</code>. Most likely the script was properly customized for your system in the build step so you don't have to change anything.</p></li></ol></div><p>When you boot, halt, or reboot the system you should see messages on the screen telling you that the daemon has been started or stopped successfully. If you don't, please check again all paths in the scripts, the file permissions, and the runlevels you're looking at. Try to run the control script from the command line, e.g. <span class="command"><strong>refdbctl start</strong></span>, to distinguish between general setup problems and init-related setup problems.</p></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="idp67408192"></a>BSD-style</h5></div></div></div><p>The following procedure describes the installation on a FreeBSD system. Other systems might differ somewhat, but you should get the idea.</p><div class="procedure"><ol class="procedure" type="1"><li class="step"><p>Review the parameters in the script <code class="filename">refdb</code> in the <code class="filename">scripts</code> directory of the source distribution (this file is not automatically installed). Set the value of the script variable <code class="varname">BSDSTYLE</code> to "YES" (the sole purpose of this variable is to make the boot message blend in seamlessly, if you happen to care for aesthetics). If necessary, change the paths and names to your needs and adapt the following steps.</p></li><li class="step"><p>Copy the script <code class="filename">refdb</code> to <code class="filename">/usr/local/etc/rc.d/refdb.sh</code> and make sure it is executable: <span class="command"><strong>chmod 755 /usr/local/etc/rc.d/refdb.sh</strong></span>.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The suffix <code class="filename">.sh</code> is mandatory on BSD-style systems.</p></div></li><li class="step"><p>Review the settings in the script <code class="filename">refdbctl</code> which by default is installed in <code class="filename">/usr/local/bin/</code>. Most likely the script was properly customized for your system in the build step so you don't have to change anything.</p></li></ol></div><p>When you boot, halt, or reboot the system you should see messages on the screen telling you that the daemon has been started or stopped. If you don't, please check again all paths in the scripts and the file permissions. Try to run the control script from the command line, e.g. <span class="command"><strong>refdbctl start</strong></span>, to distinguish between general setup problems and system-related setup problems.</p></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="idp67423328"></a>OS-specific hints</h3></div></div></div><p>This section contains a few hints about the installation on some popular Unix-like operating systems.</p><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67424592"></a>Linux</h4></div></div></div><p>The <a class="link" href="ch04s04.html#sect2-generic-instructions" title="Generic instructions">generic instructions</a> should work out of the box for most if not all Linux distributions.</p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a id="idp67426560"></a>Debian GNU/Linux</h5></div></div></div><p><a class="ulink" href="http://www.debian.org" target="_top">Debian</a> keeps all configuration files in <code class="filename">/etc</code> and subdirectories thereof which makes backing up the configuration of the whole box a breeze. To support this nice feature, you want to add <code class="option">--sysconfdir=/etc</code> to your configure options. The configuration files will then be in <code class="filename">/etc/refdb</code>. The following is an example of a complete configure call that works on Debian 3.0 (the line was split into several lines for the sake of clarity; type everything on one line and skip the backslashes):</p><pre class="screen">
	    <code class="prompt">#~ </code>
	    <strong class="userinput"><code>./configure --sysconfdir=/etc \
	    --with-docbook-xsl=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh \
	    --with-tei-xsl=/usr/local/lib/sgml/stylesheet/xsl</code></strong>
	  </pre></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67433744"></a>FreeBSD</h4></div></div></div><p>The BSD version of <span class="command"><strong>make</strong></span> cannot handle the autotools-generated Makefiles correctly. Use gmake instead, and set CFLAGS=-I/usr/local/include during the configuration step. The full configure command, using the default installation paths for the accessory files and programs, looks like this:</p><pre class="screen">
	  <code class="prompt">#~ </code>
	  <strong class="userinput"><code>CFLAGS=-I/usr/local/include ./configure --with-expat-lib=/usr/local/lib \
	  --with-classpath-root=/usr/local/share/java/classes </code></strong>
	</pre><p>The shared data end up in <code class="filename">/usr/local/share/refdb</code>, the configuration files will be in <code class="filename">/usr/local/etc/refdb</code>.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67440800"></a>NetBSD</h4></div></div></div><p>The BSD version of <span class="command"><strong>make</strong></span> cannot handle the autotools-generated Makefiles correctly. Use gmake instead, and set the following environment variables before running <span class="command"><strong>./configure</strong></span>:</p><pre class="screen">
	  <code class="prompt">#~ </code>
	  <strong class="userinput"><code>setenv CFLAGS "-I/usr/pkg/include -I/usr/local/include -L/usr/pkg/lib"</code></strong>
	</pre><pre class="screen">
	  <code class="prompt">#~ </code>
	  <strong class="userinput"><code>setenv LDFLAGS "-L/usr/pkg/lib  -R/usr/pkg/lib -R/usr/pkg/lib/mysql"</code></strong>
	</pre><pre class="screen">
	  <code class="prompt">#~ </code>
	  <strong class="userinput"><code>./configure --with-mysqlclient-lib=/usr/pkg/lib/mysql --with-btparse-lib=/usr/local/lib --prefix=/usr/pkg</code></strong>
	</pre><p>Use additional options as needed. The shared data will end up in <code class="filename">/usr/pkg/share/refdb</code>, the configuration files go to <code class="filename">/usr/pkg/etc/refdb</code>.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67452880"></a>Solaris</h4></div></div></div><p>Both the standard C compiler and the standard make program will not give the desired results when building RefDB. Use gcc and gmake instead.</p></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a id="idp67454352"></a>OSX</h4></div></div></div><p>Use <a class="ulink" href="http://fink.sourceforge.net" target="_top">fink</a> to conveniently install all the additional software needed. Then help <span class="command"><strong>configure</strong></span> find the fink-installed packages in <code class="filename">/sw</code> by setting the following environment variables: <span class="command"><strong>CFLAGS="-I/sw/include" LDFLAGS="-L/sw/lib" ./configure [your_options]</strong></span>.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Things to know before you start </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Installation on Windows NT/2000/XP</td></tr></table></div></body></html>