Trouble installing vowpal wabbit/accessing boost program options

856 views Asked by At

I'm trying to install vowpal wabbit on a Mac Mini 2012 running Yosemite OSX.

I couldn't workout how to install boost directly from source forge as John Langford suggests at: https://github.com/JohnLangford/vowpal_wabbit/wiki/Tutorial. Instead I went for the following sudo port install boost. This seemed to work OK, and I've verified that the file program_options.hpp exists in the location /opt/local/include/boost/program_options.hpp.

I then cloned vowpal_wabbit into my root directory and attempted to install with sudo make install. When I did this, I got the following error in my terminal, saying that program_options.hpp couldn't be found:

enter image description here

Am I installing boost in the wrong place? Are there any steps I missed? Is there any way to tell vowpal wabbit where to look on installation?

Thanks in advance,

Aaron

2

There are 2 answers

0
aaron On BEST ANSWER

Thank you to @arielf for providing some really excellent guidance on getting vowpal wabbit up and running. At the end of the day I wasn't able to get Vowpal Wabbit up and running from source, but I did find a way forward using brew. Here was my process:

(1) Install brew (if you haven't done that already) from http://brew.sh/ (per the website, just type ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)")

(2) Then type brew install vowpal-wabbit (see http://brewformulas.org/VowpalWabbit). Note that the dependencies Automake, Libtool, Autocon, and Boost are all required for this brew installation. These should install automatically, but keep an eye out for any informative errors that pop up.

(3) I was interested in using Vowpal Wabbit for variable importance testing using the var-info wrapper in the utl folder of the source directory. After I confirmed that the vw command executed as expected from my terminal, I went ahead and installed the source files from John's GitHub using: git clone git://github.com/JohnLangford/vowpal_wabbit.git. Instead of attempting to install, however, I just use the wrappers in utl to create handy aliases. For example, on my machine I point to vw-varinfo using the call alias varinfo=/Users/aaronpolhamus/vowpal_wabbit/utl/vw-varinfo. So far this works like a charm.

Let me know if you have any questions about this process.

4
arielf On

You're not installing boost in the wrong place. It is just that on OS-X there appears to be no standard place where it gets installed (ports vs brew, etc.)

Currently, vw finds the boost includes and libraries via the make variables: BOOST_INCLUDE and BOOST_LIBRARY.

Here's the part I don't understand: when I clone a fresh version of vowpal wabbit from git, and look inside the Mac OS-X clause:

ifeq ($(UNAME), Darwin)

in my top level Makefile, I see it already has what seems to be the right settings for your env:

BOOST_INCLUDE += -I /opt/local/include BOOST_LIBRARY += -L /opt/local/lib

Could it be you've run autogen.sh and it overwrote your original Makefile?

Are you running make vw at the top level (so it can see these definitions)?

Perhaps a make clean before everything else is necessary to remove old dependencies?

Hoping one of these hints would lead you to the solution.