facebookresearch / mvfst-rl

An asynchronous RL platform for congestion control in QUIC transport protocol. https://arxiv.org/abs/1910.04054.
Other
154 stars 34 forks source link

the version of protobuf #9

Closed weiyuxingchen closed 4 years ago

weiyuxingchen commented 4 years ago

Can you tell me the configuration of your environment, the syntax error is always reported during compilation, what version of protobuf are you using

weiyuxingchen commented 4 years ago

In the "/mvfst-rl/third-party/torchbeast/setup.py" file ,is there any problem in the following place? "subprocess.call( protoc + "--grpc_out=libtorchbeast -Ilibtorchbeast" "--plugin=protoc-gen-grpc=which grpc_cpp_plugin" "rpcenv.proto", shell=True, )

It always fails to compile.

weiyuxingchen commented 4 years ago

I have compiled,but when I use the "python3 -m train.train --mode=test --base_logdir=/tmp/logs --cc_env_history_size=20",the following error occurs: "from libtorchbeast import actorpool ImportError: /usr/local/anaconda3/envs/mvfst-rl/lib/python3.7/site-packages/libtorchbeast-0.0.8-py3.7-linux-x86_64.egg/libtorchbeast/actorpool.cpython-37m-x86_64-linux-gnu.so: undefined symbol: X509_NAME_free"

viswanathgs commented 4 years ago

Hi @weiyuxingchen, thank you for trying out mvfst-rl! Could you please share which platform you're building this in, as well as any logs from compilation?

@heiner, have you seen this linking error before in libtorchbeast?

weiyuxingchen commented 4 years ago

@viswanathgs ,thanks for your reply.The platform I use is Ubuntu18.04,Some compilation problems have been solved, but errors will still be reported at runtime: "from libtorchbeast import actorpool ImportError: /usr/local/anaconda3/envs/mvfst-rl/lib/python3.7/site-packages/libtorchbeast-0.0.8-py3.7-linux-x86_64.egg/libtorchbeast/actorpool.cpython-37m-x86_64-linux-gnu.so: undefined symbol: X509_NAME_free"

bottler commented 4 years ago

The logs of you compilation would be interesting. One possibility is something like this: you have more than one version of openssl, and you are picking up an older version at build time and picking up a newer version at runtime.