OWFS SF.net project page New OWFS Website! by Paul H Alfille SourceForge.net Logo
OWFS Design
overview
components
naming
cache
arrays
performance

OWFS Features
cache
statistics

OWFS Software
Install instructions
Bootable CD
Filesystem (owfs)
Web Server (owhttpd)
Backend Server (owserver)
Perl bindings (owperl)
Python bindings (owpython)
PHP bindings (owphp)
Tcl bindings (owtcl)
Download
Daily Configured Package
CVS -- newest
CVS Statistics
FAQ
Examples & Usage
1-wire wireless
1-Wire Hardware
OWFS Project

Installing and Upgrading OWFS
How to get OWFS working on your system


  1. Make sure you have the right platform Basically, Linux works. BSD might work, but only for the web stuff. Windows doesn't.
    • Linux
      • All developement and testing has been performed on Linux.
      • Multiple processors (i386, MIPS, Coldfire) have been shown to work
      • FUSE, the userspace filesystem requires kernel version 2.4 or greater
      • glibc and uClibc have been shown to work.
      • SuSE (8.1, 9.0, 9.1)
      • Debian
      • Slackware
      • Redhat/Fedora
    • Unix or BSD
      • Unix and BSD have POSIX compliance
      • owhttpd should work. owfs needs FUSE, which is currently linux-specific.
      • Thread, mutex and process differences should be handled by the configuration process.
      • Libusb is supported on these platforms
      • The code has no processor-specific limitations.
    • Windows
      • Sorry, owfs doesn't run under Windows.
      • There is no analog (at least no free open source one) to FUSE for user-mode filesystems.
      • USB and serial ports are handled differently.
      • Threads and socket handling are slightly different.
      • Porting owfs wouldn't be too difficult except for the FUSE problem.
      • Numerous Windows 1-Wire programs exist. 1Wire-org 1Button.com
    • Mac OS/X
      • OS/X has not been tested.
      • It should be similar to BSD with POSIX compliance.
      • owhttpd should work. owfs needs FUSE, which is currently linux-specific.
  2. Check prerequisites

    To compile you need standard tools: gcc, make, autoconf.
    To use USB you need libusb. Modern distributions include this stuff.
    You also need FUSE (see next section).

    • C compiler: Use gcc. It's the only one tested, and FUSE is a kernel module which requires gcc. Test presence with
      gcc --version
    • Autoconf. Version 2.57 or greater. Test with
      autoconf --version
    • libusb to use USB adapters
      • test with
        find /usr/lib -name "libusb.*"
      • Obtain from libusb project site.
      • If libusb is not available, configuration will proceed, but USB support will not be available. You will be informed during the configuration process.
  3. FUSE

    Fuse is needed for owfs (but not owhttpd). It is a kernel module and associated programs and libraries. Fuse needs to be downloaded and installed. It is not standard with any Linux distribution.
    • Obtain source from the fuse website.
    • Get newest version with cvs
      • choose a location for the fuse source-code, like /usr/local
      • cd /usr/local (we will use it as the selection in these instructions)
      • run
        cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/fuse co fuse
      • source code will be downloaded to directory /usr/local/fuse
    • Update later if wanted
      • cd /usr/local/fuse
      • cvs update -R
    • Configure and compile\
      • cd /usr/local/fuse (or whereever you fuse source is located)
      • Pre-configure by running
        ./makeconf.sh
      • configure with
        ./configure
      • compile by running
        make
      • install with
        make install
    • Fuse will need to be recompiled whenever your Linux kernel version changes
      • Some distributions, like SuSE do this frequently for securty updates
  4. OWFS from source

    Simply put, download using CVS, then ./bootstrap, make, make install
    • Obtain source from owfs website
    • Get newest version with cvs
      • choose a  location for the owfs code like /usr/local
      • cd /usr/local (we'll use this location for the examples)
      • run
        cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/owfs co owfs
      • source code will be downloaded to directory /usr/local/owfs
    • Update later if desired
    • Configure and compile
      • cd /usr/local/owfs (or whereever you downloaded the code)
      • ./bootstrap
      • ./configure (only needed if you use special options -- see below)
      • make
      • make install
  5. Configuring

    Only needed if special features are needed. Usually the default settings will be fine.
    • Run in /usr/local/owfs (or whereever owfs source code was placed with
      ./configure [options]
    • Most common settings
      --enable-owfs
      --disable-owfs
      Should the filesystem (fuse-dependent) program be built? Default true unless the fuse library was not found.
      --enable-owhttpd
      --disable-owhttpd
      Should the web server be built?
      --enable-owftpd
      --disable-owftpd
      Should the (currently non-functional) ftp server be built?
      --enable-cache
      --disable-cache
      Temporarily store 1-wire properties to speed responsiveness of system? See caching page.
      --enable-usb
      --disable-usb
      Include USB support? Requires libusb.
      --enable-mt
      --disable-mt
      Multithreaded model. Increased speed with simultaneous processes requesting data from the 1-wire bus. Enable unless very constrained memory or very slow process using the bus.

    • Full
      ./configure --help
      `configure' configures this package to adapt to many kinds of systems.

      Usage: ./configure [OPTION]... [VAR=VALUE]...

      To assign environment variables (e.g., CC, CFLAGS...), specify them as
      VAR=VALUE.  See below for descriptions of some of the useful variables.

      Defaults for the options are specified in brackets.

      Configuration:
        -h, --help              display this help and exit
            --help=short        display options specific to this package
            --help=recursive    display the short help of all the included packages
        -V, --version           display version information and exit
        -q, --quiet, --silent   do not print `checking...' messages
            --cache-file=FILE   cache test results in FILE [disabled]
        -C, --config-cache      alias for `--cache-file=config.cache'
        -n, --no-create         do not create output files
            --srcdir=DIR        find the sources in DIR [configure dir or `..']

      Installation directories:
        --prefix=PREFIX         install architecture-independent files in PREFIX
                    [/opt/owfs]
        --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                    [PREFIX]

      By default, `make install' will install all the files in
      `/opt/owfs/bin', `/opt/owfs/lib' etc.  You can specify
      an installation prefix other than `/opt/owfs' using `--prefix',
      for instance `--prefix=$HOME'.

      For better control, use the options below.

      Fine tuning of the installation directories:
        --bindir=DIR           user executables [EPREFIX/bin]
        --sbindir=DIR          system admin executables [EPREFIX/sbin]
        --libexecdir=DIR       program executables [EPREFIX/libexec]
        --datadir=DIR          read-only architecture-independent data [PREFIX/share]
        --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
        --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
        --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
        --libdir=DIR           object code libraries [EPREFIX/lib]
        --includedir=DIR       C header files [PREFIX/include]
        --oldincludedir=DIR    C header files for non-gcc [/usr/include]
        --infodir=DIR          info documentation [PREFIX/info]
        --mandir=DIR           man documentation [PREFIX/man]

      Program names:
        --program-prefix=PREFIX            prepend PREFIX to installed program names
        --program-suffix=SUFFIX            append SUFFIX to installed program names
        --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

      System types:
        --build=BUILD     configure for building on BUILD [guessed]
        --host=HOST       cross-compile to build programs to run on HOST [BUILD]

      Optional Features:
        --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
        --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
        --disable-dependency-tracking Speeds up one-time builds
        --enable-dependency-tracking  Do not reject slow dependency extractors
        --enable-shared[=PKGS]
                                build shared libraries [default=yes]
        --enable-static[=PKGS]
                                build static libraries [default=yes]
        --enable-fast-install[=PKGS]
                                optimize for fast installation [default=yes]
        --disable-libtool-lock  avoid locking (might break parallel builds)
        --enable-owfs         Enable owfs module (default auto)
        --enable-owhttpd      Enable owhttpd module (default true)
        --enable-owftpd       Enable owftpd module (default true)
        --enable-cache      Enable caching (default true)
        --enable-usb          Enable 1-Wire usb DS2490 support (default auto)
        --enable-mt          Enable multithreading support (default true)

      Optional Packages:
        --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
        --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
        --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
        --with-pic              try to use only PIC/non-PIC objects [default=use
                                both]
        --with-tags[=TAGS]
                                include additional configurations [automatic]

      Some influential environment variables:
        CXX         C++ compiler command
        CXXFLAGS    C++ compiler flags
        LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
                    nonstandard directory <lib dir>
        CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
                    headers in a nonstandard directory <include dir>
        CC          C compiler command
        CFLAGS      C compiler flags
        CPP         C preprocessor
        CXXCPP      C++ preprocessor
        F77         Fortran 77 compiler command
        FFLAGS      Fortran 77 compiler flags

      Use these variables to override the choices made by `configure' or to help
      it to find libraries and programs with nonstandard names/locations.


  6. Compiling
  7. Installing
  8. Running
  9. OWFS from binaries
  10. OWFS light
  11. OWFS fast
© 2004 Paul H. Alfille and The owfs Team
$Id: install.html,v 1.5 2004/10/30 05:14:35 alfille Exp $