Annotation of embedaddon/smartmontools/INSTALL, revision 1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>