google-deepmind / reverb

Reverb is an efficient and easy-to-use data storage and transport system designed for machine learning research
Apache License 2.0
704 stars 92 forks source link

Failed Import since TensorFlow 2.5.0 release #42

Closed IanRDavies closed 3 years ago

IanRDavies commented 3 years ago

Today TensorFlow released version 2.5.0 which seems to have led to importing reverb failing with the error below (achieved by opening a Python (3.8.5) REPL and trying the import).

>>> import reverb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/dist-packages/reverb/__init__.py", line 27, in <module>
    from reverb import item_selectors as selectors
  File "/usr/local/lib/python3.8/dist-packages/reverb/item_selectors.py", line 19, in <module>
    from reverb import pybind
  File "/usr/local/lib/python3.8/dist-packages/reverb/pybind.py", line 1, in <module>
    import tensorflow as _tf; from .libpybind import *; del _tf
ImportError: /usr/local/lib/python3.8/dist-packages/reverb/libpybind.so: undefined symbol: _ZN4absl14lts_2020_02_2518container_internal18global_next_sampleE

Reproduction Steps

Current Workaround Fix TensorFlow to version 2.4.*

Expected Behaviour Import to work without issue.

Note: No problem when using dm-reverb-nightly[tensorflow] (This is because it installs TensorFlow version 2.6.0-dev20210514)

fastturtle commented 3 years ago

Hi @IanRDavies the most recent Reverb release (0.3.0) is compiled against TF 2.5.0 and will fix :)