【发布时间】:2020-10-13 16:05:02
【问题描述】:
我们一直在 Ubuntu 16 上使用 VowPal Wabbit。我们想迁移到 Ubuntu 18,但似乎没有针对 Ubuntu 18 的 VW 版本。首先 - 存在吗?其次,如果没有,有人可以向我指出构建和制作 Ubuntu 18 兼容库的说明吗?我们目前使用 Java 和 JNI 与库进行通信。
谢谢, 罗恩
【问题讨论】:
标签: java ubuntu-18.04 vowpalwabbit
我们一直在 Ubuntu 16 上使用 VowPal Wabbit。我们想迁移到 Ubuntu 18,但似乎没有针对 Ubuntu 18 的 VW 版本。首先 - 存在吗?其次,如果没有,有人可以向我指出构建和制作 Ubuntu 18 兼容库的说明吗?我们目前使用 Java 和 JNI 与库进行通信。
谢谢, 罗恩
【问题讨论】:
标签: java ubuntu-18.04 vowpalwabbit
目前我们还没有合适的二进制版本,因此您需要从源代码构建。这方面的文档有些稀少,所以我会在这里详细介绍。
要在 Ubuntu 上构建 Java JNI 库,您需要以下依赖项:
sudo apt install libboost-dev libboost-thread-dev libboost-program-options-dev libboost-system-dev libboost-math-dev libboost-test-dev zlib1g-dev cmake g++ default-jdk
从这里:https://github.com/VowpalWabbit/vowpal_wabbit/wiki/Dependencies#ubuntu
然后你需要使用 CMake 生成构建文件并运行构建:
# The important bit here is that the submodules are downloaded.
git clone --recursive https://github.com/VowpalWabbit/vowpal_wabbit.git
cd vowpal_wabbit
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DWARNINGS=Off -DBUILD_JAVA=On -DBUILD_DOCS=Off -DBUILD_PYTHON=Off -DSTATIC_LINK_VW_JAVA=On -DBUILD_TESTS=Off
make vw_jni -j `nproc`
cd ..
mvn test -f java/pom.xml
-DBUILD_JAVA=On Java 是可选的,因此需要它来生成目标-DSTATIC_LINK_VW_JAVA=On 这将静态链接一些依赖项,可选vw_jni 目标也运行 mvn check
-DBUILD_DOCS=Off -DBUILD_PYTHON=Off -DBUILD_TESTS=Off不做你不需要的事情来节省时间Java 是作为 CI 的一部分构建和测试的,可以在此处查看示例脚本。 在 CI 中运行的示例如下:
【讨论】: