8

私はvowpalwobbitをインストールしようとしていますが、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

私はたまたまOSX10.7ですべてが次のように機能するようになりました。

  1. Boostが正常にインストールされていることを確認してください。はじめにページに示されているように、通常はヘッダーファイルのみが必要ですが、コマンドラインまたは構成ファイルからオプションを処理するために使用されるprogram_optionsライブラリなど、一部のBoostライブラリは個別にビルドする必要があります。フォルダに移動しboost、シェルプロンプトで次の操作を行います。

    $ ./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
    

    さらに重要なことに、追加のBoostライブラリがstage/lib/ディレクトリで利用可能になります。私にとって、これらはMach-O 64-bit dynamically linked shared library x86_64です。

    インクルードパスyour_install_dir/boost_x_xx_xは、である必要があります。ここboost_x_xx_xで、は作業中のBoostのベース名です。(私は個人的にboost_1_46_1インしていて、バージョン番号を覚える必要がないようにシンボリックリンクしています。)/usr/local/share/ライブラリパス(リンク用)は。を読み取る必要があります。ただし、ヘッダーファイルやライブラリなど、通常の場所ですべてをシンボリックリンクまたはコピーするのが最適な場合があります(これは私が行ったことです) 。/usr/local/share/boostyour_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を使用してOSXにvowpalwabbitをインストールすることもできます。

brew install vowpal-wabbit

または、boostをインストールvwしてから、githubリポジトリからインストールすることもできます。

brew install boost
于 2014-03-31T16:06:46.593 に答える
0

CentOS 7にインストールする場合(6.5 perlバージョンは最新のvwソースコードには古すぎます)、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 に答える