8

我正在努力安装 vowpal wobbit,当我运行 make 文件时它失败了,抛出:

    cd library; make; cd .. 
    g++ -g -o ezexample temp2.cc -L ../vowpalwabbit -l vw -l allreduce -l boost_program_options -l z -l pthread 
    ld: library not found for -lboost_program_options collect2: ld returned 1   exit status make[1]: *** [ezexample] Error 1'

然后我通过指定 -L/usr/local/lib 在此处添加了指向 boost 库的链接

现在我收到以下错误:

    g++ -g -o ezexample temp2.cc -L/usr/local/lib ../vowpalwabbit -l vw -l  allreduce -l boost_program_options -l z -l pthread 
    ld: library not found for -lvw
    collect2: ld returned 1 exit status   
    make: *** [ezexample] Error 1
4

3 回答 3

7

我碰巧让一切都在 OS X 10.7 上运行,如下所示:

  1. 确保您有一个有效的 Boost 安装。如入门页面所示,通常我们只需要头文件,但一些 Boost 库必须单独构建,包括用于处理来自命令行或配置文件的选项的program_options库。进入你的boost文件夹,然后在你的 shell 提示符下:

    $ ./bootstrap.sh
    $ ./bjam
    

    这将编译并构建所有内容。您现在应该bin.v2/在您的目录中有一个目录boost,其中包含您系统的所有构建库(静态和线程库)。

    $ ls bin.v2/libs/
    date_time       iostreams       python          serialization   test
    filesystem      math            random          signals         thread
    graph           program_options regex           system          wave
    

    stage/lib/更重要的是,目录中提供了额外的 Boost 库。对我来说,这些是Mach-O 64-bit dynamically linked shared library x86_64.

    包含路径应​​该是 ,您的工作 Boost 的基本名称在your_install_dir/boost_x_xx_x哪里。boost_x_xx_x(我个人有boost_1_46_1并且/usr/local/share/我将它符号链接到/usr/local/share/boost以避免必须记住版本号。)库路径(用于链接)应该是your_install_dir/boost_x_xx_x/stage/lib. 但是,最好在通常的地方进行符号链接或复制(这是我所做的)所有内容,即/usr/local/include/boost头文件和/usr/local/lib库。

  2. Makefile从目录中编辑vowpal_wabbit,并更改包含/库路径以反映您当前的安装。Makefile应该如下所示(前 12 行):

    COMPILER = g++
    UNAME := $(shell uname)
    
    ifeq ($(UNAME), FreeBSD)
    LIBS = -l boost_program_options -l pthread -l z -l compat
    BOOST_INCLUDE = /usr/local/include
    BOOST_LIBRARY = /usr/local/lib
    else
    LIBS = -l boost_program_options -l pthread -l z
    BOOST_INCLUDE = /usr/local/share/boost            # change path to reflect yours
    BOOST_LIBRARY = /usr/local/share/boost/stage/lib  # idem
    endif
    

    然后,您可以编译vowpal_wabbitmake clean如果您已经编译它):

    $ make
    $ ./vw --version
    6.1
    $ make test
    
于 2012-07-11T19:41:54.333 回答
3

您还可以使用brew在 OS X 上安装 vowpal wabbit :

brew install vowpal-wabbit

或者你可以只安装 boost,然后vw从 github repo 安装。

brew install boost
于 2014-03-31T16:06:46.593 回答
0

为了在 CentOS 7 上安装(6.5 perl 版本对于最新的大众源代码来说太旧了),我在http://wkoplitz.blogspot.be/2012/12/vowpal-wabbit-on-centos.html找到了说明工作正常:

yum install zlib-devel boost-devel

yum groupinstall "Development Tools"

git clone git://github.com/JohnLangford/vowpal_wabbit.git

cd vowpal_wabbit

./autogen.sh

make

make test
于 2014-09-17T12:56:16.783 回答