NVlabs / BundleSDF

[CVPR 2023] BundleSDF: Neural 6-DoF Tracking and 3D Reconstruction of Unknown Objects
https://bundlesdf.github.io/
Other
1.07k stars 118 forks source link

ImportError: GLIBCXX_3.4.29 not found #163

Closed misrolox closed 3 months ago

misrolox commented 3 months ago

I'm encountering an issue when trying to run the BundleSDF using run_custom.py in a Docker container. I get an ImportError related to GLIBCXX_3.4.29 not being found.

What I try to do: I built the image and ran the container as described in the README. I also ran the build.sh file as described. Then I try to run the following command: python run_custom.py --mode run_video --video_dir /path/to/root --out_folder /path/to/out --use_segmenter 1 --use_gui 1 --debug_level 2 assuming root is setup just as is described in the README.md

What I get:

Traceback (most recent call last):
  File "run_custom.py", line 10, in <module>
    from bundlesdf import *
  File "/path/to/BundleSDF/bundlesdf.py", line 10, in <module>
    from Utils import *
  File "/path/to/BundleSDF/Utils.py", line 11, in <module>
    import open3d as o3d
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/open3d/__init__.py", line 146, in <module>
    import open3d.ml
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/open3d/ml/__init__.py", line 16, in <module>
    from . import datasets
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/open3d/ml/datasets.py", line 15, in <module>
    from open3d._ml3d.datasets import *
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/open3d/_ml3d/datasets/__init__.py", line 3, in <module>
    from .semantickitti import SemanticKITTI
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/open3d/_ml3d/datasets/semantickitti.py", line 6, in <module>
    from sklearn.neighbors import KDTree
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/sklearn/__init__.py", line 83, in <module>
    from .base import clone
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/sklearn/base.py", line 19, in <module>
    from .utils import _IS_32BIT
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/sklearn/utils/__init__.py", line 22, in <module>
    from ._param_validation import Interval, validate_params
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/sklearn/utils/_param_validation.py", line 15, in <module>
    from .validation import _is_arraylike_not_scalar
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/sklearn/utils/validation.py", line 25, in <module>
    from ..utils._array_api import _asarray_with_order, _is_numpy_namespace, get_namespace
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/sklearn/utils/_array_api.py", line 9, in <module>
    from .fixes import parse_version
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/sklearn/utils/fixes.py", line 19, in <module>
    import scipy.stats
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/scipy/stats/__init__.py", line 485, in <module>
    from ._stats_py import *
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/scipy/stats/_stats_py.py", line 39, in <module>
    from scipy.spatial.distance import cdist
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/scipy/spatial/__init__.py", line 105, in <module>
    from ._kdtree import *
  File "/opt/conda/envs/py38/lib/python3.8/site-packages/scipy/spatial/_kdtree.py", line 4, in <module>
    from ._ckdtree import cKDTree, cKDTreeNode
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /opt/conda/envs/py38/lib/python3.8/site-packages/scipy/spatial/_ckdtree.cpython-38-x86_64-linux-gnu.so)

On my machine, gcc-12 is installed, and this file is working. In the docker container, gcc-9 is installed and it is not working. Installing gcc-10 doesn't help and when trying to install gcc-11, the package is not found.

8866lt commented 3 months ago

apt-get update apt-get install -y software-properties-common add-apt-repository ppa:ubuntu-toolchain-r/test apt-get update apt-get upgrade -y libstdc++6

misrolox commented 3 months ago

@8866lt Thanks! This worked.