【问题标题】:Install Vowpal Wabbit on centos 7.4在 centos 7.4 上安装 Vowpal Wabbit
【发布时间】:2019-01-31 15:38:15
【问题描述】:

我正在尝试在 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

【问题讨论】:

  • 您的环境中缺少某些内容。您需要安装 libboost-dev。在我的环境(Ubuntu)中是:$ dpkg -S codecvt.hpp ... libboost1.58-dev:amd64: /usr/include/boost/iostreams/detail/config/codecvt.hpp
  • @arielf 我检查了,codecvt.hpp 在同一路径中。
  • 嗯嗯。上面的 sn-p 中没有足够的信息供我调试。上面显然不只是make,它还涉及到autogen.sh(它之前创建了.libs)。我建议尝试不使用autogen/autoconf。首先:您需要使用git checkout Makefile */Makefile 恢复被automake 覆盖的原始Makefile。然后尝试一个简单的make。除非您在非标准位置安装了 LD_LIBRARY_PATH 等非标准设置或头文件/库,否则简单的 make 可能开箱即用。
  • @arielf 我一开始只尝试了简单的make,我得到了同样的错误。
  • 如何为 Linux/amd64 使用预编译的静态 vw 图像?这些应该可以在 Ubuntu 以及 RHEL 或 CentOS 上运行。您可以在github.com/JohnLangford/vowpal_wabbit/wiki/Download 找到此类二进制文件的链接

标签: centos vowpalwabbit


【解决方案1】:

CentOS 7 中的默认编译器是 gcc 4.8,它仍然没有完整的 C++11 支持,包括 标头,因此您需要安装和使用更新的 gcc 版本。

但如果由于某种原因你不能,好消息是 是你可能不需要的辅助库之一所必需的。

在这种情况下,您可以继续构建 VW 二进制文件:

cd vowpalwabbit
make vw

【讨论】:

    【解决方案2】:

    在一个相关问题上花了很长时间后,我能够让 vw 在 CentOS 7 Docker 上运行。以下是我采取的步骤:

    在开始之前,如果你已经安装了 CentOS 的 gcc-c++ 包, 卸载它。

    1. 使用更新的 g++ 安装更新的开发人员工具集:

      yum -y install centos-release-scl 
      yum -y install  devtoolset-6
      /usr/bin/scl enable devtoolset-6 true
      
    2. 安装 Boost 库和相关库:

      yum -y install boost-devel.x86_64 libboost-all-dev \ 
             libboost-program-options-dev
      
    3. 如果缺少 JDK,请安装:

      yum -y java-1.7.0-openjdk java-1.7.0-openjdk-deve
      
    4. 将较新的 g++ 链接到通常由 'gcc-c++' 占用的路径:

      ln -s /opt/rh/devtoolset-6/root/usr/bin/g++ /usr/bin/g++
      
    5. Git 克隆和构建:

      git clone https://github.com/JohnLangford/vowpal_wabbit.git
      cd vowpa_wabbit
      ./autogen.sh
      ./configure
      make
      make install  
      
    6. 现在您可以使用 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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-19
      • 2015-11-16
      • 2020-07-28
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 2019-06-08
      • 2020-05-17
      相关资源
      最近更新 更多