vowpal_wabbit 库无法在 ubuntu 20.04 上构建

vowpal_wabbit 库无法在 ubuntu 20.04 上构建

我正在尝试在 Ubuntu 20.04 上构建 vowpal_wabbit 库版本 8.1.1,并在构建 Java JNI 库时出现以下错误。

mkdir -p target;
g++ -shared -o target/vw_jni.lib src/main/c++/vw_learner_VWFloatArrayLearner.o src/main/c++/vw_learner_VWIntLearner.o src/main/c++/jni_base_learner.o src/main/c++/vw_VW.o src/main/c++/vw_learner_VWFloatLearner.o src/main/c++/vw_learner_VWLearners.o src/main/c++/vw_learner_VWIntArrayLearner.o ../vowpalwabbit/main.o ../vowpalwabbit/.libs/libvw.a ../vowpalwabbit/.libs/liballreduce.a -L/usr/local/lib -l vw -L/lib/x86_64-linux-gnu -lboost_program_options -lpthread -lz -I/usr/include -I /usr/lib/jvm/java-8-openjdk-amd64/include -I /usr/lib/jvm/java-8-openjdk-amd64/include/linux
/usr/bin/ld: ../vowpalwabbit/.libs/libvw.a(parse_regressor.o): relocation R_X86_64_PC32 against symbol `_ZSt4cerr@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make: *** [Makefile:42: target/vw_jni.lib] Error 1

我检查了一下,发现在创建目标文件 parse_reggressor.o 时确实使用了 -fPIC 标志。

任何帮助将不胜感激。

相关内容