Skip to content
This repository has been archived by the owner on Aug 28, 2021. It is now read-only.

Error occurred when compile to build objrender #48

Closed
Zzmonica opened this issue Nov 4, 2018 · 43 comments
Closed

Error occurred when compile to build objrender #48

Zzmonica opened this issue Nov 4, 2018 · 43 comments

Comments

@Zzmonica
Copy link

Zzmonica commented Nov 4, 2018

when I runing SYSTEM=conda.linux PYTHON_CONFIG=/home/zjw/anaconda3/envs/LG/bin/python-config make -j
It comes that:
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’

make: *** [build/objview-suncg.o] Error 1
make: *** [build/suncg/render.o] Error 1

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 4, 2018

Could you include full logs please?
Could you include your system information and how you installed glm?

@Zzmonica
Copy link
Author

Zzmonica commented Nov 5, 2018

For some reason I can't use docker, so I install the dependencies step by step. When I install glm, the logs show that:
...
-- Installing: /home/zhoujingwen/glm/build/build/SOME/INSTALL_DIR/include/glm/detail/func_exponential_simd.inl
-- Installing: /home/zhoujingwen/glm/build/build/SOME/INSTALL_DIR/include/glm/detail/type_mat4x4_simd.inl
-- Installing: /home/zhoujingwen/glm/build/build/SOME/INSTALL_DIR/include/glm/detail/type_mat3x3.hpp
-- Installing: /home/zhoujingwen/glm/build/build/SOME/INSTALL_DIR/include/glm/detail/func_integer.hpp
-- Installing: /home/zhoujingwen/glm/build/build/SOME/INSTALL_DIR/include/glm/common.hpp
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/include/glm/mat2x2.hpp
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/include/glm/packing.hpp
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/include/glm/fwd.hpp
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/include/glm/glm.hpp
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/lib/x86_64-linux-gnu/cmake/glm/glmConfig.cmake
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/lib/x86_64-linux-gnu/cmake/glm/glmConfigVersion.cmake
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/lib/x86_64-linux-gnu/cmake/glm/glmTargets.cmake
-- Installing: /home/zjw/glm/build/build/SOME/INSTALL_DIR/lib/x86_64-linux-gnu/pkgconfig/glm.pc

It seems that no mistake when installing glm.

So I complie the render file with INCLUDE_DIR. running :

SYSTEM=conda.linux PYTHON_CONFIG=/home/zhoujingwen/anaconda3/envs/LG/bin/python3-config INCLUDE_DIR=-I/home/zhoujingwen/glm/build/SOME/INSTALL_DIR/include-I/home/zhoujingwen/glm/build/SOME/INSTALL_DIR make -j

the problem is coming,the logs says:

/usr/include/glm/gtc/matrix_transform.inl: In function ‘glm::detail::tmat4x4<T, (glm::precision)0u> glm::tweakedInfinitePerspective(T, T, T)’:
/usr/include/glm/gtc/matrix_transform.inl:339:185: note: #pragma message: GLM: tweakedInfinitePerspective function taking degrees as a parameter is depre
cated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.

pragma message("GLM: tweakedInfinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM

headers to remove this message.")
^
make: *** [build/gl/glContext.o] Error 1
make: *** Waiting for unfinished jobs....
gl/camera.cc: In constructor ‘render::CameraController::CameraController(GLFWwindow&, render::Camera&)’:
gl/camera.cc:44:44: error: invalid initialization of non-const reference of type ‘GLFWwindow&’ from an rvalue of type ‘’
window_{window}, cam_(cam), keys_(NR_KEYS) {
^
In file included from test-rectangle.cpp:10:0:
gl/fbScope.hh: In constructor ‘render::FramebufferScope::FramebufferScope(const render::Framebuffer&)’:
gl/fbScope.hh:86:13: warning: a temporary bound to ‘render::FramebufferScope::fb_’ only persists until the constructor exits [-Wextra]
fb_{fb} { fb.bind(); }
^
In file included from /usr/include/glm/detail/type_vec3.hpp:338:0,
from /usr/include/glm/vec3.hpp:32,
from /usr/include/glm/glm.hpp:96,
from gl/camera.hh:12,
from gl/camera.cc:10:
/usr/include/glm/detail/type_vec3.inl: In instantiation of ‘glm::detail::tvec3<T, P>::tvec3(const std::initializer_list&) [with U = glm::detail::tvec3
<float, (glm::precision)0u>; T = float; glm::precision P = (glm::precision)0u]’:
gl/camera.hh:45:58: required from here
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
z(static_cast(v.begin()[2]))
^
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
make: *** [build/test-rectangle.o] Error 1
make: *** [build/gl/camera.o] Error 1

In file included from /usr/include/glm/detail/type_vec3.hpp:338:0,
from /usr/include/glm/vec3.hpp:32,
from /usr/include/glm/gtc/matrix_transform.hpp:52,
from objview.cpp:9:
/usr/include/glm/detail/type_vec3.inl: In instantiation of ‘glm::detail::tvec3<T, P>::tvec3(const std::initializer_list&) [with U = glm::detail::tvec3
<float, (glm::precision)0u>; T = float; glm::precision P = (glm::precision)0u]’:
gl/camera.hh:45:58: required from here
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
z(static_cast(v.begin()[2]))
....
/usr/include/glm/gtc/matrix_transform.inl: In function ‘glm::detail::tmat4x4<U, (glm::precision)0u> glm::tweakedInfinitePerspective(T, T, T)’: [8/1064]
/usr/include/glm/gtc/matrix_transform.inl:339:185: note: #pragma message: GLM: tweakedInfinitePerspective function taking degrees as a parameter is depre
cated. #define GLM_FORCE_RADIANS before including GLM headers to remove this message.

pragma message("GLM: tweakedInfinitePerspective function taking degrees as a parameter is deprecated. #define GLM_FORCE_RADIANS before including GLM

headers to remove this message.")
^
make: *** [build/objview.o] Error 1
In file included from objview-offline.cpp:18:0:
gl/fbScope.hh: In constructor ‘render::FramebufferScope::FramebufferScope(const render::Framebuffer&)’:
gl/fbScope.hh:86:13: warning: a temporary bound to ‘render::FramebufferScope::fb_’ only persists until the constructor exits [-Wextra]
fb_{fb} { fb.bind(); }
^
In file included from /usr/include/glm/detail/type_vec3.hpp:338:0,
from /usr/include/glm/vec3.hpp:32,
from /usr/include/glm/gtc/matrix_transform.hpp:52,
from objview-suncg.cpp:9:
/usr/include/glm/detail/type_vec3.inl: In instantiation of ‘glm::detail::tvec3<T, P>::tvec3(const std::initializer_list&) [with U = glm::detail::tvec3
<float, (glm::precision)0u>; T = float; glm::precision P = (glm::precision)0u]’:
gl/camera.hh:45:58: required from here
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
z(static_cast(v.begin()[2]))
^
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
In file included from /usr/include/glm/detail/type_vec3.hpp:338:0,
from /usr/include/glm/vec3.hpp:32,
from /usr/include/glm/gtc/matrix_transform.hpp:52,
from objview-offline.cpp:9:
/usr/include/glm/detail/type_vec3.inl: In instantiation of ‘glm::detail::tvec3<T, P>::tvec3(const std::initializer_list&) [with U = glm::detail::tvec3
<float, (glm::precision)0u>; T = float; glm::precision P = (glm::precision)0u]’:
gl/camera.hh:45:58: required from here
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
z(static_cast(v.begin()[2]))
^
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
In file included from /usr/include/glm/detail/type_vec3.hpp:338:0,
from /usr/include/glm/vec3.hpp:32,
from /usr/include/glm/glm.hpp:96,
from suncg/render.hh:14,
from suncg/render.cc:8:
/usr/include/glm/detail/type_vec3.inl: In instantiation of ‘glm::detail::tvec3<T, P>::tvec3(const std::initializer_list&) [with U = glm::detail::tvec3
<float, (glm::precision)0u>; T = float; glm::precision P = (glm::precision)0u]’:
./gl/camera.hh:45:58: required from here
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
z(static_cast(v.begin()[2]))
^
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
/usr/include/glm/detail/type_vec3.inl:86:33: error: invalid static_cast from type ‘const glm::detail::tvec3<float, (glm::precision)0u>’ to type ‘float’
make: *** [build/objview-offline.o] Error 1
make: *** [build/objview-suncg.o] Error 1
make: *** [build/suncg/render.o] Error 1

plaese help me solve this problem, Thanks.

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 5, 2018

Please include your system information, including OS distribution, gcc version.

From the log you're not using the glm you installed. You're using glm at /usr/include/glm.

From the information you gave the command is wrong: INCLUDE_DIR=-I/home/zhoujingwen/glm/build/SOME/INSTALL_DIR/include-I/home/zhoujingwen/glm/build/SOME/INSTALL_DIR make -j.
It should be
INCLUDE_DIR=-I/home/zhoujingwen/glm/build/SOME/INSTALL_DIR/include make -j according to the documentation.

@Zzmonica
Copy link
Author

Zzmonica commented Nov 5, 2018

Thanks for your reply,
So how can I use the glm I installed ?
gcc -v shows that:
=x86_64-linux-gnu
Thread model: posix
gcc version 5.5.0 20171010 (Ubuntu 5.5.0-12ubuntu1~14.04)

And when I running *INCLUDE_DIR=-I/home/zhoujingwen/glm/build/SOME/INSTALL_DIR/include make -j

errors changed into that:
gl/glContext.cc: In destructor ‘virtual render::EGLContext::~EGLContext()’:
gl/glContext.cc:225:7: warning: unused variable ‘num_alive’ [-Wunused-variable]
int num_alive = NUM_EGLCONTEXT_ALIVE.fetch_sub(1);
^
In file included from test-rectangle.cpp:10:0:
gl/fbScope.hh: In constructor ‘render::FramebufferScope::FramebufferScope(const render::Framebuffer&)’:
gl/fbScope.hh:86:13: warning: a temporary bound to ‘render::FramebufferScope::fb_’ only persists until the constructor exits [-Wextra]
fb_{fb} { fb.bind(); }
^
make: *** [build/gl/glContext.o] Error 1
make: *** Waiting for unfinished jobs....

gl/camera.cc: In constructor ‘render::CameraController::CameraController(GLFWwindow&, render::Camera&)’:
gl/camera.cc:44:44: error: invalid initialization of non-const reference of type ‘GLFWwindow&’ from an rvalue of type ‘’
window_{window}, cam_(cam), keys_(NR_KEYS) {
^
make: *** [build/test-rectangle.o] Error 1
In file included from objview-offline.cpp:18:0:
gl/fbScope.hh: In constructor ‘render::FramebufferScope::FramebufferScope(const render::Framebuffer&)’:
gl/fbScope.hh:86:13: warning: a temporary bound to ‘render::FramebufferScope::fb_’ only persists until the constructor exits [-Wextra]
fb_{fb} { fb.bind(); }
^
make: *** [build/objview.o] Error 1
make: *** [build/gl/camera.o] Error 1

In file included from suncg/render.hh:19:0,
from suncg/render.cc:8:
./gl/fbScope.hh: In constructor ‘render::FramebufferScope::FramebufferScope(const render::Framebuffer&)’:
./gl/fbScope.hh:86:13: warning: a temporary bound to ‘render::FramebufferScope::fb_’ only persists until the constructor exits [-Wextra]
fb_{fb} { fb.bind(); }
^
make: *** [build/objview-offline.o] Error 1
make: *** [build/objview-suncg.o] Error 1
make: *** [build/suncg/render.o] Error 1

Thanks!

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 5, 2018

Have you followed the instructions and installed glfw3 as well?
Could you post the output of debug-build.sh following the trouble shooting guide ?

You've posted this:

gl/camera.cc:44:44: error: invalid initialization of non-const reference of type ‘GLFWwindow&’ from an rvalue of type ‘’

Could you double-check you did not miss anything and this is what you saw in the terminal? You may be pasting things in a wrong way. It's better to paste logs inside codeblocks: https://help.github.com/articles/creating-and-highlighting-code-blocks/#fenced-code-blocks

@Zzmonica
Copy link
Author

Zzmonica commented Nov 7, 2018

Hi,Thanks for your reply ~
in renderer directory I run ./debug-build.sh,It shows that:

PATH:
/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/home/zhoujingwen/anaconda3/envs/py2.7/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

CPATH:

PKG_CONFIG_PATH:

LIBRARY_PATH:

LD_LIBRARY_PATH:

PYTHONPATH:

+ pkg-config --cflags --libs glfw3
-I/usr/local/include  -L/usr/local/lib -lglfw3  
+ '[' '!' '' ']'
+ pkg-config --cflags --libs libglvnd
Package libglvnd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libglvnd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libglvnd' found
+ pkg-config --cflags --libs egl
-I/usr/include/libdrm  -lEGL  
+ which find
/usr/bin/find
+ which pkg-config
/usr/bin/pkg-config
+ which python-config
/home/zhoujingwen/anaconda3/envs/py2.7/bin/python-config
+ python-config --includes --ldflags
-I/home/zhoujingwen/anaconda3/envs/py2.7/include/python2.7 -I/home/zhoujingwen/anaconda3/envs/py2.7/include/python2.7
-lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic
+ '[' ']'
+ g++ --version
g++ (Ubuntu 4.8.5-4ubuntu8~14.04.2) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

+ '[' -f ../House3D/objrender.so ']'
+ '[' -f objview.bin ']'

The g++ --version only 4.8.5,maybe that's the problem?

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 7, 2018

Could you answer my question above?

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 7, 2018

The README said the code requires gcc>=4.9. https://github.com/facebookresearch/House3D/tree/master/renderer#build

@Zzmonica
Copy link
Author

Zzmonica commented Nov 7, 2018

emmm... Sorry for my mistake.
After I install glfw3 glm,download EGL files, I added the glm INCLUDE_DIR which I installed, but the system didn't use it, so I copy the glm folder to '/usr/include' directory.Then I updated g++ version to 5.5
still

run INCLUDE_DIR=/home/zhoujingwen/glm/build/SOME/INSTALL_DIR/include make -j 

The result comes to :

[cc] gl/glContext.cc ...                                                                                                                                                                                                                                      [40/1947]
[cc] suncg/render.cc ...
[cpp] objview-suncg.cpp ...
[cpp] test-rectangle.cpp ...
[cpp] objview.cpp ...
[cpp] objview-offline.cpp ...
In file included from gl/glContext.cc:9:0:
gl/api.hh:34:2: error: #error "Require EGLEXT >= 20150508 to compile!"
 #error "Require EGLEXT >= 20150508 to compile!"
  ^
In file included from gl/glContext.hh:11:0,
                 from gl/glContext.cc:11:
gl/api.hh:34:2: error: #error "Require EGLEXT >= 20150508 to compile!"
 #error "Require EGLEXT >= 20150508 to compile!"
  ^
In file included from gl/glContext.hh:11:0,
                 from test-rectangle.cpp:9:
gl/api.hh:34:2: error: #error "Require EGLEXT >= 20150508 to compile!"
 #error "Require EGLEXT >= 20150508 to compile!"
  ^
In file included from gl/glContext.hh:11:0,
                 from objview-suncg.cpp:13:
gl/api.hh:34:2: error: #error "Require EGLEXT >= 20150508 to compile!"
 #error "Require EGLEXT >= 20150508 to compile!"
  ^
gl/glContext.cc: In constructor ‘render::EGLContext::EGLContext(render::Geometry, int)’:
gl/glContext.cc:145:5: error: ‘EGLDeviceEXT’ was not declared in this scope
     EGLDeviceEXT eglDevs[MAX_DEVICES];
     ^
gl/glContext.cc:147:5: error: ‘PFNEGLQUERYDEVICESEXTPROC’ was not declared in this scope
     PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT =
     ^
gl/glContext.cc:149:5: error: ‘PFNEGLGETPLATFORMDISPLAYEXTPROC’ was not declared in this scope
     PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT =
     ^
gl/glContext.cc:151:10: error: ‘eglQueryDevicesEXT’ was not declared in this scope
     if (!eglQueryDevicesEXT or !eglGetPlatformDisplayEXT) {
                                 ^                                                                                                                                                                                                                             [0/1947]
gl/glContext.cc:155:37: error: ‘eglDevs’ was not declared in this scope
     eglQueryDevicesEXT(MAX_DEVICES, eglDevs, &numDevices);
                                     ^
gl/glContext.cc:155:57: error: ‘eglQueryDevicesEXT’ was not declared in this scope
     eglQueryDevicesEXT(MAX_DEVICES, eglDevs, &numDevices);
                                                         ^
gl/glContext.cc:181:40: error: ‘EGL_PLATFORM_DEVICE_EXT’ was not declared in this scope
     eglDpy_ = eglGetPlatformDisplayEXT(EGL_PLATFORM_DEVICE_EXT, eglDevs[device], 0);
                                        ^
gl/glContext.cc:181:83: error: ‘eglGetPlatformDisplayEXT’ was not declared in this scope
     eglDpy_ = eglGetPlatformDisplayEXT(EGL_PLATFORM_DEVICE_EXT, eglDevs[device], 0);
                                                                                   ^
make: *** [build/gl/glContext.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from gl/glContext.hh:11:0,
                 from objview.cpp:13:
gl/api.hh:34:2: error: #error "Require EGLEXT >= 20150508 to compile!"
 #error "Require EGLEXT >= 20150508 to compile!"
  ^
In file included from gl/glContext.hh:11:0,
                 from objview-offline.cpp:15:
gl/api.hh:34:2: error: #error "Require EGLEXT >= 20150508 to compile!"
 #error "Require EGLEXT >= 20150508 to compile!"
  ^
In file included from ./gl/glContext.hh:11:0,
                 from suncg/render.hh:20,
                 from suncg/render.cc:8:
./gl/api.hh:34:2: error: #error "Require EGLEXT >= 20150508 to compile!"
 #error "Require EGLEXT >= 20150508 to compile!"
  ^
make: *** [build/objview-suncg.o] Error 1
make: *** [build/test-rectangle.o] Error 1
make: *** [build/objview-offline.o] Error 1
make: *** [build/objview.o] Error 1
make: *** [build/suncg/render.o] Error 1

run ./debug-build.sh says:

PATH:
/home/zhoujingwen/anaconda3/bin:/home/zhoujingwen/anaconda3/envs/py2.7/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

CPATH:


PKG_CONFIG_PATH:


LIBRARY_PATH:


LD_LIBRARY_PATH:


PYTHONPATH:


+ pkg-config --cflags --libs glfw3
-I/usr/local/include  -L/usr/local/lib -lglfw3  
+ '[' '!' '' ']'
+ pkg-config --cflags --libs libglvnd
Package libglvnd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libglvnd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libglvnd' found
+ pkg-config --cflags --libs egl
-I/usr/include/libdrm  -lEGL  
+ which find
/usr/bin/find
+ which pkg-config
/usr/bin/pkg-config
+ which python-config
/home/zhoujingwen/anaconda3/envs/py2.7/bin/python-config
+ python-config --includes --ldflags
-I/home/zhoujingwen/anaconda3/envs/py2.7/include/python2.7 -I/home/zhoujingwen/anaconda3/envs/py2.7/include/python2.7
-lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic
+ '[' ']'
+ g++ --version
g++ (Ubuntu 5.5.0-12ubuntu1~14.04) 5.5.0 20171010
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

+ '[' -f ../House3D/objrender.so ']'
+ '[' -f objview.bin ']'

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 7, 2018

I think you did not follow the EGL header part in the docs: https://github.com/facebookresearch/House3D/blob/master/renderer/DEPENDENCIES.md#ubuntu-1404-with-nvidia-gpu

In general, compiling it on an old system like ubuntu 14.04 is hard, and it's easier to use nvidia-docker for it.

@Zzmonica
Copy link
Author

Zzmonica commented Nov 8, 2018

I agreeee, so I just download the EGL files in browser and uploaded them to the server directory 'INSTALL_DIR/EGL',
No targets specified and no makefile found
and I compiled the driver libglvnd as in ubuntu16.04.
Actually, I have tried the nvidia-docker,but it always meets the 'Hash sum mismatch' problem,like that:

Get:354 http://mirrors.163.com/ubuntu bionic/universe amd64 proj-bin amd64 4.9.3-2 [32.3 kB]
Fetched 205 MB in 31s (6611 kB/s)
E: Failed to fetch http://mirrors.163.com/ubuntu/pool/main/m/mime-support/mime-support_3.60ubuntu1_all.deb  File has unexpected size (175864 != 30126). Mirror sync in progress? [IP: 202.116.81.74 80]
E: Failed to fetch http://202.116.81.74/cache/3/01/mirrors.163.com/ebe44071b7366d2e6f265c685bf883f7/poppler-data_0.4.8-2_all.deb  Hash Sum mismatch
   Hashes of expected file:
    - SHA256:a7747b316161a24b18713a630020a9dddfc20cffe4d06fbfe4254c0a7eb063b3

I already switched the source link. But cannot fix.
Maybe I need to change the system??

@ppwwyyxx
Copy link
Contributor

No targets specified and no makefile found

I think you've misunderstood the README.

Later, remember to compile INCLUDE_DIR=-I/path/to/INSTALL_DIR make.

This is saying that you need to add INCLUDE_DIR when you compile House3D. EGL does not need to be compiled.

@Zzmonica
Copy link
Author

Zzmonica commented Nov 14, 2018

OK, I realized that I'm a little ugly to put up the question above.
So I upgraded my system into ubuntu16.04. Still compile render step by step.
When I installing libglvnd,after runing

cd /home/zhoujingwen
git clone https://github.com/NVIDIA/libglvnd && cd libglvnd
./autogen.sh && ./configure --prefix=/home/zhoujingwen/libglvnd--disable-egl
make && make install

I got:

Makefile:387: recipe for target 'install-nobase_includeHEADERS' failed
make[2]: *** [install-nobase_includeHEADERS] Error 1
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/include'
Makefile:506: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/home/zhoujingwen/libglvnd/include'
Makefile:488: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

Sure for that I have installed these dependencies:

sudo apt install libglfw3-dev libglm-dev libx11-dev libegl1-mesa-dev libpng-dev libjpeg-dev

I got:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libpng12-dev' instead of 'libpng-dev'
libglm-dev is already the newest version (0.9.7.2-1).
libjpeg-dev is already the newest version (8c-2ubuntu8).
libglfw3-dev is already the newest version (3.1.2-3).
libegl1-mesa-dev is already the newest version (18.0.5-0ubuntu0~16.04.1).
libpng12-dev is already the newest version (1.2.54-1ubuntu1.1).
libx11-dev is already the newest version (2:1.6.3-1ubuntu2.1).
0 upgraded, 0 newly installed, 0 to remove and 61 not upgraded.

for that libglvnd sometimes not necessary so I test the renderer

export TEST_HOUSE= /home/zhoujingwen/House3D/house/05cac5f7fdd5f8138234164e76a97383/house.obj
cd /home/zhoujingwen/House3D/renderer ./objview-offline.bin $TEST_HOUSE

mention that tests is not in renderer, it is in House3D folder.

cd /home/zhoujingwen/House3D/renderer/tests && python3 test-rendering.py $TEST_HOUSE

Then I got:

error: Failed to get function pointer of eglQueryDevicesEXT/eglGetPlatformDisplayEXT! Maybe EGL extensions are unsupported.

So it's the EGL's problem again, please check my path and help me out,Thanks a lot.

./debug-build.sh like that:

PATH:
/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin

CPATH:


PKG_CONFIG_PATH:


LIBRARY_PATH:
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1

LD_LIBRARY_PATH:
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1

PYTHONPATH:


+ pkg-config --cflags --libs glfw3
-I/usr/include/libdrm -lglfw
+ '[' '!' '' ']'
+ pkg-config --cflags --libs libglvnd
Package libglvnd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libglvnd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libglvnd' found
+ pkg-config --cflags --libs egl
-I/usr/include/libdrm -lEGL
+ which find
/usr/bin/find
+ which pkg-config
/usr/bin/pkg-config
+ which /home/zhoujingwen/anaconda3/envs/LG/bin/python3-config
/home/zhoujingwen/anaconda3/envs/LG/bin/python3-config
+ /home/zhoujingwen/anaconda3/envs/LG/bin/python3-config --includes --ldflags
-I/home/zhoujingwen/anaconda3/envs/LG/include/python3.6m -I/home/zhoujingwen/anaconda3/envs/LG/include/python3.6m
 -L/home/zhoujingwen/anaconda3/envs/LG/lib -lpython3.6m -lpthread -ldl  -lutil -lrt -lm  -Xlinker -export-dynamic
+ '[' ']'
+ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

+ '[' -f ../House3D/objrender.so ']'
+ ldd ../House3D/objrender.so
	linux-vdso.so.1 =>  (0x00007ffe181b3000)
	libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007fb7e912a000)
	libEGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 (0x00007fb7e8ef0000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fb7e8bb6000)
	libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fb7e8991000)
	libglfw.so.3 => /usr/lib/x86_64-linux-gnu/libglfw.so.3 (0x00007fb7e877b000)
	libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fb7e8522000)
	libpython3.6m.so.1.0 => not found
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb7e8305000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb7e7f83000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb7e7c7a000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb7e7a64000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb7e769a000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fb7e96a0000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb7e7480000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fb7e7257000)
	libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007fb7e7054000)
	libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007fb7e6e51000)
	libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007fb7e6c4a000)
	libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007fb7e6a47000)
	libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007fb7e6816000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fb7e6604000)
	libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007fb7e6401000)
	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fb7e61fb000)
	libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007fb7e5ff9000)
	libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fb7e5de0000)
	libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007fb7e5bdb000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fb7e59b9000)
	libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007fb7e57b3000)
	libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fb7e55a1000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb7e539d000)
	libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007fb7e5195000)
	libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007fb7e4f86000)
	libgbm.so.1 => /usr/lib/x86_64-linux-gnu/libgbm.so.1 (0x00007fb7e4d78000)
	libwayland-server.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007fb7e4b66000)
	libmirclient.so.9 => /usr/lib/x86_64-linux-gnu/libmirclient.so.9 (0x00007fb7e48bf000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb7e46b7000)
	libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007fb7e44ac000)
	libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007fb7e42a9000)
	libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fb7e4099000)
	libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007fb7e3e8f000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fb7e3c8b000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fb7e3a85000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fb7e387d000)
	libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007fb7e363e000)
	libmircommon.so.7 => /usr/lib/x86_64-linux-gnu/libmircommon.so.7 (0x00007fb7e33f7000)
	libmirprotobuf.so.3 => /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 (0x00007fb7e3185000)
	libcapnp-0.5.3.so => /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so (0x00007fb7e2efd000)
	libmircore.so.1 => /usr/lib/x86_64-linux-gnu/libmircore.so.1 (0x00007fb7e2cf4000)
	libboost_system.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 (0x00007fb7e2af0000)
	libprotobuf-lite.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9 (0x00007fb7e28bf000)
	libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fb7e26b5000)
	libboost_filesystem.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0 (0x00007fb7e249d000)
	libkj-0.5.3.so => /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so (0x00007fb7e2274000)

@Zzmonica
Copy link
Author

And it not help after I set:

LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so

@ppwwyyxx
Copy link
Contributor

Please run the debug script and include the outputs.

For compile errors, please include full logs.

@Zzmonica
Copy link
Author

run ./debug-build.sh:

PATH:
/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin

CPATH:


PKG_CONFIG_PATH:


LIBRARY_PATH:
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so

LD_LIBRARY_PATH:
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so

PYTHONPATH:


+ pkg-config --cflags --libs glfw3
-I/usr/include/libdrm -lglfw
+ '[' '!' '' ']'
+ pkg-config --cflags --libs libglvnd
Package libglvnd was not found in the pkg-config search path.
Perhaps you should add the directory containing `libglvnd.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libglvnd' found
+ pkg-config --cflags --libs egl
-I/usr/include/libdrm -lEGL
+ which find
/usr/bin/find
+ which pkg-config
/usr/bin/pkg-config
+ which /home/zhoujingwen/anaconda3/envs/LG/bin/python3-config
/home/zhoujingwen/anaconda3/envs/LG/bin/python3-config
+ /home/zhoujingwen/anaconda3/envs/LG/bin/python3-config --includes --ldflags
-I/home/zhoujingwen/anaconda3/envs/LG/include/python3.6m -I/home/zhoujingwen/anaconda3/envs/LG/include/python3.6m
 -L/home/zhoujingwen/anaconda3/envs/LG/lib -lpython3.6m -lpthread -ldl  -lutil -lrt -lm  -Xlinker -export-dynamic
+ '[' ']'
+ g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

+ '[' -f ../House3D/objrender.so ']'
+ ldd ../House3D/objrender.so
	linux-vdso.so.1 =>  (0x00007ffe611c0000)
	libGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 (0x00007f67b0d4a000)
	libEGL.so.1 => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 (0x00007f67b0b10000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f67b07d6000)
	libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f67b05b1000)
	libglfw.so.3 => /usr/lib/x86_64-linux-gnu/libglfw.so.3 (0x00007f67b039b000)
	libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007f67b0142000)
	libpython3.6m.so.1.0 => not found
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f67aff25000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f67afba3000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f67af89a000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f67af684000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f67af2ba000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f67b12c0000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f67af0a0000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f67aee77000)
	libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007f67aec74000)
	libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007f67aea71000)
	libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f67ae86a000)
	libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007f67ae667000)
	libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007f67ae436000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f67ae224000)
	libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f67ae021000)
	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f67ade1b000)
	libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f67adc19000)
	libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007f67ada00000)
	libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007f67ad7fb000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f67ad5d9000)
	libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007f67ad3d3000)
	libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f67ad1c1000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f67acfbd000)
	libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007f67acdb5000)
	libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f67acba6000)
	libgbm.so.1 => /usr/lib/x86_64-linux-gnu/libgbm.so.1 (0x00007f67ac998000)
	libwayland-server.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007f67ac786000)
	libmirclient.so.9 => /usr/lib/x86_64-linux-gnu/libmirclient.so.9 (0x00007f67ac4df000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f67ac2d7000)
	libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f67ac0cc000)
	libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f67abec9000)
	libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f67abcb9000)
	libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f67abaaf000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f67ab8ab000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f67ab6a5000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f67ab49d000)
	libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f67ab25e000)
	libmircommon.so.7 => /usr/lib/x86_64-linux-gnu/libmircommon.so.7 (0x00007f67ab017000)
	libmirprotobuf.so.3 => /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 (0x00007f67aada5000)
	libcapnp-0.5.3.so => /usr/lib/x86_64-linux-gnu/libcapnp-0.5.3.so (0x00007f67aab1d000)
	libmircore.so.1 => /usr/lib/x86_64-linux-gnu/libmircore.so.1 (0x00007f67aa914000)
	libboost_system.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0 (0x00007f67aa710000)
	libprotobuf-lite.so.9 => /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9 (0x00007f67aa4df000)
	libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f67aa2d5000)
	libboost_filesystem.so.1.58.0 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0 (0x00007f67aa0bd000)
	libkj-0.5.3.so => /usr/lib/x86_64-linux-gnu/libkj-0.5.3.so (0x00007f67a9e94000)

for libglvnd installation,the logs like

(LG) zhoujingwen@1084:~/libglvnd$ make install
Making install in src
make[1]: Entering directory '/home/zhoujingwen/libglvnd/src'
Making install in util
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src/util'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/util'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/util'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src/util'
Making install in GLdispatch
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src/GLdispatch'
Making install in vnd-glapi
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/GLdispatch/vnd-glapi'
make  install-am
make[4]: Entering directory '/home/zhoujingwen/libglvnd/src/GLdispatch/vnd-glapi'
make[5]: Entering directory '/home/zhoujingwen/libglvnd/src/GLdispatch/vnd-glapi'
make[5]: Nothing to be done for 'install-exec-am'.
make[5]: Nothing to be done for 'install-data-am'.
make[5]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLdispatch/vnd-glapi'
make[4]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLdispatch/vnd-glapi'
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLdispatch/vnd-glapi'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/GLdispatch'
make[4]: Entering directory '/home/zhoujingwen/libglvnd/src/GLdispatch'
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libGLdispatch.la '/home/zhoujingwen/libglvnd/lib'
libtool: install: /usr/bin/install -c .libs/libGLdispatch.so.0.0.0 /home/zhoujingwen/libglvnd/lib/libGLdispatch.so.0.0.0
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLdispatch.so.0.0.0 libGLdispatch.so.0 || { rm -f libGLdispatch.so.0 && ln -s libGLdispatch.so.0.0.0 libGLdispatch.so.0; }; })
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLdispatch.so.0.0.0 libGLdispatch.so || { rm -f libGLdispatch.so && ln -s libGLdispatch.so.0.0.0 libGLdispatch.so; }; })
libtool: install: /usr/bin/install -c .libs/libGLdispatch.lai /home/zhoujingwen/libglvnd/lib/libGLdispatch.la
libtool: finish: PATH="/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin:/sbin" ldconfig -n /home/zhoujingwen/libglvnd/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/zhoujingwen/libglvnd/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLdispatch'
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLdispatch'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLdispatch'
Making install in OpenGL
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src/OpenGL'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/OpenGL'
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libOpenGL.la '/home/zhoujingwen/libglvnd/lib'
libtool: warning: relinking 'libOpenGL.la'
libtool: install: (cd /home/zhoujingwen/libglvnd/src/OpenGL; /bin/bash "/home/zhoujingwen/libglvnd/libtool"  --silent --tag CC --mode=relink gcc -Wall -Werror -include config.h -fvisibility=hidden -DUSE_X86_64_ASM -shared -Xlinker --no-undefined -version-info 0 -o libOpenGL.la -rpath /home/zhoujingwen/libglvnd/lib libopengl_main.la ../GLdispatch/libGLdispatch.la ../GLdispatch/vnd-glapi/libglapi_opengl.la ../util/libutils_misc.la )
libtool: install: /usr/bin/install -c .libs/libOpenGL.so.0.0.0T /home/zhoujingwen/libglvnd/lib/libOpenGL.so.0.0.0
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libOpenGL.so.0.0.0 libOpenGL.so.0 || { rm -f libOpenGL.so.0 && ln -s libOpenGL.so.0.0.0 libOpenGL.so.0; }; })
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libOpenGL.so.0.0.0 libOpenGL.so || { rm -f libOpenGL.so && ln -s libOpenGL.so.0.0.0 libOpenGL.so; }; })
libtool: install: /usr/bin/install -c .libs/libOpenGL.lai /home/zhoujingwen/libglvnd/lib/libOpenGL.la
libtool: finish: PATH="/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin:/sbin" ldconfig -n /home/zhoujingwen/libglvnd/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/zhoujingwen/libglvnd/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/OpenGL'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src/OpenGL'
Making install in GLX
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src/GLX'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/GLX'
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libGLX.la '/home/zhoujingwen/libglvnd/lib'
libtool: warning: relinking 'libGLX.la'
libtool: install: (cd /home/zhoujingwen/libglvnd/src/GLX; /bin/bash "/home/zhoujingwen/libglvnd/libtool"  --silent --tag CC --mode=relink gcc -I./../util/uthash/src -I./../util -I./../GLdispatch -I../../include -pthread -Wall -Werror -include config.h -fvisibility=hidden -DUSE_X86_64_ASM -shared -Wl,-Bsymbolic -version-info 0 -Xlinker --no-undefined -o libGLX.la -rpath /home/zhoujingwen/libglvnd/lib libGLX_la-libglx.lo libGLX_la-libglxmapping.lo libGLX_la-libglxproto.lo -ldl -lX11 -lXext ../GLdispatch/libGLdispatch.la ../util/libtrace.la ../util/libglvnd_pthread.la ../util/libglvnd_genentry.la ../util/libutils_misc.la ../util/libapp_error_check.la ../util/libwinsys_dispatch.la )
libtool: install: /usr/bin/install -c .libs/libGLX.so.0.0.0T /home/zhoujingwen/libglvnd/lib/libGLX.so.0.0.0
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLX.so.0.0.0 libGLX.so.0 || { rm -f libGLX.so.0 && ln -s libGLX.so.0.0.0 libGLX.so.0; }; })
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLX.so.0.0.0 libGLX.so || { rm -f libGLX.so && ln -s libGLX.so.0.0.0 libGLX.so; }; })
libtool: install: /usr/bin/install -c .libs/libGLX.lai /home/zhoujingwen/libglvnd/lib/libGLX.la
libtool: finish: PATH="/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin:/sbin" ldconfig -n /home/zhoujingwen/libglvnd/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/zhoujingwen/libglvnd/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLX'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLX'
Making install in GL
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src/GL'
make  install-am
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/GL'
make[4]: Entering directory '/home/zhoujingwen/libglvnd/src/GL'
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libGL.la '/home/zhoujingwen/libglvnd/lib'
libtool: warning: relinking 'libGL.la'
libtool: install: (cd /home/zhoujingwen/libglvnd/src/GL; /bin/bash "/home/zhoujingwen/libglvnd/libtool"  --silent --tag CC --mode=relink gcc -I../../include -Wall -Werror -include config.h -fvisibility=hidden -DUSE_X86_64_ASM -shared -version-info 8:0:7 -Xlinker --no-undefined -o libGL.la -rpath /home/zhoujingwen/libglvnd/lib libGL_la-libgl.lo libGL_la-g_libglglxwrapper.lo ../GLX/libGLX.la ../GLdispatch/libGLdispatch.la ../GLdispatch/vnd-glapi/libglapi_gl.la ../util/libutils_misc.la -ldl )
libtool: install: /usr/bin/install -c .libs/libGL.so.1.7.0T /home/zhoujingwen/libglvnd/lib/libGL.so.1.7.0
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGL.so.1.7.0 libGL.so.1 || { rm -f libGL.so.1 && ln -s libGL.so.1.7.0 libGL.so.1; }; })
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGL.so.1.7.0 libGL.so || { rm -f libGL.so && ln -s libGL.so.1.7.0 libGL.so; }; })
libtool: install: /usr/bin/install -c .libs/libGL.lai /home/zhoujingwen/libglvnd/lib/libGL.la
libtool: finish: PATH="/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin:/sbin" ldconfig -n /home/zhoujingwen/libglvnd/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/zhoujingwen/libglvnd/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[4]: Nothing to be done for 'install-data-am'.
make[4]: Leaving directory '/home/zhoujingwen/libglvnd/src/GL'
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/GL'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src/GL'
Making install in GLESv1
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src/GLESv1'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/GLESv1'
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libGLESv1_CM.la '/home/zhoujingwen/libglvnd/lib'
libtool: warning: relinking 'libGLESv1_CM.la'
libtool: install: (cd /home/zhoujingwen/libglvnd/src/GLESv1; /bin/bash "/home/zhoujingwen/libglvnd/libtool"  --silent --tag CC --mode=relink gcc -Wall -Werror -include config.h -fvisibility=hidden -DUSE_X86_64_ASM -shared -Xlinker --no-undefined -version-info 3:0:2 -o libGLESv1_CM.la -rpath /home/zhoujingwen/libglvnd/lib ../OpenGL/libopengl_main.la ../GLdispatch/libGLdispatch.la ../GLdispatch/vnd-glapi/libglapi_glesv1.la ../util/libutils_misc.la )
libtool: install: /usr/bin/install -c .libs/libGLESv1_CM.so.1.2.0T /home/zhoujingwen/libglvnd/lib/libGLESv1_CM.so.1.2.0
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1 || { rm -f libGLESv1_CM.so.1 && ln -s libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1; }; })
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLESv1_CM.so.1.2.0 libGLESv1_CM.so || { rm -f libGLESv1_CM.so && ln -s libGLESv1_CM.so.1.2.0 libGLESv1_CM.so; }; })
libtool: install: /usr/bin/install -c .libs/libGLESv1_CM.lai /home/zhoujingwen/libglvnd/lib/libGLESv1_CM.la
libtool: finish: PATH="/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin:/sbin" ldconfig -n /home/zhoujingwen/libglvnd/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/zhoujingwen/libglvnd/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLESv1'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLESv1'
Making install in GLESv2
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src/GLESv2'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src/GLESv2'
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/lib'
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libGLESv2.la '/home/zhoujingwen/libglvnd/lib'
libtool: warning: relinking 'libGLESv2.la'
libtool: install: (cd /home/zhoujingwen/libglvnd/src/GLESv2; /bin/bash "/home/zhoujingwen/libglvnd/libtool"  --silent --tag CC --mode=relink gcc -Wall -Werror -include config.h -fvisibility=hidden -DUSE_X86_64_ASM -shared -Xlinker --no-undefined -version-info 3:0:1 -o libGLESv2.la -rpath /home/zhoujingwen/libglvnd/lib ../OpenGL/libopengl_main.la ../GLdispatch/libGLdispatch.la ../GLdispatch/vnd-glapi/libglapi_glesv2.la ../util/libutils_misc.la )
libtool: install: /usr/bin/install -c .libs/libGLESv2.so.2.1.0T /home/zhoujingwen/libglvnd/lib/libGLESv2.so.2.1.0
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLESv2.so.2.1.0 libGLESv2.so.2 || { rm -f libGLESv2.so.2 && ln -s libGLESv2.so.2.1.0 libGLESv2.so.2; }; })
libtool: install: (cd /home/zhoujingwen/libglvnd/lib && { ln -s -f libGLESv2.so.2.1.0 libGLESv2.so || { rm -f libGLESv2.so && ln -s libGLESv2.so.2.1.0 libGLESv2.so; }; })
libtool: install: /usr/bin/install -c .libs/libGLESv2.lai /home/zhoujingwen/libglvnd/lib/libGLESv2.la
libtool: finish: PATH="/home/zhoujingwen/anaconda3/envs/LG/bin:/home/zhoujingwen/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/cuda/bin:/sbin" ldconfig -n /home/zhoujingwen/libglvnd/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/zhoujingwen/libglvnd/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the 'LD_RUN_PATH' environment variable
     during linking
   - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLESv2'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src/GLESv2'
make[2]: Entering directory '/home/zhoujingwen/libglvnd/src'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/src'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/src'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/src'
make[1]: Leaving directory '/home/zhoujingwen/libglvnd/src'
Making install in tests
make[1]: Entering directory '/home/zhoujingwen/libglvnd/tests'
Making install in dummy
make[2]: Entering directory '/home/zhoujingwen/libglvnd/tests/dummy'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/tests/dummy'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/tests/dummy'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/tests/dummy'
make[2]: Entering directory '/home/zhoujingwen/libglvnd/tests'
make[3]: Entering directory '/home/zhoujingwen/libglvnd/tests'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/zhoujingwen/libglvnd/tests'
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/tests'
make[1]: Leaving directory '/home/zhoujingwen/libglvnd/tests'
Making install in include
make[1]: Entering directory '/home/zhoujingwen/libglvnd/include'
make[2]: Entering directory '/home/zhoujingwen/libglvnd/include'
make[2]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/include'
 /bin/mkdir -p '/home/zhoujingwen/libglvnd/include/glvnd'
 /usr/bin/install -c -m 644  glvnd/GLdispatchABI.h glvnd/libglxabi.h glvnd/libeglabi.h '/home/zhoujingwen/libglvnd/include/glvnd'
/usr/bin/install: 'glvnd/GLdispatchABI.h' and '/home/zhoujingwen/libglvnd/include/glvnd/GLdispatchABI.h' are the same file
/usr/bin/install: 'glvnd/libglxabi.h' and '/home/zhoujingwen/libglvnd/include/glvnd/libglxabi.h' are the same file
/usr/bin/install: 'glvnd/libeglabi.h' and '/home/zhoujingwen/libglvnd/include/glvnd/libeglabi.h' are the same file
Makefile:387: recipe for target 'install-nobase_includeHEADERS' failed
make[2]: *** [install-nobase_includeHEADERS] Error 1
make[2]: Leaving directory '/home/zhoujingwen/libglvnd/include'
Makefile:506: recipe for target 'install-am' failed
make[1]: *** [install-am] Error 2
make[1]: Leaving directory '/home/zhoujingwen/libglvnd/include'
Makefile:488: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1

render compile logs is all right, but testing goes wrong

@Zzmonica
Copy link
Author

the compile logs:

(LG) zhoujingwen@1084:~/House3D/renderer$ make -j
[dep] objview.cpp ...
[dep] objview-offline.cpp ...
[dep] test-rectangle.cpp ...
[dep] objview-suncg.cpp ...
[dep] suncg/render.cc ...
[dep] suncg/scene.cc ...
[dep] vendor/tiny_obj_loader.cc ...
[dep] rectangle/scene.cc ...
[dep] model/shader.cc ...
[dep] model/mesh.cc ...
[dep] model/scene.cc ...
[dep] model/obj.cc ...
[dep] gl/camera.cc ...
[dep] gl/utils.cc ...
[dep] gl/glContext.cc ...
[dep] lib/imgio.cc ...
[dep] lib/debugutils.cc ...
[dep] lib/imgproc.cc ...
[dep] lib/timer.cc ...
[dep] lib/strutils.cc ...
[cc] lib/strutils.cc ...
[cc] lib/timer.cc ...
[cc] lib/imgproc.cc ...
[cc] lib/debugutils.cc ...
[cc] lib/imgio.cc ...
[cc] gl/glContext.cc ...
[cc] gl/utils.cc ...
[cc] gl/camera.cc ...
[cc] model/obj.cc ...
[cc] model/scene.cc ...
[cc] model/mesh.cc ...
[cc] model/shader.cc ...
[cc] rectangle/scene.cc ...
[cc] suncg/scene.cc ...
[cc] vendor/tiny_obj_loader.cc ...
[cc] suncg/render.cc ...
[cpp] objview-suncg.cpp ...
[cpp] test-rectangle.cpp ...
[cpp] objview-offline.cpp ...
[cpp] objview.cpp ...
[bin] objview-suncg.bin ...
[bin] test-rectangle.bin ...
[bin] objview-offline.bin ...
[bin] objview.bin ...
[so] ../House3D/objrender.so ...
done.

test logs:

(LG) zhoujingwen@1084:~/House3D/tests$ cd /home/zhoujingwen/House3D/tests && python3 test-rendering.py $TEST_HOUSE
error: Failed to get function pointer of eglQueryDevicesEXT/eglGetPlatformDisplayEXT! Maybe EGL extensions are unsupported.

paths:

$TEST_HOUSE
/home/zhoujingwen/House3D/house/05cac5f7fdd5f8138234164e76a97383/house.obj
$LIBRARY_PATH
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so
$LD_LIBRARY_PATH
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 14, 2018

The two library paths you set are wrong and please unset them.

You'll need to make sure that nvidia drivers are installed on your system and find where it is. Nvidia driver has a libEGL library which you need to use.

@Zzmonica
Copy link
Author

Zzmonica commented Nov 14, 2018

nvidia driver

version:        410.73
srcversion:     E6823ED882C76894D74F1C2
vermagic:       4.4.0-131-generic SMP mod_unload modversions retpoline 

and the directory of libegl.so actually is where I found in the system

@ppwwyyxx
Copy link
Contributor

If your driver is installed correctly, there should be multiple libegl.so, /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so is the wrong one. The correct one is usually in /usr/lib/nvidiaxxx

@Zzmonica
Copy link
Author

In the '/usr/lib/x86_64-linux-gnu/mesa-egl/' directory,

 /usr/lib/x86_64-linux-gnu/mesa-egl/
ld.so.conf  libEGL.so  libEGL.so.1  libEGL.so.1.0.0

but I couldn't find other nvidia driver folder

@Zzmonica
Copy link
Author

To mention that, I just can find libEGL.so in x86..folder

(LG) zhoujingwen@1084:/usr/lib$ locate libEGL.so
/usr/lib/x86_64-linux-gnu/libEGL.so
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
/usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1.0.0
/usr/src/nvidia-410.73/

And I found the Nvidia driver folder, no libEGL.so file....

@Zzmonica
Copy link
Author

Problem has solved, I can import the House3D components already. That beacuse I can't display it on server.
Thanks for your reply! Now I'm gonna close the issue.

@ppwwyyxx
Copy link
Contributor

Display is not needed to use House3D to render. When you have display, House3D will not use EGL, and therefore will not trigger the problem you have.

To use EGL you'll need to know where is the nvidia EGL library, and this will depend on how the driver is installed. If you install it with apt-get, you may need to remove and reinstall the package libnvidia-gl-410, which will probably put the libraries under /usr/lib/x86_64-linux-gpu.

@Zzmonica
Copy link
Author

You mean I need to reinstall the nvidia-driver not with apt-get but download the corresponding nvidia-dirver packages according to the graphics card and install?

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 15, 2018

You can install the drivers in either way but they may put the EGL libraries in different places. The package libnvidia-gl-xxx probably puts the libraries under /usr/lib/x86_64-linux-gpu.

Could you do the following:

  1. uninstall and reinstall the package libnvidia-gl-xxx with apt-get and post the outputs of test-rectangle.bin egl.
  2. post the outputs of find /usr/lib | grep 'libGL|libEGL'

Again I strongly suggest you to use docker since it's just one command to solve all the issues. Your previous docker error suggest a problem with the 163 mirror you're using and can probably be easily solved by retry or by switching the mirror.

@Zzmonica
Copy link
Author

Zzmonica commented Nov 15, 2018

Hi, follow your advice,I installed docker and compiled the renderer correctly,Still got the EGL error.
run

test-rectangle.bin egl.

I got.

root@a9356621128d:/House3D/renderer# ./test-rectangle.bin egl 
[EGL] 1 out of 0 devices are accessible. Using device 0 whose physical id is 0.
error: Failed to initialize EGL display!

Hope receive your suggestion.

@ppwwyyxx
Copy link
Contributor

What is your GPU model and are you using nvidia-docker (not docker)?

@Zzmonica
Copy link
Author

Yes,I used the nvidia-docker,and my GPU model is GeForce GTX 1080.

@ppwwyyxx
Copy link
Contributor

Could you run the code at NVIDIA/nvidia-docker#328 (comment) inside the docker and put its outputs here? The code can be built and run by g++ a.cpp -lEGL && ./a.out.

@Zzmonica
Copy link
Author

Zzmonica commented Nov 16, 2018

The result in docker shows that:

EGL eglDpy: 0x55e61e96dbd0
minor, major: -421848672, 21990
EGL numConfigs: 32550
EGL eglCfg: 0
EGL surf: 0
EGL Ctx: 0
test: hello.cpp:56: int main(int, char**): Assertion `eglCfg != NULL' failed.
Aborted (core dumped)

@ppwwyyxx
Copy link
Contributor

Then you can report this issue to https://github.com/NVIDIA/nvidia-docker/ because EGL for some reason does not work inside your docker. Make sure to include the Dockerfile, the above code and its outputs.

@ppwwyyxx
Copy link
Contributor

Maybe sound silly but please make sure nvidia-smi works in your docker first.

@Zzmonica
Copy link
Author

I just update the result, and the 'nvidia-smi' does work in nvidia docker.

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Nov 16, 2018

The reason why EGL does not work inside your docker may be the same though (i.e. an incomplete installation of nvidia drivers on your host machine).

How did you install the nvidia driver? If it is by apt-get, could you continue with my earlier advice?

  1. uninstall and reinstall the package libnvidia-gl-xxx with apt-get and post the outputs of test-rectangle.bin egl.
  2. post the outputs of find /usr/lib | grep 'libGL|libEGL'

@ppwwyyxx
Copy link
Contributor

  1. post the outputs of nvidia-container-cli list.

@ppwwyyxx
Copy link
Contributor

Is there any update on the information I asked for above?

@Zzmonica
Copy link
Author

Zzmonica commented Dec 3, 2018

emmm...So sad...
Maybe I really can't use EGL, any other rendering backen?

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Dec 3, 2018

Could you provide the information I asked for?

@Zzmonica
Copy link
Author

Zzmonica commented Dec 3, 2018

1.The Nvidia driver was installed by .run file
2.So

 find /usr/lib | grep 'libGL|libEGL'

returns nothing.
3.

nvidia-container-cli list

returns that:

/dev/nvidiactl
/dev/nvidia-uvm
/dev/nvidia-uvm-tools
/dev/nvidia-modeset
/dev/nvidia0
/dev/nvidia1
/dev/nvidia2
/dev/nvidia3
/usr/bin/nvidia-smi
/usr/bin/nvidia-debugdump
/usr/bin/nvidia-persistenced
/usr/bin/nvidia-cuda-mps-control
/usr/bin/nvidia-cuda-mps-server
/usr/lib/x86_64-linux-gnu/libnvidia-ml.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-cfg.so.410.73
/usr/lib/x86_64-linux-gnu/libcuda.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-opencl.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-ptxjitcompiler.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-compiler.so.410.73
/usr/lib/x86_64-linux-gnu/vdpau/libvdpau_nvidia.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.410.73
/usr/lib/x86_64-linux-gnu/libnvcuvid.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-fbc.so.410.73
/usr/lib/x86_64-linux-gnu/libnvidia-ifr.so.410.73

@ppwwyyxx
Copy link
Contributor

ppwwyyxx commented Dec 3, 2018

As mentioned in the docs there are backends other than EGL.
But because your driver installation does not contain any opengl libraries, the backend will be very inefficient as well.

@Zzmonica
Copy link
Author

Zzmonica commented Dec 3, 2018

OK, I got it,maybe I need to reinstall the nvidia driver...
Thanks for helping me !

@Zzmonica
Copy link
Author

Zzmonica commented Dec 6, 2018

Finally, I complement the opengl part by overlay Nvidia driver on server,and now, I can use it correctly!

@Zzmonica Zzmonica closed this as completed Dec 6, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants