Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

undefined symbol: glPopGroupMarkerEXT on import #4492

Open
chtrac opened this issue Dec 23, 2021 · 1 comment
Open

undefined symbol: glPopGroupMarkerEXT on import #4492

chtrac opened this issue Dec 23, 2021 · 1 comment
Labels
build/install Build or installation issue visualization

Comments

@chtrac
Copy link

chtrac commented Dec 23, 2021

Describe the bug
When I try to import open3d with import open3d as o3d, I get the following error:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import open3d as o3d
  File "/home/christopher/Development/personal/ml-venv/lib/python3.8/site-packages/open3d/__init__.py", line 57, in <module>
    _CDLL(str(next((_Path(__file__).parent / 'cpu').glob('pybind*'))))
  File "/usr/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /home/christopher/Development/personal/ml-venv/lib/python3.8/site-packages/open3d/cpu/pybind.cpython-38-x86_64-linux-gnu.so: undefined symbol: glGetQueryObjectui64v

To Reproduce
Steps to reproduce the behavior:

  1. install open3d from pip or build from source
  2. run python -c "import open3d as o3d"
  3. See error

Expected behavior
I expected open3d to be imported without any error.

Environment (please complete the following information):

  • Operating system: Kubuntu 20.04
  • Python version: 3.8
  • Open3D version: 0.11 -- 0.14.1 (also development version)
  • Is this remote workstation?: no
  • How did you install Open3D?: pip, build from source
  • Compiler version (if built from source): gcc 9.3.0

Additional context
I found similar issues that were already closed: #3647 and #2903. #3647 mentions that it's fine if you install an older version (0.10) with pip, and that works for me too. It also mentions that it works if you build from source, and that is not the case for me. Even with built Python binaries, I get the same error.

I tried to install 0.10, 0.11, 0.12, 0.13 and 0.14 using pip, the development version (https://storage.googleapis.com/open3d-releases-master/python-wheels/open3d-0.14.1-cp38-cp38-manylinux_2_27_x86_64.whl), and from the newest source. 0.10 works, but no newer version.

@chtrac chtrac added the bug Not a build issue, this is likely a bug. label Dec 23, 2021
@theNded theNded added build/install Build or installation issue and removed bug Not a build issue, this is likely a bug. labels Dec 27, 2021
@ssheorey
Copy link
Member

Hi @cdahlin this issue has cropped up occasionally and we have not been able to reproduce it on our side. This appears to be related to OpenGL libraries, that come with your graphics driver.

e.g. see https://bugs.freedesktop.org/show_bug.cgi?id=90205

We cannot provide OpenGL libraries as part of the Open3D package since they are GPU / driver dependent. If there is a version incompatibility between the pre-compiled Open3D packages and your system, this can be resolved by rebuilding Open3D on your system (as noted in #3647). This may not work if you have multiple OpenGL libraries in your system (e.g. multiple driver versions or integrated + discrete GPU) and different ones get used during building and running.

Some things to try to debug the issue:

  • Update all graphics driver to the latest version and retry the pre-built Open3D wheel and build from source wheel.
  • If you have installs of older graphics drivers in your system, remove them. Search for libGL.so.* on your computer to find them all.
  • If you have 2 GPUs, check importing Open3D with each of them disabled in turns.
  • Use LD_PRELOAD to ensure that the correct libGL.so.* is loaded by Open3D. This will be the library that's part of your latest driver installation.
  • Trace the Python process to see which libGL.so is loaded by it. e.g.: https://www.cloudsavvyit.com/11423/how-to-use-ltrace-to-trace-library-calls/

Could you provide more details about the GPU(s) in your system and the version of drivers installed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build/install Build or installation issue visualization
Projects
None yet
Development

No branches or pull requests

3 participants