VowpalWabbit / vowpal_wabbit

Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
https://vowpalwabbit.org
Other
8.48k stars 1.93k forks source link

Failed to install vowpal_wabbit on Python 3 #1208

Closed acepor closed 7 years ago

acepor commented 7 years ago

Hi,

I followed the installation instruction to install vowpal_wabbit on MacOS 10.12.3 with Python 3.6.0/3.5.2, and neither succeeded. However, when I installed it with Python 2.7.13, everything was smooth.

Can anyone offer any help? Thanks you so much!

Collecting vowpalwabbit

Using cached vowpalwabbit-8.3.2.tar.gz Installing collected packages: vowpalwabbit Running setup.py install for vowpalwabbit ... error Complete output from command /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 -u -c "import setuptools, tokenize;file='/private/var/folders/0y/9l17xzzs43j4syrjschyyssw0000gn/T/pip-build-6mumnwv2/vowpalwabbit/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /var/folders/0y/9l17xzzs43j4syrjschyyssw0000gn/T/pip-tmbcjegf-record/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib.macosx-10.6-intel-3.5 creating build/lib.macosx-10.6-intel-3.5/vowpalwabbit copying vowpalwabbit/init.py -> build/lib.macosx-10.6-intel-3.5/vowpalwabbit copying vowpalwabbit/pyvw.py -> build/lib.macosx-10.6-intel-3.5/vowpalwabbit copying vowpalwabbit/sklearn_vw.py -> build/lib.macosx-10.6-intel-3.5/vowpalwabbit running egg_info writing dependency_links to vowpalwabbit.egg-info/dependency_links.txt writing vowpalwabbit.egg-info/PKG-INFO writing top-level names to vowpalwabbit.egg-info/top_level.txt warning: manifest_maker: standard file '-c' not found

reading manifest file 'vowpalwabbit.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching '*.dll' under directory 'bin'
warning: no previously-included files matching '*.o' found anywhere in distribution
warning: no previously-included files matching '*.exe' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
writing manifest file 'vowpalwabbit.egg-info/SOURCES.txt'
running build_ext
cd vowpalwabbit; /Applications/Xcode.app/Contents/Developer/usr/bin/make -j 4 things
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM parse_example_json.cc > parse_example_json.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM OjaNewton.cc > OjaNewton.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cb_explore_adf.cc > cb_explore_adf.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM action_score.cc > action_score.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cb_explore.cc > cb_explore.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM gen_cs_example.cc > gen_cs_example.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM audit_regressor.cc > audit_regressor.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM vw_validate.cc > vw_validate.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM vw_exception.cc > vw_exception.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM interactions.cc > interactions.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM comp_io.cc > comp_io.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM interact.cc > interact.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM lrqfa.cc > lrqfa.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM svrg.cc > svrg.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM ftrl.cc > ftrl.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM best_constant.cc > best_constant.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM kernel_svm.cc > kernel_svm.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM active_cover.cc > active_cover.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM active.cc > active.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM recall_tree.cc > recall_tree.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM log_multi.cc > log_multi.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM stagewise_poly.cc > stagewise_poly.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM topk.cc > topk.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM explore_eval.cc > explore_eval.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cbify.cc > cbify.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM bs.cc > bs.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM confidence.cc > confidence.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM nn.cc > nn.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM sender.cc > sender.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM loss_functions.cc > loss_functions.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM parser.cc > parser.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM example.cc > example.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM print.cc > print.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM noop.cc > noop.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM bfgs.cc > bfgs.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM mf.cc > mf.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM gd_mf.cc > gd_mf.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM lda_core.cc > lda_core.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM mwt.cc > mwt.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM learner.cc > learner.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM gd.cc > gd.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM accumulate.cc > accumulate.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM parse_args.cc > parse_args.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM network.cc > network.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM scorer.cc > scorer.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM parse_example.cc > parse_example.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search_graph.cc > search_graph.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search_entityrelationtask.cc > search_entityrelationtask.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search_multiclasstask.cc > search_multiclasstask.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search_hooktask.cc > search_hooktask.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search_dep_parser.cc > search_dep_parser.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search_sequencetask.cc > search_sequencetask.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search_meta.cc > search_meta.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM search.cc > search.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cb_algs.cc > cb_algs.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cb_adf.cc > cb_adf.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cb.cc > cb.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM csoaa.cc > csoaa.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM label_dictionary.cc > label_dictionary.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM multilabel.cc > multilabel.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cost_sensitive.cc > cost_sensitive.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM lrq.cc > lrq.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM binary.cc > binary.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM autolink.cc > autolink.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM marginal.cc > marginal.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM ect.cc > ect.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM boosting.cc > boosting.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM multilabel_oaa.cc > multilabel_oaa.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM oaa.cc > oaa.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM multiclass.cc > multiclass.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM simple_label.cc > simple_label.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM rand48.cc > rand48.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM cache.cc > cache.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM unique_sort.cc > unique_sort.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM parse_primitives.cc > parse_primitives.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM parse_regressor.cc > parse_regressor.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM io_buf.cc > io_buf.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM global_data.cc > global_data.d
/usr/bin/g++ -std=c++0x -I ../rapidjson/include -MM hash.cc > hash.d
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c main.cc -o main.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c hash.cc -o hash.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c global_data.cc -o global_data.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c io_buf.cc -o io_buf.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c parse_regressor.cc -o parse_regressor.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c parse_primitives.cc -o parse_primitives.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c unique_sort.cc -o unique_sort.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cache.cc -o cache.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c rand48.cc -o rand48.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c simple_label.cc -o simple_label.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c multiclass.cc -o multiclass.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c oaa.cc -o oaa.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c multilabel_oaa.cc -o multilabel_oaa.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c boosting.cc -o boosting.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c ect.cc -o ect.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c marginal.cc -o marginal.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c autolink.cc -o autolink.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c binary.cc -o binary.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c lrq.cc -o lrq.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cost_sensitive.cc -o cost_sensitive.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c multilabel.cc -o multilabel.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c label_dictionary.cc -o label_dictionary.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c csoaa.cc -o csoaa.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cb.cc -o cb.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cb_adf.cc -o cb_adf.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cb_algs.cc -o cb_algs.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search.cc -o search.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search_meta.cc -o search_meta.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search_sequencetask.cc -o search_sequencetask.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search_dep_parser.cc -o search_dep_parser.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search_hooktask.cc -o search_hooktask.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search_multiclasstask.cc -o search_multiclasstask.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search_entityrelationtask.cc -o search_entityrelationtask.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c search_graph.cc -o search_graph.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c parse_example.cc -o parse_example.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c scorer.cc -o scorer.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c network.cc -o network.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c parse_args.cc -o parse_args.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c accumulate.cc -o accumulate.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c gd.cc -o gd.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c learner.cc -o learner.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c mwt.cc -o mwt.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c lda_core.cc -o lda_core.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c gd_mf.cc -o gd_mf.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c mf.cc -o mf.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c bfgs.cc -o bfgs.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c noop.cc -o noop.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c print.cc -o print.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c example.cc -o example.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c parser.cc -o parser.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c loss_functions.cc -o loss_functions.o
parser.cc:293:5: warning: cannot delete expression with pointer-to-'void' type 'void *' [-Wdelete-incomplete]
    delete p->jsonp;
    ^      ~~~~~~~~
parser.cc:438:24: warning: 'daemon' is deprecated: first deprecated in macOS 10.5 - Use posix_spawn APIs instead. [-Wdeprecated-declarations]
    if (!all.active && daemon(1,1))
                       ^
/usr/include/stdlib.h:285:6: note: 'daemon' has been explicitly marked deprecated here
int      daemon(int, int) __DARWIN_1050(daemon) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_0, __MAC_10_5, __IPHONE_2_0, __IPHONE_2_0, "Use posix_spawn APIs instead.") __WATCHOS_PROHIBITED __TVOS_PROHIBITED;
         ^
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c sender.cc -o sender.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c nn.cc -o nn.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c confidence.cc -o confidence.o
2 warnings generated.
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c bs.cc -o bs.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cbify.cc -o cbify.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c explore_eval.cc -o explore_eval.o
In file included from cbify.cc:6:
./../explore/cpp/MWTExplorer.h:1133:13: warning: 'static' function 'Sample_Without_Replacement' declared in header file should be declared 'static inline' [-Wunneeded-internal-declaration]
static void Sample_Without_Replacement(u32* actions, vector<float>& probs, u32 size, PRG::prg& random_generator, float& top_action_probability)
            ^
./../explore/cpp/MWTExplorer.h:1173:13: warning: 'static' function 'Validate_Actions' declared in header file should be declared 'static inline' [-Wunneeded-internal-declaration]
static void Validate_Actions(u32* actions, u32 num_actions)
            ^
./../explore/cpp/MWTExplorer.h:1188:13: warning: 'static' function 'Put_Action_To_List' declared in header file should be declared 'static inline' [-Wunneeded-internal-declaration]
static void Put_Action_To_List(u32 action, u32* actions, u32 num_actions)
            ^
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c topk.cc -o topk.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c stagewise_poly.cc -o stagewise_poly.o
3 warnings generated.
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c log_multi.cc -o log_multi.o
In file included from explore_eval.cc:3:
./../explore/cpp/MWTExplorer.h:1133:13: warning: 'static' function 'Sample_Without_Replacement' declared in header file should be declared 'static inline' [-Wunneeded-internal-declaration]
static void Sample_Without_Replacement(u32* actions, vector<float>& probs, u32 size, PRG::prg& random_generator, float& top_action_probability)
            ^
./../explore/cpp/MWTExplorer.h:1173:13: warning: 'static' function 'Validate_Actions' declared in header file should be declared 'static inline' [-Wunneeded-internal-declaration]
static void Validate_Actions(u32* actions, u32 num_actions)
            ^
./../explore/cpp/MWTExplorer.h:1188:13: warning: 'static' function 'Put_Action_To_List' declared in header file should be declared 'static inline' [-Wunneeded-internal-declaration]
static void Put_Action_To_List(u32 action, u32* actions, u32 num_actions)
            ^
3 warnings generated.
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c recall_tree.cc -o recall_tree.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c active.cc -o active.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c active_cover.cc -o active_cover.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c kernel_svm.cc -o kernel_svm.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c best_constant.cc -o best_constant.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c ftrl.cc -o ftrl.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c svrg.cc -o svrg.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c lrqfa.cc -o lrqfa.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c interact.cc -o interact.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c comp_io.cc -o comp_io.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c interactions.cc -o interactions.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c vw_exception.cc -o vw_exception.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c vw_validate.cc -o vw_validate.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c audit_regressor.cc -o audit_regressor.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c gen_cs_example.cc -o gen_cs_example.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cb_explore.cc -o cb_explore.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c action_score.cc -o action_score.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c cb_explore_adf.cc -o cb_explore_adf.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c OjaNewton.cc -o OjaNewton.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c parse_example_json.cc -o parse_example_json.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c allreduce_sockets.cc -o allreduce_sockets.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -c allreduce_threads.cc -o allreduce_threads.o
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -o active_interactor active_interactor.cc
ar rcs liballreduce.a allreduce_sockets.o allreduce_threads.o vw_exception.o
ar rcs libvw.a hash.o global_data.o io_buf.o parse_regressor.o parse_primitives.o unique_sort.o cache.o rand48.o simple_label.o multiclass.o oaa.o multilabel_oaa.o boosting.o ect.o marginal.o autolink.o binary.o lrq.o cost_sensitive.o multilabel.o label_dictionary.o csoaa.o cb.o cb_adf.o cb_algs.o search.o search_meta.o search_sequencetask.o search_dep_parser.o search_hooktask.o search_multiclasstask.o search_entityrelationtask.o search_graph.o parse_example.o scorer.o network.o parse_args.o accumulate.o gd.o learner.o mwt.o lda_core.o gd_mf.o mf.o bfgs.o noop.o print.o example.o parser.o loss_functions.o sender.o nn.o confidence.o bs.o cbify.o explore_eval.o topk.o stagewise_poly.o log_multi.o recall_tree.o active.o active_cover.o kernel_svm.o best_constant.o ftrl.o svrg.o lrqfa.o interact.o comp_io.o interactions.o vw_exception.o vw_validate.o audit_regressor.o gen_cs_example.o cb_explore.o action_score.o cb_explore_adf.o OjaNewton.o parse_example_json.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libvw.a(parse_example_json.o) has no symbols
/usr/bin/g++ -std=c++0x   -D__extern_always_inline=inline -Wall -pedantic -DNDEBUG -O3 -fomit-frame-pointer -fno-strict-aliasing  -D_FILE_OFFSET_BITS=64 -I /usr/local/include -I ../rapidjson/include -fPIC  -I ../rapidjson/include -o vw main.o -L. -l vw -l allreduce -L /usr/local/lib -lboost_program_options-mt -lboost_serialization-mt -l pthread -l z
cd python; /Applications/Xcode.app/Contents/Developer/usr/bin/make things
Using Python 3.5
/usr/bin/g++ -std=c++0x -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I /usr/local/include -I ../rapidjson/include -fPIC -c pylibvw.cc -o pylibvw.o
/usr/bin/g++ -shared  pylibvw.o -L /usr/local/lib -L/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config -lpython2.7 -ldl -framework CoreFoundation ../vowpalwabbit/libvw.a ../vowpalwabbit/liballreduce.a -L /usr/local/lib -lboost_program_options-mt -lboost_serialization-mt -l pthread -l z -l boost_python3-mt -o pylibvw.so
Undefined symbols for architecture x86_64:
  "boost::python::detail::init_module(char const*, void (*)())", referenced from:
      _initpylibvw in pylibvw.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [pylibvw.so] Error 1
make: *** [python] Error 2
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/private/var/folders/0y/9l17xzzs43j4syrjschyyssw0000gn/T/pip-build-6mumnwv2/vowpalwabbit/setup.py", line 202, in <module>
    tests_require=['tox']
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/setuptools/command/install.py", line 61, in run
    return orig.install.run(self)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/command/install.py", line 539, in run
    self.run_command('build')
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/command/build.py", line 135, in run
    self.run_command(cmd_name)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/setuptools/command/build_ext.py", line 75, in run
    _build_ext.run(self)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/command/build_ext.py", line 339, in run
    self.build_extensions()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/command/build_ext.py", line 448, in build_extensions
    self._build_extensions_serial()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/command/build_ext.py", line 473, in _build_extensions_serial
    self.build_extension(ext)
  File "/private/var/folders/0y/9l17xzzs43j4syrjschyyssw0000gn/T/pip-build-6mumnwv2/vowpalwabbit/setup.py", line 113, in build_extension
    subprocess.check_call(['make', 'python'], cwd=path.join(here, 'src'), env=env)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/subprocess.py", line 271, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', 'python']' returned non-zero exit status 2

----------------------------------------

Command "/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 -u -c "import setuptools, tokenize;file='/private/var/folders/0y/9l17xzzs43j4syrjschyyssw0000gn/T/pip-build-6mumnwv2/vowpalwabbit/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /var/folders/0y/9l17xzzs43j4syrjschyyssw0000gn/T/pip-tmbcjegf-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/0y/9l17xzzs43j4syrjschyyssw0000gn/T/pip-build-6mumnwv2/vowpalwabbit/

JohnLangford commented 7 years ago

@gramhagen should this be working?

Scott-Graham-Bose commented 7 years ago
Using Python 3.5
/usr/bin/g++ -std=c++0x -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I /usr/local/include -I ../rapidjson/include -fPIC -c pylibvw.cc -o pylibvw.o
/usr/bin/g++ -shared  pylibvw.o -L /usr/local/lib -L/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config -lpython2.7 -ldl -framework CoreFoundation ../vowpalwabbit/libvw.a ../vowpalwabbit/liballreduce.a -L /usr/local/lib -lboost_program_options-mt -lboost_serialization-mt -l pthread -l z -l boost_python3-mt -o pylibvw.so

It does not seem to be using the appropriate includes/ldflags when building the python so. That points to some mixup between the setup.py and makefile passing the python version or retrieving those params.

What do you get when you run these?

python3.5-config --includes
python3.5-config --ldflags
acepor commented 7 years ago

@Scott-Graham-Bose

➜ ~ python3.5-config --includes -I/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m -I/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m ➜ ~ python3.5-config --ldflags -L/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/config-3.5m -lpython3.5m -ldl -framework CoreFoundation ➜ ~

Scott-Graham-Bose commented 7 years ago

ok, there's a weird condition in the makefile that changes the flags when installing under a virtualenv, i suspect that is what is happening.

could you try changing the Makefile in the python directory?

ifeq ($(VIRTUAL_ENV), )
  PYTHON_INCLUDE = $(shell python$(PYTHON_VERSION)-config --includes)
  PYTHON_LDFLAGS = $(shell python$(PYTHON_VERSION)-config --ldflags)
else
  PYTHON_INCLUDE = $(shell python-config --includes)
  PYTHON_LDFLAGS = $(shell python-config --ldflags)
endif

to this:

PYTHON_INCLUDE = $(shell python$(PYTHON_VERSION)-config --includes)
PYTHON_LDFLAGS = $(shell python$(PYTHON_VERSION)-config --ldflags)

then do the following from the python directory:

python3.5 setup.py clean
python3.5 setup.py install
acepor commented 7 years ago

@Scott-Graham-Bose Thanks a lot. It worked!

Scott-Graham-Bose commented 7 years ago

glad to hear it. I'd like to remove the offending code, but i don't understand what use case it was fixing.

@jotterbach can you comment on whether this code is necessary and if there may be a more specific way to solve it that doesn't impact everyone running in a virtualenv?

https://github.com/JohnLangford/vowpal_wabbit/commit/3f273c421d93ffe84d261cd6f2d2d44159404e8b

acepor commented 7 years ago

@Scott-Graham-Bose Sorry, I may need further helps.

When I tryed importing pyvw in iPython, it showed the info:

import pyvw ImportError Traceback (most recent call last)

in () ----> 1 import pyvw /usr/local/lib/python3.6/site-packages/pyvw.py in () 1 import sys ----> 2 import pylibvw 3 4 class SearchTask(): 5 def __init__(self, vw, sch, num_actions): ImportError: dynamic module does not define module export function (PyInit_pylibvw)

Yes, there was a similar issue with the solution for Python2: How to generate pylibvw.py

Basically, we can copy the pylibvw.so to another DIR as you mentioned:

cp python/pylibvw.so /lib/python/2.7/lib-dynload/

However, there is no such DIR in my Python3 folder.

How can this be solved? Thanks very much.

Scott-Graham-Bose commented 7 years ago

this error can be caused by a few different things: the name of the shared object not being consistent with the name of the module pylibvw.so not being on the pythonpath or the pylibvw that is found first is actually compiled for a different version of python (e.g. python2.7)

I don't think it's the first one, and most likely it is the last. can you try the following commands:

python -c 'import imp; print imp.find_module("pyvw"); print imp.find_module("pylibvw")'
acepor commented 7 years ago

@Scott-Graham-Bose

Traceback (most recent call last): File "", line 1, in ImportError: No module named pyvw

Scott-Graham-Bose commented 7 years ago

oops, i guess that would be python3 ? whichever python you used to install vw

acepor commented 7 years ago

I cloned the git repo, and compiled vw in python 2.7.13, although the default environment is Python 3.6.0. I tried to install Python 3, but always failed. Thanks again.

florinb commented 7 years ago

Indeed the problem seems to be related to the selection of different params between the setup.py and Makefile. I was able to fix the problem mentioned above on an Ubuntu 14.04.5 VM with the latest Anaconda 4.31 (the Python 3.6 version 64-bit installer, with ~anaconda3/bin added to PATH) and the latest code from master with the following changes:

Detecting the PYTHON_VERSION could be done in Makefile, too, but I'm not sure about PYTHON_LIBS.

Update Detect the PYTHON_VERSION and PYTHON_LIBS in Makefile (replaced lines 13 to 19, tested on Ubuntu only) without using the export... mentioned above:

ifeq ($(PYTHON_VERSION),)
  PYTHON_VER_FULL = $(wordlist 2,4,$(subst ., ,$(shell python --version 2>&1)))
  PYTHON_VERSION = $(word 1,$(PYTHON_VER_FULL)).$(word 2,$(PYTHON_VER_FULL))
  PYTHON_VER_MAJOR = $(word 1,$(PYTHON_VER_FULL))
  PYTHON_VER_BOOST = $(word 1,$(PYTHON_VER_FULL))$(word 2,$(PYTHON_VER_FULL))
endif

ifeq ($(PYTHON_LIBS),)
  PYTHON_LIBS = -l boost_python
  ifeq ($(PYTHON_VER_MAJOR), 3)
    ifneq ($(notdir $(shell find /usr/lib -name libboost_python-py36.so* -type f 2>&1)), )
      PYTHON_LIBS = -l boost_python-py36
    else ifneq ($(notdir $(shell find /usr/lib -name libboost_python-py35.so* -type f 2>&1)), )
      PYTHON_LIBS = -l boost_python-py35
    else ifneq ($(notdir $(shell find /usr/lib -name libboost_python-py34.so* -type f 2>&1)), )
      PYTHON_LIBS = -l boost_python-py34
    else  
      PYTHON_LIBS = -l boost_python-py$(PYTHON_VER_BOOST)
    endif
  endif
endif
Scott-Graham-Bose commented 7 years ago

this is great, thanks @florinb, could you make a pull request with these changes?

florinb commented 7 years ago

Yes, will do!

Scott-Graham-Bose commented 7 years ago

fwiw, I was playing with anaconda and vowpalwabbit last night and was able to build using the following procedure on Mac OSX:

conda create --name vw boost
source activate vw
git clone https://github.com/JohnLangford/vowpal_wabbit.git
cd vowpal_wabbit
# edit Makefile in repo root
# change BOOST_INCLUDE to use anaconda env dir: /anaconda/envs/vw/include
# change BOOST_LIBRARY to use anaconda lib dir: /andaconda/envs/vw/lib
cd python
# edit Makefile in python dir to match what is in #1230
python setup.py install

Now that I have a working process I think the next step is to create an conda forge project so vw can be installed into an anaconda environment directly, but in the meantime those using anaconda now have an option to install the python package without too much fuss

JohnLangford commented 7 years ago

Maybe add to wiki?

-John

On Mon, May 1, 2017 at 9:07 AM, Scott Graham notifications@github.com wrote:

fwiw, I was playing with anaconda and vowpalwabbit last night and was able to build using the following procedure on Mac OSX:

conda create --name vw boost source activate snowflakes git clone https://github.com/JohnLangford/vowpal_wabbit.git cd vowpal_wabbit

edit Makefile in repo root

change BOOST_INCLUDE to use anaconda env dir: /anaconda/envs/vw/include

change BOOST_LIBRARY to use anaconda lib dir: /andaconda/envs/vw/lib

cd python

edit Makefile in python dir to match what is in #1230

python setup.py install

Now that I have a working process I think the next step is to create an conda forge project so vw can be installed into an anaconda environment directly, but in the meantime those using anaconda now have an option to install the python package without too much fuss

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/JohnLangford/vowpal_wabbit/issues/1208#issuecomment-298330757, or mute the thread https://github.com/notifications/unsubscribe-auth/AAE25iLcaAF8mu8p6bvnoRzMuDPZKgoJks5r1dkUgaJpZM4MTyqP .

jotterbach commented 7 years ago

Not sure if this is still relevant comment @Scott-Graham-Bose , but I introduced the code to be able to install VW within a local virtual environment. I was using VW as a part of a larger project that I wanted to virtualize and I couldn't access it since it installed VW in the system python even when within a venv.

gramhagen commented 7 years ago

Ok. Installing with pip or setup.py under your vitualenv should now work without requiring that special handling.

On Fri, May 26, 2017, 9:27 PM Johannes Otterbach notifications@github.com wrote:

Not sure if this is still relevant comment @Scott-Graham-Bose https://github.com/scott-graham-bose , but I introduced the code to be able to install VW within a local virtual environment. I was using VW as a part of a larger project that I wanted to virtualize and I couldn't access it since it installed VW in the system python even when within a venv.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JohnLangford/vowpal_wabbit/issues/1208#issuecomment-304417470, or mute the thread https://github.com/notifications/unsubscribe-auth/AFdJ2QN43THGNZ3hMHmtQHfa99heoAfbks5r93vtgaJpZM4MTyqP .

acepor commented 7 years ago

@Scott-Graham-Bose many thanks!

juWuBabaaaa commented 6 years ago

How to change the Boost_INCLUDE and Boost_LIBRARY? very puzzled at this

Scott-Graham-Bose commented 6 years ago

those are defined in the Makefile in the main directory