Skip to content
John Langford's original release of Vowpal Wabbit -- a fast online learning algorithm
C++ Perl Python C# Shell Makefile Other
Find file
Pull request Compare This branch is 2263 commits behind JohnLangford:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
acinclude.d
c_test
cluster
cs_test
demo
deploy_vw
explore
java
library
python
test
utl
vowpalwabbit
.gitignore
.gitkeep
.travis.yml
AUTHORS
ChangeLog
INSTALL
LICENSE
Makefile
Makefile.am
NEWS
README.deploy.txt
README.md
README.windows.txt
autogen.sh
configure.ac
deployvw.bat
mkdevdist.sh
zlibpatch.zip

README.md

/*
Copyright (c) by respective owners including Yahoo!, Microsoft, and
individual contributors. All rights reserved.  Released under a BSD (revised)
license as described in the file LICENSE.
 */

Build Status

This is the vowpal wabbit fast online learning code. For Windows, look at README.windows.txt

Prerequisite software

These prerequisites are usually pre-installed on many platforms. However, you may need to consult your favorite package manager (yum, apt, MacPorts, brew, ...) to install missing software.

  • Boost library, with the Boost::Program_Options library option enabled.
  • GNU autotools: autoconf, automake, libtool, autoheader, et. al.
  • (optional) git if you want to check out the latest version of vowpal wabbit, work on the code, or even contribute code to the main project.

Getting the code

You can download the latest version from here. The very latest version is always available via 'github' by invoking one of the following:

## For the traditional ssh-based Git interaction:
$ git clone git://github.com/JohnLangford/vowpal_wabbit.git

## For HTTP-based Git interaction
$ git clone https://github.com/JohnLangford/vowpal_wabbit.git

Compiling

You should be able to build the vowpal wabbit on most systems with:

$ make
$ make test    # (optional)

If that fails, try:

$ ./autogen.sh
$ make
$ make test    # (optional)
$ make install

Note that ./autogen.sh requires automake (see the prerequisites, above.)

Options that were passed to ./configure in 7.6 and earlier may now be passed to ./autogen.sh.

Be sure to read the wiki: https://github.com/JohnLangford/vowpal_wabbit/wiki for the tutorial, command line options, etc.

The 'cluster' directory has it's own documentation for cluster parallel use, and the examples at the end of test/Runtests give some example flags.

Mac OS X-specific info

OSX requires glibtools, which is available via the brew or MacPorts package managers.

brew

brew install libtool
brew install boost --with-python

MacPorts

## Install glibtool and other GNU autotool friends:
$ port install libtool autoconf automake

## Build Boost for Mac OS X 10.8 and below
$ port install boost +no_single +no_static +openmpi +python27 configure.cxx_stdlib=libc++ configure.cxx=clang++

## Build Boost for Mac OS X 10.9 and above
$ port install boost +no_single +no_static +openmpi +python27

Mac OS X 10.8 and below: configure.cxx_stdlib=libc++ and configure.cxx=clang++ ensure that clang++ uses the correct C++11 functionality while building Boost. Ordinarily, clang++ relies on the older GNU g++ 4.2 series header files and stdc++ library; libc++ is the clang replacement that provides newer C++11 functionality. If these flags aren't present, you will likely encounter compilation errors when compiling vowpalrabbit/cbify.cc. These error messages generally contain complaints about std::to_string and std::unique_ptr types missing.

To compile:

$ sh autogen.sh --enable-libc++
$ make
$ make test    # (optional)
Something went wrong with that request. Please try again.