1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

root/trunk/smartmontools/INSTALL @ 2925

Revision 2925, 28.3 KB (checked in by chrfranke, 4 years ago)

Windows: Check support of gcc '-mno-cygwin' option in configure.
Update INSTALL instructions accordingly.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1Smartmontools installation instructions
2=======================================
3
4$Id$
5
6Please also see the smartmontools home page:
7http://smartmontools.sourceforge.net/
8
9Table of contents:
10
11[1] System requirements
12[2] Installing from SVN
13[3] Installing from source tarball
14[4] Guidelines for different Linux distributions
15[5] Guidelines for FreeBSD
16[6] Guidelines for Darwin
17[7] Guidelines for NetBSD
18[8] Guidelines for Solaris
19[9] Guidelines for Cygwin
20[10] Guidelines for Windows
21[11] Guidelines for OS/2, eComStation
22[12] Guidelines for OpenBSD
23[13] Comments
24[14] Detailed description of ./configure options
25
26[1] System requirements
27=======================
28
29    A) Linux
30
31    Any Linux distribution will support smartmontools if it has a
32    kernel version greater than or equal to 2.2.14. So any recent
33    Linux distribution should support smartmontools.
34
35    There are two parts of smartmontools that may require a patched or
36    nonstandard kernel:
37
38    (1) To get the ATA RETURN SMART STATUS command, the kernel needs
39    to support the HDIO_DRIVE_TASK ioctl().
40
41    (2) To run Selective Self-tests, the kernel needs to support the
42    HDIO_DRIVE_TASKFILE ioctl().
43
44    If your kernel does not support one or both of these ioctls, then
45    smartmontools will "mostly" work.  The things that don't work will
46    give you harmless warning messages.
47
48    Although "not officially supported" by the developers, smartmontools
49    has also been successfully build and run on a legacy Linux system
50    with kernel 2.0.33 and libc.so.5. On such systems, the restrictions
51    above apply.
52
53    For item (1) above, any 2.4 or 2.6 series kernel will provide
54    HDIO_DRIVE_TASK support.  Some 2.2.20 and later kernels also
55    provide this support IF they're properly patched and
56    configured. [Andre Hedrick's IDE patches may be found at
57    http://www.funet.fi/pub/linux/kernel/people/hedrick/ide-2.2.20/ or
58    are available from your local kernel.org mirror.  They are not
59    updated for 2.2.21 or later, and may contain a few bugs.].
60    If the configuration option CONFIG_IDE_TASK_IOCTL
61    exists in your 2.2.X kernel source code tree, then your 2.2.X
62    kernel will probably support this ioctl. [Note that this kernel
63    configuration option does NOT need to be enabled. Its presence
64    merely indicates that the required HDIO_DRIVE_TASK ioctl() is
65    supported.]
66
67    For item (2) above, your kernel must be configured with the kernel
68    configuration option CONFIG_IDE_TASKFILE_IO enabled.  This
69    configuration option is present in all 2.4 and 2.6 series
70    kernels. Some 2.2.20 and later kernels also provide this support
71    IF they're properly patched and configured as described above.
72
73    Please see FAQ section of the URL above for additional details.
74
75    If you are using 3ware controllers, for full functionality you
76    must either use version 1.02.00.037 or greater of the 3w-xxxx
77    driver, or patch earlier 3ware 3w-xxxx drivers.  See
78    http://smartmontools.sourceforge.net/3w-xxxx.txt
79    for the patch.  The version 1.02.00.037 3w-xxxx.c driver was
80    incorporated into kernel 2.4.23-bk2 on 3 December 2003 and into
81    kernel 2.6.0-test5-bk11 on 23 September 2003.
82
83    B) FreeBSD
84
85    For FreeBSD support, a 5-current kernel that includes ATAng is
86    required in order to support ATA drives.  Even current versions of
87    ATAng will not support 100% operation, as the SMART status can not
88    be reliably retrieved.  There is patch pending approval of the
89    ATAng driver maintainer that will address this issue.
90
91    C) Solaris
92
93    The SCSI code has been tested on a variety of Solaris 8 and 9
94    systems.  ATA/IDE code only works on SPARC platform.  All tested
95    kernels worked correctly.
96
97    D) NetBSD/OpenBSD
98
99    The code was tested on a 1.6ZG (i.e., 1.6-current) system. It should
100    also function under 1.6.1 and later releases (unverified).  Currently
101    it doesn't support ATA devices on 3ware RAID controllers.
102
103    E) Cygwin
104
105    The code was tested on Cygwin 1.5.7, 1.5.11 and 1.5.18-22. It should
106    also work on other recent releases.
107
108    Release 1.5.15 or later is recommended for Cygwin smartd. Older versions
109    do not provide syslogd support.
110
111    Both Cygwin and Windows versions of smartmontools share the same code
112    to access the IDE/ATA or SCSI devices. The information in the "Windows"
113    section below also applies to the Cygwin version.
114
115    F) Windows
116
117    The code was tested on Windows 98SE, NT4(SP5,SP6), 2000(SP4),
118    XP(no SP,SP1a,SP2) and Vista RC 1. It should also work on Windows
119    95(OSR2), 98, ME and 2003.
120
121    On 9x/ME, only standard (legacy) IDE/ATA devices 0-3 are supported.
122    The driver SMARTVSD.VXD must be present in WINDOWS\SYSTEM\IOSUBSYS
123    to get loaded at Windows startup. The default location in a new
124    installation of some versions of Windows is the WINDOWS\SYSTEM folder.
125    In this case, move SMARTVSD.VXD to WINDOWS\SYSTEM\IOSUBSYS and reboot
126    (http://support.microsoft.com/kb/265854/en-us).
127    SMARTVSD.VXD may also be missing in a new installation
128    (http://support.microsoft.com/kb/199886/en-us).
129
130    SMARTVSD.VXD relies on the standard IDE port driver ESDI_506.PDR.
131    If the system uses a vendor specific driver, access of SMART data
132    is not possible on 9x/ME. This is the case if e.g. the optional
133    "IDE miniport driver" is installed on a system with VIA chipset.
134
135    Some ATA controllers (e.g. Promise) provided a custom SMARTVSD.VXD
136    for their Win9x/ME driver. To access SMART data from both the legacy
137    (/dev/h[a-d]) and this additional (/dev/hd[e-h]) controller, rename
138    this file to SMARTVSE.VXD. Open the file with a hex editor and replace
139    all occurrences of the string "SMARTVSD" with "SMARTVSE". Then reinstall
140    the original Windows SMARTVSD.VXD.
141
142    On NT4/2000/XP/2003, ATA or SATA devices are supported if the device
143    driver implements the SMART IOCTL.
144
145    The IDE/ATA read log command (smartctl -l, --log, -a, --all) is
146    not supported by the SMART IOCTL of NT4/2000/XP. Undocumented
147    and possibly buggy system calls are used for this purpose,
148    see WARNINGS file for details.
149
150    SCSI devices are supported on all versions of Windows. An installed
151    ASPI interface (WNASPI32.DLL) is required to access SCSI devices.
152    The code was tested with Adaptec Windows ASPI drivers 4.71.2.
153    (http://www.adaptec.com/en-US/support/scsi_soft/ASPI/ASPI-4.70/)
154    Links to other ASPI drivers can be found at http://www.nu2.nu/aspi/.
155
156    3ware 9000 RAID controllers are supported using new features available
157    in the Windows driver release 9.4.0 (3wareDrv.sys 3.0.2.70) or later.
158    Older drivers provide SMART access to the first physical drive (port)
159    of each logical drive (unit). If driver support is not available
160    (7000/8000 series, 9000 on XP 64), smartctl can be used to parse SMART
161    data output from CLI or 3DM.
162
163    G) MacOS/Darwin
164
165    The code was tested on MacOS 10.3.4.  It should work from 10.3
166    forwards.  It doesn't support 10.2.
167
168    It's important to know that on 10.3.x, some things don't work
169    (see WARNINGS): due to bugs in the libraries used, you cannot run
170    a short test or switch SMART support off on a drive; if you try,
171    you will just run an extended test or switch SMART support on.  So
172    don't panic when your "short" test seems to be taking hours.
173
174    It's also not possible at present to control when the offline
175    routine runs. If your drive doesn't have it running automatically by
176    default, you can't run it at all.
177
178    SCSI devices are not currently supported.  Detecting the power
179    status of a drive is also not currently supported.
180
181    To summarize this, from another point of view, the things that
182    are not supported fall into two categories:
183
184   * Can't be implemented easily without more kernel-level support,
185     so far as I know:
186     - running immediate offline, conveyance, or selective tests
187     - running any test in captive mode
188     - aborting tests
189     - switching automatic offline testing on or off
190     - support for SCSI
191     - checking the power mode [-n Directive of smartd] (this is not
192       completely impossible, but not by using a documented API)
193
194   * Work on 10.4 and later, but not on 10.3:
195     - switching off SMART (switching *on* works fine)
196     - switching off auto-save (but why would you want to?)
197     - running the short test (that leaves you with only the extended test)
198
199    However, some things do work well.  For ATA devices, all the
200    informational output is available, unless you want something that only
201    an offline test updates.  On many newer Mac OS systems, the
202    hard drive comes with the offline test switched on by default, so
203    even that works.
204
205    H) OS/2, eComStation
206
207    The code was tested on eComStation 1.1, but it should work on all versions
208    of OS/2.
209    Innotek LibC 0.5 runtime is required.
210    Currently only ATA disks are supported, SCSI support will be added.
211
212[2] Installing from SVN
213=======================
214
215    Get the sources from the SVN repository:
216    svn co https://smartmontools.svn.sourceforge.net/svnroot/smartmontools/trunk/smartmontools smartmontools
217
218    Then type:
219    ./autogen.sh
220    and continue with step [3] below, skipping the "unpack the tarball" step.
221
222    The autogen.sh command is ONLY required when installing from
223    SVN. You need GNU Autoconf (version 2.50 or greater), GNU Automake
224    (version 1.7 or greater) and their dependencies installed in order
225    to run it.  You can get these here:
226    http://www.gnu.org/directory/GNU/autoconf.html
227    http://www.gnu.org/directory/GNU/automake.html
228
229[3] Installing from the source tarball
230======================================
231
232    If you are NOT installing from SVN, then unpack the tarball:
233    tar zxvf smartmontools-5.VERSION.tar.gz
234
235    Then:
236    ./configure
237    make
238    make install (you may need to be root to do this)
239
240    As shown (with no options to ./configure) this defaults to the
241    following set of installation directories:   
242    --prefix=/usr/local
243    --sbindir=/usr/local/sbin
244    --sysconfdir=/usr/local/etc
245    --mandir=/usr/local/share/man
246    --with-docdir=/usr/local/share/doc/smartmontools-VERSION
247    --with-initscriptdir=/usr/local/etc/rc.d/init.d
248    --disable-sample
249
250    These will usually not overwrite existing "distribution" installations on
251    Linux Systems since the FHS reserves this area for use by the system
252    administrator.
253
254    For different installation locations or distributions, simply add
255    arguments to ./configure as shown in [4] below.
256
257    If you wish to alter the default C compiler flags, set an
258    environment variable CFLAGS='your options' before doing
259    ./configure, or else do:
260    make CFLAGS='your options'
261
262    The first output line of smartctl and smartd provides information
263    about release number, last SVN checkin date and revison, platform,
264    and package. The latter defaults to "(local build)" and can be
265    changed by the variable BUILD_INFO, for example:
266    make BUILD_INFO='"(Debian 5.39-2)"'
267
268[4] Guidelines for different Linux distributions
269================================================
270
271Note: Please send corrections/additions to:
272smartmontools-support@lists.sourceforge.net
273
274Debian:
275  If you don't want to overwrite any distribution package, use:
276  ./configure
277
278Filesystem Hierarchy Standard (FHS, http://www.pathname.com/fhs/):
279  ./configure --sbindir=/usr/local/sbin                               \
280              --sysconfdir=/usr/local/etc                             \
281              --mandir=/usr/local/man                                 \
282              --with-initscriptdir=/usr/local/etc/rc.d/init.d         \
283              --with-docdir=/usr/local/share/doc/smartmontools-VERSION
284
285Red Hat:
286  ./configure --sbindir=/usr/sbin                               \
287              --sysconfdir=/etc                                 \
288              --mandir=/usr/share/man                           \
289              --with-initscriptdir=/etc/rc.d/init.d             \
290              --with-docdir=/usr/share/doc/smartmontools-VERSION
291
292Slackware:
293  If you don't want to overwrite any "distribution" package, use:
294  ./configure
295
296  Otherwise use:
297  ./configure --sbindir=/usr/sbin                               \
298              --sysconfdir=/etc                                 \
299              --mandir=/usr/share/man                           \
300              --with-initscriptdir=/etc/rc.d                    \
301              --with-docdir=/usr/share/doc/smartmontools-VERSION
302
303  And
304  removepkg smartmontools smartsuite (only root can do this)
305  before make install
306
307  The init script works on Slackware. You just have to add an entry like
308  the following in /etc/rc.d/rc.M or /etc/rc.d/rc.local:
309
310  if [ -x /etc/rc.d/smartd ]; then
311    . /etc/rc.d/smartd start
312  fi
313
314  To disable it:
315  chmod 644 /etc/rc.d/smartd
316
317  For a list of options:
318  /etc/rc.d/smartd
319
320SuSE:
321  ./configure --sbindir=/usr/sbin                                        \
322              --sysconfdir=/etc                                          \
323              --mandir=/usr/share/man                                    \
324              --with-initscriptdir=/etc/init.d                           \
325              --with-docdir=/usr/share/doc/packages/smartmontools-VERSION
326
327[5] Guidelines for FreeBSD
328==========================
329  To match the way it will installed when it becomes available as a PORT, use
330  the following:
331
332  ./configure --prefix=/usr/local                                      \
333              --with-initscriptdir=/usr/local/etc/rc.d/                \
334              --with-docdir=/usr/local/share/doc/smartmontools-VERSION \
335              --enable-sample
336
337  NOTE: --enable-sample will cause the smartd.conf and smartd RC files to
338  be installed with the string '.sample' append to the name, so you will end
339  up with the following:
340        /usr/local/etc/smartd.conf.sample
341        /usr/local/etc/rc.d/smartd.sample
342
343
344[6] Guidelines for Darwin
345=========================
346  ./configure --with-initscriptdir=/Library/StartupItems
347
348  If you'd like to build the i386 version on a powerpc machine, you can
349  use
350
351  CXX='g++ -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386' \
352    ./configure --host=i386-apple-darwin \
353                --with-initscriptdir=/Library/StartupItems
354
355[7] Guidelines for NetBSD/OpenBSD
356=================================
357  ./configure --prefix=/usr/pkg                                       \
358              --with-docdir=/usr/pkg/share/doc/smartmontools
359
360  On OpenBSD, it is important that you use GNU make (gmake from
361  /usr/ports/devel/gmake) to build smartmontools, as the BSD make doesn't
362  know how to make the manpages.
363
364[8] Guidelines for Solaris
365==========================
366
367    smartmontools has been partially but not completely ported to
368    Solaris.  It includes complete SCSI support but no ATA or 3ware
369    support.  It can be compiled with either CC (Sun's C++ compiler)
370    or GNU g++.
371
372    To compile with g++:
373
374    ./configure [args]
375    make
376
377    To compile with Sun CC:
378
379    env CC=cc CXX=CC ./configure [args]
380    make
381
382    The correct arguments [args] to configure are:
383     --sbindir=/usr/sbin                                \
384     --sysconfdir=/etc                                  \
385     --mandir=/usr/share/man                            \
386     --with-docdir=/usr/share/doc/smartmontools-VERSION \
387     --with-initscriptdir=/etc/init.d
388
389    To start the script automatically on bootup, create hardlinks that
390    indicate when to start/stop in:
391                    /etc/rc[S0123].d/
392    pointing to /etc/init.d/smartd. Create:
393            K<knum>smartd in rcS.d, rc0.d, rc1.d, rc2.d
394            S<snum>smartd in rc3.d
395    where <knum> is related to <snum> such that the higher snum is the
396    lower knum must be.
397
398    On usual configuration, '95' would be suitable for <snum> and '05'
399    for <knum> respectively.  If you choose these value, you can
400    create hardlinks by:
401
402    cd /etc
403    sh -c 'for n in S 0 1 2; do ln init.d/smartd rc$n.d/K05smartd; done'
404    sh -c 'for n in 3      ; do ln init.d/smartd rc$n.d/S95smartd; done'
405
406[9] Guidelines for Cygwin
407=========================
408
409Same as Red Hat:
410  ./configure --prefix=/usr                 \
411              --sysconfdir=/etc             \
412              --mandir='${prefix}/share/man'
413
414  OR EQUIVALENTLY
415  ./configure --sbindir=/usr/sbin                               \
416              --sysconfdir=/etc                                 \
417              --mandir=/usr/share/man                           \
418              --with-initscriptdir=/etc/rc.d/init.d             \
419              --with-docdir=/usr/share/doc/smartmontools-VERSION
420
421  Using DOS text file type as default for the working directories ("textmode"
422  mount option) is not recommended. Building the binaries and man pages using
423  "make" is possible, but "make dist" and related targets work only with UNIX
424  file type ("binmode" mount option) set. The "autogen.sh" script prints a
425  warning if DOS type is selected.
426
427  If installing from SVN, you may check out all files either with CR/LF
428  or LF line endings. Starting with release 3.1-7, Cygwin's bash does no
429  longer accept scripts with CR/LF by default. To run the initial script
430  ./autogen.sh checked out with CR/LF on a "binmode" mount, type:
431
432  bash -O igncr ./autogen.sh
433
434  instead. This is not necessary for the generated ./configure script.
435
436[10] Guidelines for Windows
437===========================
438
439To compile the Windows release with MinGW gcc on MSYS, use:
440
441  ./configure
442  make
443
444  Instead of using "make install", copy the .exe files into
445  some directory in the PATH.
446
447To compile with MinGW gcc 3.x on Cygwin, use:
448
449  ./configure --build=i686-pc-mingw32
450
451  The above does not work if gcc 4.x is installed and selected as
452  default by /usr/sbin/alternatives.  If the configure command aborts
453  with error message '... does not support -mno-cygwin', select
454  gcc 3.x by:
455
456  CC=gcc-3 CXX=g++-3 ./configure --build=i686-pc-mingw32
457
458  Alternatively, a MinGW-targeted cross-compiler can be used if available:
459
460  ./configure --build=i686-pc-cygwin --host=i686-pc-mingw32
461
462
463To build the Windows binary distribution, use:
464
465  make dist-win32
466
467  This builds the distribution in directory
468
469  ./smartmontools-VERSION.win32/
470
471  and packs it into
472
473  ./smartmontools-VERSION.win32.zip
474
475To create a Windows installer, use:
476
477  make installer-win32
478
479  This builds the distribution directory and packs it into the
480  self-extracting install program
481
482  ./smartmontools-VERSION.win32-setup.exe
483
484  The installer is build using the command "makensis" from the NSIS
485  package. See http://nsis.sourceforge.net/ for documentation and
486  download location.
487
488To both create and run the (interactive) installer, use:
489
490  make install-win32
491
492  Additional make targets are distdir-win32 to build the directory
493  only and cleandist-win32 for cleanup.
494
495  The binary distribution includes all documentation files converted
496  to DOS text file format and *.html and *.txt preformatted man pages.
497  The tools unix2dos.exe (package cygutils) and zip.exe (package zip
498  or a native Win32 release of Info-ZIP, http://www.info-zip.org) are
499  necessary but may be not installed by Cygwin's default settings.
500
501To prepare os_win32 directory for MSVC8, use the following on Cygwin:
502
503  mkdir vctmp && cd vctmp
504  ../configure --build=mingw32
505  make config-vc8
506
507  The MSVC8 project files (os_win32/smartmontools_vc8.sln,
508  os_win32/smart{ctl,d}_vc8.vcproj) are included in SVN (but not in
509  source tarball). The target config-vc8 from a Makefile configured
510  for MinGW creates os_win32/{config,svnversion}_vc8.h from
511  ./{config,svnversion}.h. The configure skript must be run outside
512  of the source directory to avoid inclusion of the original config.h.
513
514  Unlike MinGW, MSVC can also be used to build the syslog message file
515  tool syslogevt.exe. See smartd man page for usage information about
516  this tool.
517
518
519[11] Guidelines for OS/2, eComStation
520=====================================
521
522To compile the OS/2 code, please run
523
524  ./os_os2/configure.os2
525  make
526  make install
527
528[12] Guidelines for OpenBSD
529==========================
530  To match the way it will installed when it becomes available as a PORT, use
531  the following:
532
533  ./configure --prefix=/usr/local                                      \
534              --sysconfdir=/etc
535              --with-initscriptdir=/usr/local/share/doc/smartmontools-VERSION \
536              --with-docdir=/usr/local/share/doc/smartmontools-VERSION \
537              --enable-sample
538
539  It is important that you use GNU make (gmake from /usr/ports/devel/gmake)
540  to build smartmontools, as the default OpenBSD make doesn't know how to build
541  the man pages.
542
543  NOTE1: --with-initscriptdir installs a SystemV startup script.  It really
544  should be --without-initscriptdir, but the Makefile code is incorrect and
545  trys to install the initscript (smartd) to /no.  So, an interim fix it to
546  set the initscript dir to the doc dir.
547
548  NOTE2: --enable-sample will cause the smartd.conf and smartd RC files to
549  be installed with the string '.sample' append to the name, so you will end
550  up with the following:
551        /usr/local/etc/smartd.conf.sample
552        /usr/local/etc/rc.d/smartd.sample
553
554[13] Comments
555============
556
557To compile from another directory, you can replace the step
558  ./configure [options]
559by the following:
560  mkdir objdir
561  cd objdir
562  ../configure [options]
563
564To install to another destination (used mainly by package maintainers,
565or to examine the package contents without risk of modifying any
566system files) you can replace the step:
567  make install
568with:
569  make DESTDIR=/home/myself/smartmontools-package install
570
571Use a full path. Paths like ~/smartmontools-package may not work.
572
573After installing smartmontools, you can read the man pages, and try
574out the commands:
575   
576man smartd.conf
577man smartctl
578man smartd
579
580/usr/sbin/smartctl -s on -o on -S on /dev/hda (only root can do this)
581/usr/sbin/smartctl -a /dev/hda (only root can do this)
582
583Note that the default location for the manual pages are
584/usr/share/man/man5 and /usr/share/man/man8.  If "man" doesn't find
585them, you may need to add /usr/share/man to your MANPATH environment
586variable.
587
588Source and binary RPM packages are available at
589http://sourceforge.net/project/showfiles.php?group_id=64297
590
591Refer to http://smartmontools.sourceforge.net/index.html#howtodownload
592for any additional download and installation instructions.
593
594The following files are installed if ./configure has no options:
595
596/usr/local/sbin/smartd                                  [Executable daemon]
597/usr/local/sbin/smartctl                                [Executable command-line utility]
598/usr/local/etc/smartd.conf                              [Configuration file for smartd daemon]
599/usr/local/etc/rc.d/init.d/smartd                       [Init/Startup script for smartd]
600/usr/local/share/man/man5/smartd.conf.5                 [Manual page]
601/usr/local/share/man/man8/smartctl.8                    [Manual page]
602/usr/local/share/man/man8/smartd.8                      [Manual page]
603/usr/local/share/doc/smartmontools-5.X/AUTHORS          [Information about the authors and developers]
604/usr/local/share/doc/smartmontools-5.X/CHANGELOG        [A log of changes. Also see SVN]
605/usr/local/share/doc/smartmontools-5.X/COPYING          [GNU General Public License Version 2]
606/usr/local/share/doc/smartmontools-5.X/INSTALL          [Installation instructions: what you're reading!]
607/usr/local/share/doc/smartmontools-5.X/NEWS             [Significant bugs discovered in old versions]
608/usr/local/share/doc/smartmontools-5.X/README           [Overview]
609/usr/local/share/doc/smartmontools-5.X/TODO             [Things that need to be done/fixed]
610/usr/local/share/doc/smartmontools-5.X/WARNINGS         [Systems where lockups or other serious problems were reported]
611/usr/local/share/doc/smartmontools-5.X/smartd.conf      [Example configuration file for smartd]
612/usr/local/share/doc/smartmontools-5.X/examplescripts   [Executable scripts for -M exec of smartd.conf (4 files)]
613
614The commands:
615
616make htmlman
617make txtman
618
619may be used to build .html and .txt preformatted man pages.
620These are used by the dist-win32 make target to build the Windows
621distribution.
622The commands also work on other operating system configurations
623if suitable versions of man2html, groff and grotty are installed.
624On systems without man2html, the following command should work
625if groff is available:
626
627make MAN2HTML='groff -man -Thtml' htmlman
628
629
630Some of the source files are prepared for the documentation
631generator Doxygen (http://www.doxygen.org/). If Doxygen is installed,
632the command:
633
634doxygen
635
636creates HTML documentation in doc/html and LaTeX documentation
637in doc/latex. If TeX is installed, the following command creates
638a documentation file doc/latex/refman.pdf:
639
640( cd doc/latex && make pdf )
641
642
643[14] Detailed description of arguments to configure command
644===========================================================
645
646When you type:
647./configure [options]
648there are six particularly important variables that affect where the
649smartmontools software is installed.  The variables are listed here,
650with their default values in square brackets, and the quantities that
651they affect described following that.  This is a very wide table: please read
652it in a wide window.
653
654OPTIONS              DEFAULT                                      AFFECTS
655-------              -------                                      -------
656--prefix             /usr/local                                   Please see below
657--sbindir            ${prefix}/sbin                               Directory for smartd/smartctl executables;
658                                                                  Contents of smartd/smartctl man pages
659--mandir             ${prefix}/share/man                          Directory for smartctl/smartd/smartd.conf man pages
660--sysconfdir         ${prefix}/etc                                Directory for smartd.conf;
661                                                                  Contents of smartd executable;
662                                                                  Contents of smartd/smartd.conf man pages;
663                                                                  Directory for rc.d/init.d/smartd init script
664--with-initscriptdir  ${sysconfdir}/init.d/rc.d                   Location of init scripts
665--with-docdir         ${prefix}/share/doc/smartmontools-5.X       Location of the documentation
666--enable-sample       --disable-sample                            Adds the string '.sample' to the names of the smartd.conf file and the smartd RC file
667--with-os-deps        os_<guessed>.o                              OS dependent module(s)
668--with-selinux        <not set>                                   Enables SELinux support.  If smartmontools has to create the /dev/tw[ae] device
669                                                                  nodes for 3ware/AMCC controllers, this option ensures that the nodes are created
670                                                                  with correct SELinux file contexts.
671--enable-drivedb      --disable-drivedb                           Enables default drive database file '${drivedbdir}/drivedb.h'
672--with-drivedbdir     ${prefix}/share/smartmontools/drivedb.h     Directory for 'drivedb.h' (specifying this option implies --enable-drivedb)
673--enable-savestates   --disable-savestates                        Enables default smartd state files '${savestates}MODEL-SERIAL.ata.state'
674--with-savestates     ${prefix}/var/lib/smartmontools/smartd.     Prefix for smartd state files (specifying this option implies --enable-savestates)
675
676Here's an example:
677If you set --prefix=/home/joe and none of the other four
678variables then the different directories that are used would be:
679--sbindir             /home/joe/sbin
680--mandir              /home/joe/share/man
681--sysconfdir          /home/joe/etc
682--with-initscriptdir  /home/joe/etc/init.d/rc.d
683--with-docdir         /home/joe/doc/smartmontools-5.X
684
685This is useful for test installs in a harmless subdirectory somewhere.
686
687Here are the four possible cases for the four variables above:
688
689Case 1:
690--prefix not set
691--variable not set
692===> VARIABLE gets default value above
693
694Case 2:
695--prefix set
696--variable not set
697===> VARIABLE gets PREFIX/ prepended to default value above
698
699Case 3:
700--prefix not set
701--variable set
702===> VARIABLE gets value that is set
703
704Case 4:
705--prefix is set
706--variable is set
707===> PREFIX is IGNORED, VARIABLE gets value that is set
708
709
710Here are the differences with and without --enable-sample, assuming
711no other options specified (see above for details)
712
713Case 1:
714--enable-sample provided
715==> Files installed are:
716        /usr/local/etc/smartd.conf.sample
717        /usr/local/etc/rc.d/init.d/smartd.sample
718
719Case 2:
720--disable-sample provided or parameter left out
721==> Files installed are:
722        /usr/local/etc/smartd.conf
723        /usr/local/etc/rc.d/init.d/smartd
724
725Additional information about using configure can be found here:
726http://www.gnu.org/software/autoconf/manual/autoconf-2.57/html_mono/autoconf.html#SEC139
Note: See TracBrowser for help on using the browser.