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

extensions not available #13

Closed
WXinlong opened this issue Apr 10, 2019 · 5 comments
Closed

extensions not available #13

WXinlong opened this issue Apr 10, 2019 · 5 comments

Comments

@WXinlong
Copy link

Hi, thanks for your great work!
I compiled and installed dirt successfully but an error occurs when I run the test script tests/square_test.py.


python tests/square_test.py
2019-04-10 16:23:48.485565: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-04-10 16:23:51.010225: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1392] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:02:00.0
totalMemory: 10.91GiB freeMemory: 10.75GiB
2019-04-10 16:23:51.281038: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1392] Found device 1 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:03:00.0
totalMemory: 10.91GiB freeMemory: 10.75GiB
2019-04-10 16:23:51.564684: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1392] Found device 2 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:83:00.0
totalMemory: 10.91GiB freeMemory: 1.71GiB
2019-04-10 16:23:51.894811: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1392] Found device 3 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:84:00.0
totalMemory: 10.91GiB freeMemory: 10.75GiB
2019-04-10 16:23:51.897135: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1471] Adding visible gpu devices: 0, 1, 2, 3
2019-04-10 16:23:53.256778: I tensorflow/core/common_runtime/gpu/gpu_device.cc:952] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-04-10 16:23:53.256819: I tensorflow/core/common_runtime/gpu/gpu_device.cc:958] 0 1 2 3
2019-04-10 16:23:53.256830: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0: N Y N N
2019-04-10 16:23:53.256838: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 1: Y N N N
2019-04-10 16:23:53.256844: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 2: N N N Y
2019-04-10 16:23:53.256851: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 3: N N Y N
2019-04-10 16:23:53.257792: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1084] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10403 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0, compute capability: 6.1)
2019-04-10 16:23:53.424878: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1084] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:1 with 10403 MB memory) -> physical GPU (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0, compute capability: 6.1)
2019-04-10 16:23:53.594674: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1084] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:2 with 1461 MB memory) -> physical GPU (device: 2, name: GeForce GTX 1080 Ti, pci bus id: 0000:83:00.0, compute capability: 6.1)
2019-04-10 16:23:53.619942: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1084] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:3 with 10403 MB memory) -> physical GPU (device: 3, name: GeForce GTX 1080 Ti, pci bus id: 0000:84:00.0, compute capability: 6.1)
2019-04-10 16:23:53.875018: F /tmp/pip-req-build-hPrDXQ/csrc/gl_common.h:46] extensions eglQueryDevicesEXT, eglQueryDeviceAttribEXT and eglGetPlatformDisplayEXT not available
[1] 656228 abort (core dumped) python tests/square_test.py


I checked that all the requirements in README are met. I also searched and didn't find a solution in https://github.com/pmh47/dirt/issues/2.
I ran the following lines but it looks like there is nothing wrong.

import dirt.rasterise_ops import subprocess subprocess.call(['ldd', dirt.rasterise_ops._lib_path + '/librasterise.so'])

    linux-vdso.so.1 (0x00007ffc33d25000)
    libEGL.so.1 => /usr/lib/x86_64-linux-gnu/libEGL.so.1 (0x00007f161761f000)
    libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f161737b000)
    libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007f161710d000)
    libtensorflow_framework.so => /data00/home/wangxinlong/anaconda2/lib/python2.7/site-packages/tensorflow/libtensorflow_framework.so (0x00007f1616125000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f1615f1d000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1615d00000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1615afc000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f16157f1000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f16154f0000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f16152da000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1614f2f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1617bd4000)
    libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f1614d2d000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f16149ea000)
    libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f16147e5000)
    libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007f16145dd000)
    libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f16143d3000)
    libxcb-shape.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shape.so.0 (0x00007f16141cf000)
    libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f1613fad000)
    libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f1613d9e000)
    libwayland-server.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007f1613b8c000)
    libgbm.so.1 => /usr/lib/x86_64-linux-gnu/libgbm.so.1 (0x00007f161397e000)
    libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f1613755000)
    libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f1613548000)
    libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f1613318000)
    libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f161304a000)
    libcublas.so.9.0 => /usr/local/cuda-9.0/lib64/libcublas.so.9.0 (0x00007f160fc14000)
    libcuda.so.1 => /usr/lib/x86_64-linux-gnu/libcuda.so.1 (0x00007f160ed97000)
    libcudnn.so.7 => /usr/local/cuda-9.0/lib64/libcudnn.so.7 (0x00007f15fc011000)
    libcufft.so.9.0 => /usr/local/cuda-9.0/lib64/libcufft.so.9.0 (0x00007f15f3f70000)
    libcurand.so.9.0 => /usr/local/cuda-9.0/lib64/libcurand.so.9.0 (0x00007f15f000c000)
    libcudart.so.9.0 => /usr/local/cuda-9.0/lib64/libcudart.so.9.0 (0x00007f15efd9f000)
    libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f15efb9b000)
    libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f15ef996000)
    libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f15ef78d000)
    libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f15ef563000)
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f15ef351000)
    libnvidia-fatbinaryloader.so.384.81 => /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.384.81 (0x00007f15ef0ff000)

Thanks for your help in advance. Any suggestion will be greatly appreciated:)

@pmh47
Copy link
Owner

pmh47 commented Apr 10, 2019

This is probably because the libEGL it finds is not the nvidia driver's version, nor is it a GLVND version that dispatches to nvidia's. Please let me know the output of ls -l /usr/lib/x86_64-linux-gnu/*GL*, and also what linux distribution/version you're using.

@WXinlong
Copy link
Author

The output of ls -l /usr/lib/x86_64-linux-gnu/*GL*:
lrwxrwxrwx 1 root root 23 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.0 -> libEGL_nvidia.so.384.81
-rwxr-xr-x 1 root root 1310552 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.384.81
lrwxrwxrwx 1 root root 11 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libEGL.so -> libEGL.so.1
lrwxrwxrwx 1 root root 15 Aug 20 2015 /usr/lib/x86_64-linux-gnu/libEGL.so.1 -> libEGL.so.1.0.0
-rw-r--r-- 1 root root 173144 Aug 20 2015 /usr/lib/x86_64-linux-gnu/libEGL.so.1.0.0
-rwxr-xr-x 1 root root 711864 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
lrwxrwxrwx 1 root root 29 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.1 -> libGLESv1_CM_nvidia.so.384.81
-rwxr-xr-x 1 root root 54296 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv1_CM_nvidia.so.384.81
lrwxrwxrwx 1 root root 17 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so -> libGLESv1_CM.so.1
-rwxr-xr-x 1 root root 43696 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
lrwxrwxrwx 1 root root 26 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.2 -> libGLESv2_nvidia.so.384.81
-rwxr-xr-x 1 root root 86200 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv2_nvidia.so.384.81
lrwxrwxrwx 1 root root 14 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv2.so -> libGLESv2.so.2
-rwxr-xr-x 1 root root 60528 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLESv2.so.2
-rw-r--r-- 1 root root 671 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGL.la
lrwxrwxrwx 1 root root 10 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGL.so -> libGL.so.1
lrwxrwxrwx 1 root root 14 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.1.0.0
-rwxr-xr-x 1 root root 665712 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
-rw-r--r-- 1 root root 901120 Sep 20 2013 /usr/lib/x86_64-linux-gnu/libGLU.a
lrwxrwxrwx 1 root root 15 Sep 20 2013 /usr/lib/x86_64-linux-gnu/libGLU.so -> libGLU.so.1.3.1
lrwxrwxrwx 1 root root 15 Sep 20 2013 /usr/lib/x86_64-linux-gnu/libGLU.so.1 -> libGLU.so.1.3.1
-rw-r--r-- 1 root root 449144 Sep 20 2013 /usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
lrwxrwxrwx 1 root root 23 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0 -> libGLX_nvidia.so.384.81
lrwxrwxrwx 1 root root 23 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0 -> libGLX_nvidia.so.384.81
-rwxr-xr-x 1 root root 1291224 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.384.81
lrwxrwxrwx 1 root root 11 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLX.so -> libGLX.so.0
-rwxr-xr-x 1 root root 64752 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libGLX.so.0
lrwxrwxrwx 1 root root 14 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libOpenGL.so -> libOpenGL.so.0
-rwxr-xr-x 1 root root 211728 Jul 25 2018 /usr/lib/x86_64-linux-gnu/libOpenGL.so.0


Linux version:
4.9.0-0.bpo.6-amd64 (debian-kernel@lists.debian.org) (gcc version 4.9.2 (Debian 4.9.2-10+deb8u1) )

@pmh47
Copy link
Owner

pmh47 commented Apr 10, 2019

You seem to have a version of libEGL that doesn't match everything else (dated 2015, not 2018), and this is the one that ldd says is being used. I'm not sure how the system has ended up like this. Reinstalling the nvidia driver might fix things. libEGL.so should be installed as part of the driver package, and is then a thin wrapper that uses libGLdispatch to call through to libEGL_nvidia. Unfortunately the _nvidia version doesn't directly export the relevant symbols, so you probably can't just LD_PRELOAD it (though it may be worth trying, if you can't fix the installation).

@WXinlong
Copy link
Author

Thanks for your help! The LD_PRELOAD trick works well
LD_PRELOAD=/path/to/new/libEGL.so.1.1.0 tests/square_test.py

@Frank-Dz
Copy link

Thanks for your help! The LD_PRELOAD trick works well
LD_PRELOAD=/path/to/new/libEGL.so.1.1.0 tests/square_test.py

Hi~
I also met the same problem.
I installed nvidia-driver, and got corresponding pkgs:
in /usr/lib/nvidia-410:
alt_ld.so.conf libnvidia-compiler.so
bin libnvidia-compiler.so.1
ld.so.conf libnvidia-compiler.so.410.78
libEGL_nvidia.so.0 libnvidia-eglcore.so.410.78
libEGL_nvidia.so.410.78 libnvidia-egl-wayland.so.1
libEGL.so libnvidia-egl-wayland.so.1.1.0
libEGL.so.1 libnvidia-encode.so
libEGL.so.1.1.0 libnvidia-encode.so.1
libEGL.so.410.78 libnvidia-encode.so.410.78
libGLdispatch.so.0 libnvidia-fatbinaryloader.so.410.78
libGLESv1_CM_nvidia.so.1 libnvidia-fbc.so
libGLESv1_CM_nvidia.so.410.78 libnvidia-fbc.so.1
libGLESv1_CM.so libnvidia-fbc.so.410.78
libGLESv1_CM.so.1 libnvidia-glcore.so.410.78
libGLESv1_CM.so.1.2.0 libnvidia-glsi.so.410.78
libGLESv2_nvidia.so.2 libnvidia-glvkspirv.so.410.78
libGLESv2_nvidia.so.410.78 libnvidia-ifr.so
libGLESv2.so libnvidia-ifr.so.1
libGLESv2.so.2 libnvidia-ifr.so.410.78
libGLESv2.so.2.1.0 libnvidia-ml.so
libGL.so libnvidia-ml.so.1
libGL.so.1 libnvidia-ml.so.410.78
libGL.so.1.7.0 libnvidia-ptxjitcompiler.so.1
libGL.so.410.78 libnvidia-ptxjitcompiler.so.410.78
libGLX_indirect.so.0 libnvidia-rtcore.so.410.78
libGLX_nvidia.so.0 libnvidia-tls.so.410.78
libGLX_nvidia.so.410.78 libnvidia-wfb.so.1
libGLX.so libnvidia-wfb.so.410.78
libGLX.so.0 libnvoptix.so.1
libnvcuvid.so libnvoptix.so.410.78
libnvcuvid.so.1 libOpenGL.so
libnvcuvid.so.410.78 libOpenGL.so.0
libnvidia-cbl.so.410.78 tls
libnvidia-cfg.so vdpau
libnvidia-cfg.so.1 xorg
libnvidia-cfg.so.410.78

And I set

export LD_PRELOAD=/usr/lib/nvidia-410/libEGL.so.1.1.0

in ~/.bashrc

but I still get this error:

2020-04-16 11:39:05.592220: F /home/frank/Documents/dirt/csrc/gl_common.h:46] extensions eglQueryDevicesEXT, eglQueryDeviceAttribEXT and eglGetPlatformDisplayEXT not available

Can anyone help?
Thanks in advance!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants