WFDB quick start for GNU/Linux

The new PhysioNet website is available at: We welcome your feedback.

These instructions are for version 10.5.23 (13 March 2014) and later versions of the WFDB Software Package. Instructions for older versions are here.

  1. Install any missing prerequisites. Check to see if they are installed already using the commands

    gcc --version
    curl-config --version
    ls /usr/include/expat.h

    If these commands work, skip to the next step. Otherwise, as root, install any missing packages, and any packages that they may require, by running (on Fedora, Red Hat, Centos, and most other RPM-based GNU/Linux distributions)

    yum install gcc curl-devel expat-devel

    (or, on Debian, Ubuntu, Mint, and other Debian-based GNU/Linux distributions)

    apt-get install gcc libcurl4-openssl-dev libexpat1-dev
    • You will be able to use the WFDB software to read local files whether or not you install libcurl.
    • Direct access from WFDB applications to data files on remote web and FTP servers (NETFILES) is possible only if you install libcurl (or the older, unsupported, libwww).
    • Direct access from WFDB applications to password-protected data files on remote web and FTP servers requires libcurl 7.12.0 or later.
    • The xmlann and xmlhea applications cannot be compiled without libexpat, but no other components require libexpat.
    • If you would like to install WAVE (optional), you will also need the X11 developer's toolkit and XView. See WAVE installation notes for details.
  2. Download the current version of the WFDB software package, wfdb.tar.gz, and unpack it:

    tar xfvz wfdb.tar.gz

    This command creates a directory with a name of the form wfdb-10.m.n. Look at the list of files extracted to find the name.

  3. Configure, install, and test the package:
    cd wfdb-10.m.n
    sudo make install
    make check

    By default, the make command installs the package into subdirectories of /usr/local, which requires root permissions. You may choose any other writable directory, such as your home directory, by adding an appropriate option to the ./configure command above:

    ./configure --prefix=/somewhere/else
    make install
    make check

    Note that in this case you will need to add /somewhere/else/bin to your PATH. (It is no longer necessary to set your LD_LIBRARY_PATH, as was needed in previous versions.)

    'make check' compiles a short program that exercises the WFDB library and applications, and prints a summary of test results. The tests are very short (typically less than a second each), except that the last one (xform using NETFILES) may take up to a minute if you have a slow or inoperative Internet connection. If any application test fails, its output (program.out) can be found in the checkpkg subdirectory of the WFDB source tree; compare this output with the file of the same name that can be found in the checkpkg/expected subdirectory.

  4. Read the manuals. Really! :-) If you want to write your own software to work with PhysioBank data, begin with the WFDB Programmer's Guide. To learn about the wide variety of existing software that can be used to study PhysioBank data, read the WFDB Applications Guide and the WAVE User's Guide.

Questions and Comments

If you would like help understanding, using, or downloading content, please see our Frequently Asked Questions.

If you have any comments, feedback, or particular questions regarding this page, please send them to the webmaster.

Comments and issues can also be raised on PhysioNet's GitHub page.

Updated Friday, 1 December 2017 at 16:25 EST

PhysioNet is supported by the National Institute of General Medical Sciences (NIGMS) and the National Institute of Biomedical Imaging and Bioengineering (NIBIB) under NIH grant number 2R01GM104987-09.