Reputation: 791
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
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.
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
Install Boost library and related libraries:
yum -y install boost-devel.x86_64 libboost-all-dev \
libboost-program-options-dev
Install JDK if missing:
yum -y java-1.7.0-openjdk java-1.7.0-openjdk-deve
Link newer g++ to path normally occupied by 'gcc-c++':
ln -s /opt/rh/devtoolset-6/root/usr/bin/g++ /usr/bin/g++
Git clone and build:
git clone https://github.com/JohnLangford/vowpal_wabbit.git
cd vowpa_wabbit
./autogen.sh
./configure
make
make install
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
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