Ankit Seth
Ankit Seth

Reputation: 791

Install Vowpal Wabbit on centos 7.4

I am trying to install Vowpal Wabbit on centos 7.4. After getting code and running command make, then in last I get error-

inter -DNDEBUG -std=gnu++11 -MT vwdll.lo -MD -MP -MF .deps/vwdll.Tpo -c vwdll.cpp  -fPIC -DPIC -o .libs/vwdll.o
vwdll.cpp:2:19: fatal error: codecvt: No such file or directory
#include <codecvt>
               ^
compilation terminated.
make[2]: *** [vwdll.lo] Error 1
make[2]: Leaving directory `/home/user/vowpal_wabbit/vowpalwabbit'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/user/vowpal_wabbit/vowpalwabbit'
make: *** [all-recursive] Error 1

Can anyone tell me how install vowpal wabbit?

Here is the github link for installation instructions- https://github.com/JohnLangford/vowpal_wabbit

Upvotes: 2

Views: 924

Answers (2)

Ahmet C. Toker
Ahmet C. Toker

Reputation: 61

After spending quite sometime on a related issue, I was able to get vw running on CentOS 7 Docker. Here are the steps I took:

Before beginning, if you've already installed CentOS's gcc-c++ package, uninstall it.

  1. Install newer developer toolset with a newer g++:

    yum -y install centos-release-scl 
    yum -y install  devtoolset-6
    /usr/bin/scl enable devtoolset-6 true
    
  2. Install Boost library and related libraries:

    yum -y install boost-devel.x86_64 libboost-all-dev \ 
           libboost-program-options-dev
    
  3. Install JDK if missing:

    yum -y java-1.7.0-openjdk java-1.7.0-openjdk-deve
    
  4. Link newer g++ to path normally occupied by 'gcc-c++':

    ln -s /opt/rh/devtoolset-6/root/usr/bin/g++ /usr/bin/g++
    
  5. Git clone and build:

    git clone https://github.com/JohnLangford/vowpal_wabbit.git
    cd vowpa_wabbit
    ./autogen.sh
    ./configure
    make
    make install  
    
  6. Now you can use vw binary to access vowpal_wabbit via its terminal interface. You may want to add export PATH=/usr/local/bin:$PATH to be able to use vw from overall.

Thanks to Linux Uncle: https://ashokharnal.wordpress.com/2015/02/20/install-vowpal-wabbit-on-centos-machine/

Upvotes: 0

user9922534
user9922534

Reputation:

The default compiler in CentOS 7 is gcc 4.8 that still has no full C++11 support including <codecvt> header, so you need to install and use a newer gcc version.

But if for some reason you can't, the good news is that <codecvt> is required by one of the auxiliary libraries that you probably don't need.

In this case you can just go ahead and build only the VW binary:

cd vowpalwabbit
make vw

Upvotes: 1

Related Questions