I have the same problem. Attempting to link against /usr/lib/nvidia-375/libEGL.so.375.39, /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1.0.0, and /usr/lib/nvidia-375/libEGL_nvidia.so.375.39 instead of -lEGL does not fix it. It does not fix it as in eglGetDisplay() still returns EGL_NO_DISPLAY.
/usr/lib/nvidia-375$ ls -l *EGL*
lrwxrwxrwx 1 root root 23 Mar 17 04:31 libEGL_nvidia.so.0 -> libEGL_nvidia.so.375.39
-rw-r--r-- 1 root root 1079216 Jan 31 22:06 libEGL_nvidia.so.375.39
lrwxrwxrwx 1 root root 11 Mar 17 04:31 libEGL.so -> libEGL.so.1
-rw-r--r-- 1 root root 77264 Jan 31 20:35 libEGL.so.1
-rw-r--r-- 1 root root 20608 Jan 31 20:35 libEGL.so.375.39
It appears that libEGL.so.1 itself is an ELF:
/usr/lib/nvidia-375$ file libEGL.so.1
libEGL.so.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
I have the same problem. Attempting to link against /usr/lib/ nvidia- 375/libEGL. so.375. 39, /usr/lib/ x86_64- linux-gnu/ mesa-egl/ libEGL. so.1.0. 0, and /usr/lib/ nvidia- 375/libEGL_ nvidia. so.375. 39 instead of -lEGL does not fix it. It does not fix it as in eglGetDisplay() still returns EGL_NO_DISPLAY.
/usr/lib/ nvidia- 375$ ls -l *EGL* nvidia. so.375. 39 nvidia. so.375. 39
lrwxrwxrwx 1 root root 23 Mar 17 04:31 libEGL_nvidia.so.0 -> libEGL_
-rw-r--r-- 1 root root 1079216 Jan 31 22:06 libEGL_
lrwxrwxrwx 1 root root 11 Mar 17 04:31 libEGL.so -> libEGL.so.1
-rw-r--r-- 1 root root 77264 Jan 31 20:35 libEGL.so.1
-rw-r--r-- 1 root root 20608 Jan 31 20:35 libEGL.so.375.39
It appears that libEGL.so.1 itself is an ELF: nvidia- 375$ file libEGL.so.1
/usr/lib/
libEGL.so.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped