我正在尝试在centos 7.4上安装Vowpal Wabbit。获取代码并运行命令make
后,最后我得到错误 -
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
谁能告诉我如何安装vowpal wabbit?
以下是安装说明的github链接 - https://github.com/JohnLangford/vowpal_wabbit
答案 0 :(得分:1)
CentOS 7中的默认编译器是gcc 4.8,它仍然没有完整的C ++ 11支持,包括&lt; codecvt&gt;标题,因此您需要安装并使用较新的gcc版本。
但如果由于某种原因你不能,那么好消息是&lt; codecvt&gt;是您可能不需要的其中一个辅助库所必需的。
在这种情况下,您可以继续只构建VW二进制文件:
cd vowpalwabbit
make vw
答案 1 :(得分:0)
花了相当长的时间解决相关问题后,我得以使vw在CentOS 7 Docker上运行。这是我采取的步骤:
在开始之前,如果您已经安装了CentOS的gcc-c++
软件包,
卸载它。
使用更新的g ++安装更新的开发人员工具集:
yum -y install centos-release-scl
yum -y install devtoolset-6
/usr/bin/scl enable devtoolset-6 true
安装Boost库和相关库:
yum -y install boost-devel.x86_64 libboost-all-dev \
libboost-program-options-dev
如果缺少JDK,请安装:
yum -y java-1.7.0-openjdk java-1.7.0-openjdk-deve
将较新的g ++链接到通常由“ gcc-c ++”占用的路径:
ln -s /opt/rh/devtoolset-6/root/usr/bin/g++ /usr/bin/g++
Git克隆并构建:
git clone https://github.com/JohnLangford/vowpal_wabbit.git
cd vowpa_wabbit
./autogen.sh
./configure
make
make install
现在,您可以使用vw二进制文件通过其terminal interface.访问vowpal_wabbit,您可能希望添加export PATH=/usr/local/bin:$PATH
以便能够从整体上使用vw。
感谢Linux叔叔:https://ashokharnal.wordpress.com/2015/02/20/install-vowpal-wabbit-on-centos-machine/