我正在尝试在centos 7的虚拟环境中安装vowpal wabbit。我已经安装了所需的依赖,如boost(https://medium.com/@royendgel/boost-boost-python-dlib-python3-on-centos-or-amazon-linux-4039f70a3614)。
Python:3.6Cmake:3.6.2(已根据此文档安装:http://jotmynotes.blogspot.com/2016/10/updating-cmake-from-2811-to-362-or.html)
这里是运行“ make install”时的错误。我遵循https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Installing中针对Linux的说明。
Scanning dependencies of target spanning_tree
[ 1%] Building CXX object cluster/CMakeFiles/spanning_tree.dir/spanning_tree_main.cc.o
[ 1%] Building CXX object cluster/CMakeFiles/spanning_tree.dir/__/vowpalwabbit/spanning_tree.cc.o
[ 2%] Building CXX object cluster/CMakeFiles/spanning_tree.dir/__/vowpalwabbit/vw_exception.cc.o
[ 3%] Linking CXX executable spanning_tree
[ 3%] Built target spanning_tree
[ 6%] Built target allreduce
[ 6%] Building CXX object vowpalwabbit/CMakeFiles/vw.dir/audit_regressor.cc.o
In file included from /home/joel/vowpal_wabbit/vowpalwabbit/reductions.h:9:0,
from /home/joel/vowpal_wabbit/vowpalwabbit/audit_regressor.cc:5:
/home/joel/vowpal_wabbit/vowpalwabbit/global_data.h:479:30: warning: missing initializer for member ‘std::array<std::vector<std::shared_ptr<std::unordered_map<std::basic_string<char>, std::unique_ptr<features> > > >, 256ul>::_M_elems’ [-Wmissing-field-initializers]
namespace_dictionaries{}; // each namespace has a list of dictionaries attached to it
^
In file included from /home/joel/vowpal_wabbit/vowpalwabbit/global_data.h:49:0,
from /home/joel/vowpal_wabbit/vowpalwabbit/reductions.h:9,
from /home/joel/vowpal_wabbit/vowpalwabbit/audit_regressor.cc:5:
/home/joel/vowpal_wabbit/vowpalwabbit/options.h: In instantiation of ‘VW::config::typed_option<T>::typed_option(const string&, T&) [with T = std::basic_string<char>; std::string = std::basic_string<char>]’:
/home/joel/vowpal_wabbit/vowpalwabbit/options.h:97:40: required from ‘VW::config::typed_option<T> VW::config::make_option(std::string, T&) [with T = std::basic_string<char>; std::string = std::basic_string<char>]’
/home/joel/vowpal_wabbit/vowpalwabbit/audit_regressor.cc:249:58: required from here
/home/joel/vowpal_wabbit/vowpalwabbit/options.h:37:117: error: invalid initialization of non-const reference of type ‘std::basic_string<char>&’ from an rvalue of type ‘<brace-enclosed initializer list>’
typed_option(const std::string& name, T& location) : base_option(name, typeid(T).hash_code()), m_location{location} {}
^
make[2]: *** [vowpalwabbit/CMakeFiles/vw.dir/audit_regressor.cc.o] Error 1
make[1]: *** [vowpalwabbit/CMakeFiles/vw.dir/all] Error 2
make: *** [all] Error 2
尝试安装vowpal兔子
g ++编译器必须是c ++ 11版本。 Boost必须使用c ++ 11编译...参见how to install gcc 4.9.2 on RHEL 7.4
CentOS 7:在/ home / [name] / tmp /]中的构建示例
======= Boost ======== cd boost_1_68_0/ echo "using gcc : : /usr/bin/g++73 ; " >> tools/build/src/user-config.jam // Add another line to tools/build/src/user-config.jam → using python : 3.6 : /usr/bin/python3.6 ; ./bootstrap.sh ./b2 # ./b2 install ======== dlib ============ cd dlib-19.19.0/ && python3 setup.py build # python3 setup.py install ======== Vowpal Wabbit ======== git clone https://github.com/VowpalWabbit/vowpal_wabbit.git cd vowpal_wabbit/ git submodule update --init --recursive mkdir build && cd build/ CC=gcc73 CXX=g++73 cmake3 .. make // no errors
P.S .:参考号README.md→新的“建筑信息”在这里https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Building