compiling nvDecInfer_detection fail

Hi all I am not able to compile the nvDecInfer_detection demo, can anybody help?

make -C decPerf;  make -C nvDecInfer_classification;  make -C nvDecInfer_detection;
make[1]: Entering directory '/home/tomiszs/work/deepstream/deepstream/samples/decPerf'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/tomiszs/work/deepstream/deepstream/samples/decPerf'
make[1]: Entering directory '/home/tomiszs/work/deepstream/deepstream/samples/nvDecInfer_classification'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/tomiszs/work/deepstream/deepstream/samples/nvDecInfer_classification'
make[1]: Entering directory '/home/tomiszs/work/deepstream/deepstream/samples/nvDecInfer_detection'
if [ ! -d ../bin/chobj ]; then mkdir -p ../bin/chobj; fi
g++ -MM -MF ../bin/chobj/presenterGL.d -MP -MT ../bin/chobj/presenterGL.o -D_REENTRANT -lglut -lGLU -std=c++11 -I/usr/local/cuda-9.0/include -I"../../include" -I/home/tomiszs/work/deepstream/Video_Codec_SDK_8.1.24"/Samples/common/inc" -I/home/tomiszs/work/deepstream/Video_Codec_SDK_8.1.24"/Samples/common/inc" `pkg-config --cflags opencv` -I"../common" -I/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/ -I/usr/include/GL/ -I/home/tomiszs/work/deepstream/ffmpeg/ffmpeg presenterGL.cpp
Compiling: presenterGL.cpp
g++ -D_REENTRANT -lglut -lGLU -std=c++11 -I/usr/local/cuda-9.0/include -I"../../include" -I/home/tomiszs/work/deepstream/Video_Codec_SDK_8.1.24"/Samples/common/inc" -I/home/tomiszs/work/deepstream/Video_Codec_SDK_8.1.24"/Samples/common/inc" `pkg-config --cflags opencv` -I"../common" -I/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/ -I/usr/include/GL/ -I/home/tomiszs/work/deepstream/ffmpeg/ffmpeg -c -o ../bin/chobj/presenterGL.o presenterGL.cpp
In file included from presenterGL.h:46:0,
                 from presenterGL.cpp:30:
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:63:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutMainLoopEvent(void);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:64:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutLeaveMainLoop(void);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:69:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutMouseWheelFunc(void (* callback)(int, int, int, int));
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:70:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutCloseFunc(void (* callback)(void));
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:71:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutWMCloseFunc(void (* callback)(void));
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:73:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutMenuDestroyFunc(void (* callback)(void));
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:78:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutSetOption(GLenum option_flag, int value) ;
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:80:1: error: ‘FGAPI’ does not name a type
 FGAPI void   *FGAPIENTRY glutGetWindowData(void);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:81:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutSetWindowData(void *data);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:82:1: error: ‘FGAPI’ does not name a type
 FGAPI void   *FGAPIENTRY glutGetMenuData(void);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:83:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutSetMenuData(void *data);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:88:1: error: ‘FGAPI’ does not name a type
 FGAPI int     FGAPIENTRY glutBitmapHeight(void *font);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:89:1: error: ‘FGAPI’ does not name a type
 FGAPI GLfloat FGAPIENTRY glutStrokeHeight(void *font);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:90:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutBitmapString(void *font, const unsigned char *string);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:91:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutStrokeString(void *font, const unsigned char *string);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:96:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutWireRhombicDodecahedron(void);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:97:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutSolidRhombicDodecahedron(void);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:98:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutWireSierpinskiSponge(int num_levels, GLdouble offset[3], GLdouble scale) ;
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:99:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutSolidSierpinskiSponge(int num_levels, GLdouble offset[3], GLdouble scale) ;
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:100:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutWireCylinder(GLdouble radius, GLdouble height, GLint slices, GLint stacks);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:101:1: error: ‘FGAPI’ does not name a type
 FGAPI void    FGAPIENTRY glutSolidCylinder(GLdouble radius, GLdouble height, GLint slices, GLint stacks);
 ^
/home/tomiszs/work/deepstream/NVIDIA_CUDA-9.0_Samples/common/inc/GL/freeglut_ext.h:106:1: error: ‘FGAPI’ does not name a type
 FGAPI void *FGAPIENTRY glutGetProcAddress(const char *procName);
 ^
presenterGL.cpp: In destructor ‘PresenterGL::~PresenterGL()’:
presenterGL.cpp:94:23: error: ‘glutLeaveMainLoop’ was not declared in this scope
     glutLeaveMainLoop();
                       ^
Makefile.sample_detection:96: recipe for target '../bin/chobj/presenterGL.o' failed
make[1]: *** [../bin/chobj/presenterGL.o] Error 1
make[1]: Leaving directory '/home/tomiszs/work/deepstream/deepstream/samples/nvDecInfer_detection'
Makefile:14: recipe for target 'all' failed
make: *** [all] Error 2

Hi,

Some libraries is required for running sample nvDecInfer_detection.
Please remember to get them all installed first.

You can find information in our document:

4.3 NVDECINFER_DETECTION

<b>► Mesa-dev packages</b>
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
<b>► libglu</b>
sudo apt-get install libglu1-mesa-dev
<b>► freeglut</b>
sudo apt-get install freeglut3-dev
<b>► openCV</b>
sudo apt-get install libopencv-dev python-opencv
<b>► glew</b>
Install from project webpage: http://glew.sourceforge.net/index.htm

Thanks.

Hi,

I have installed all of them, but still not able to compile.

tomiszs@IHU00007L175395:~/work/deepstream/glut-3.7/progs/advanced97/skull$ sudo apt-get install build-essential
[sudo] password for tomiszs: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version (12.1ubuntu2).
The following packages were automatically installed and are no longer required:
  cuda-command-line-tools-9-0 cuda-core-9-0 cuda-cublas-dev-9-0 cuda-cudart-9-0 cuda-cudart-dev-9-0 cuda-cufft-9-0 cuda-cufft-dev-9-0 cuda-curand-9-0 cuda-curand-dev-9-0 cuda-cusolver-9-0 cuda-cusolver-dev-9-0 cuda-cusparse-9-0 cuda-cusparse-dev-9-0 cuda-documentation-9-0
  cuda-driver-dev-9-0 cuda-libraries-9-0 cuda-libraries-dev-9-0 cuda-misc-headers-9-0 cuda-npp-9-0 cuda-npp-dev-9-0 cuda-nvgraph-9-0 cuda-nvgraph-dev-9-0 cuda-nvml-dev-9-0 cuda-nvrtc-9-0 cuda-nvrtc-dev-9-0 cuda-samples-9-0 cuda-toolkit-9-0 cuda-visual-tools-9-0 libxmu-dev
  libxmu-headers
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 441 not upgraded.
tomiszs@IHU00007L175395:~/work/deepstream/glut-3.7/progs/advanced97/skull$ sudo apt-get install libgl1-mesa-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libgl1-mesa-dev is already the newest version (17.2.8-0ubuntu0~16.04.1).
The following packages were automatically installed and are no longer required:
  cuda-command-line-tools-9-0 cuda-core-9-0 cuda-cublas-dev-9-0 cuda-cudart-9-0 cuda-cudart-dev-9-0 cuda-cufft-9-0 cuda-cufft-dev-9-0 cuda-curand-9-0 cuda-curand-dev-9-0 cuda-cusolver-9-0 cuda-cusolver-dev-9-0 cuda-cusparse-9-0 cuda-cusparse-dev-9-0 cuda-documentation-9-0
  cuda-driver-dev-9-0 cuda-libraries-9-0 cuda-libraries-dev-9-0 cuda-misc-headers-9-0 cuda-npp-9-0 cuda-npp-dev-9-0 cuda-nvgraph-9-0 cuda-nvgraph-dev-9-0 cuda-nvml-dev-9-0 cuda-nvrtc-9-0 cuda-nvrtc-dev-9-0 cuda-samples-9-0 cuda-toolkit-9-0 cuda-visual-tools-9-0 libxmu-dev
  libxmu-headers
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 441 not upgraded.
tomiszs@IHU00007L175395:~/work/deepstream/glut-3.7/progs/advanced97/skull$ sudo apt-get install libglu1-mesa-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libglu1-mesa-dev is already the newest version (9.0.0-2.1).
The following packages were automatically installed and are no longer required:
  cuda-command-line-tools-9-0 cuda-core-9-0 cuda-cublas-dev-9-0 cuda-cudart-9-0 cuda-cudart-dev-9-0 cuda-cufft-9-0 cuda-cufft-dev-9-0 cuda-curand-9-0 cuda-curand-dev-9-0 cuda-cusolver-9-0 cuda-cusolver-dev-9-0 cuda-cusparse-9-0 cuda-cusparse-dev-9-0 cuda-documentation-9-0
  cuda-driver-dev-9-0 cuda-libraries-9-0 cuda-libraries-dev-9-0 cuda-misc-headers-9-0 cuda-npp-9-0 cuda-npp-dev-9-0 cuda-nvgraph-9-0 cuda-nvgraph-dev-9-0 cuda-nvml-dev-9-0 cuda-nvrtc-9-0 cuda-nvrtc-dev-9-0 cuda-samples-9-0 cuda-toolkit-9-0 cuda-visual-tools-9-0 libxmu-dev
  libxmu-headers
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 441 not upgraded.
tomiszs@IHU00007L175395:~/work/deepstream/glut-3.7/progs/advanced97/skull$ sudo apt-get install freeglut3-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
freeglut3-dev is already the newest version (2.8.1-2).
The following packages were automatically installed and are no longer required:
  cuda-command-line-tools-9-0 cuda-core-9-0 cuda-cublas-dev-9-0 cuda-cudart-9-0 cuda-cudart-dev-9-0 cuda-cufft-9-0 cuda-cufft-dev-9-0 cuda-curand-9-0 cuda-curand-dev-9-0 cuda-cusolver-9-0 cuda-cusolver-dev-9-0 cuda-cusparse-9-0 cuda-cusparse-dev-9-0 cuda-documentation-9-0
  cuda-driver-dev-9-0 cuda-libraries-9-0 cuda-libraries-dev-9-0 cuda-misc-headers-9-0 cuda-npp-9-0 cuda-npp-dev-9-0 cuda-nvgraph-9-0 cuda-nvgraph-dev-9-0 cuda-nvml-dev-9-0 cuda-nvrtc-9-0 cuda-nvrtc-dev-9-0 cuda-samples-9-0 cuda-toolkit-9-0 cuda-visual-tools-9-0 libxmu-dev
  libxmu-headers
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 441 not upgraded.
tomiszs@IHU00007L175395:~/work/deepstream/glut-3.7/progs/advanced97/skull$ sudo apt-get install libopencv-dev python-opencv
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libopencv-dev is already the newest version (2.4.9.1+dfsg-1.5ubuntu1).
python-opencv is already the newest version (2.4.9.1+dfsg-1.5ubuntu1).
The following packages were automatically installed and are no longer required:
  cuda-command-line-tools-9-0 cuda-core-9-0 cuda-cublas-dev-9-0 cuda-cudart-9-0 cuda-cudart-dev-9-0 cuda-cufft-9-0 cuda-cufft-dev-9-0 cuda-curand-9-0 cuda-curand-dev-9-0 cuda-cusolver-9-0 cuda-cusolver-dev-9-0 cuda-cusparse-9-0 cuda-cusparse-dev-9-0 cuda-documentation-9-0
  cuda-driver-dev-9-0 cuda-libraries-9-0 cuda-libraries-dev-9-0 cuda-misc-headers-9-0 cuda-npp-9-0 cuda-npp-dev-9-0 cuda-nvgraph-9-0 cuda-nvgraph-dev-9-0 cuda-nvml-dev-9-0 cuda-nvrtc-9-0 cuda-nvrtc-dev-9-0 cuda-samples-9-0 cuda-toolkit-9-0 cuda-visual-tools-9-0 libxmu-dev
  libxmu-headers
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 441 not upgraded.
tomiszs@IHU00007L175395:~/work/deepstream/glut-3.7/progs/advanced97/skull$ 

tomiszs@IHU00007L175395:~/work/deepstream/glew2/glew-2.1.0$ make all
cc -DGLEW_NO_GLU -DGLEW_BUILD -O2 -Wall -W -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/shared/glew.o -c src/glew.c
cc -shared -Wl,-soname=libGLEW.so.2.1 -o lib/libGLEW.so.2.1.0 tmp/linux/default/shared/glew.o -L/usr/X11R6/lib64 -L/usr/lib64 -lGL -lX11 
ln -sf libGLEW.so.2.1.0 lib/libGLEW.so.2.1
ln -sf libGLEW.so.2.1.0 lib/libGLEW.so
strip -x lib/libGLEW.so.2.1.0
sed \
	-e "s|@prefix@|/usr|g" \
	-e "s|@libdir@|/usr/lib64|g" \
	-e "s|@exec_prefix@|/usr/bin|g" \
	-e "s|@includedir@|/usr/include/GL|g" \
	-e "s|@version@|2.1.0|g" \
	-e "s|@cflags@||g" \
	-e "s|@libname@|GLEW|g" \
	-e "s|@requireslib@|glu|g" \
	< glew.pc.in > glew.pc
cc -DGLEW_NO_GLU -DGLEW_STATIC -O2 -Wall -W -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/static/glew.o -c src/glew.c
ar rv lib/libGLEW.a tmp/linux/default/static/glew.o
ar: creating lib/libGLEW.a
a - tmp/linux/default/static/glew.o
strip -x lib/libGLEW.a
cc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/shared/glewinfo.o -c src/glewinfo.c
cc -O2 -Wall -W -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector -o bin/glewinfo tmp/linux/default/shared/glewinfo.o -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib64 -L/usr/lib64 -lGL -lX11
strip -x bin/glewinfo
cc -DGLEW_NO_GLU -O2 -Wall -W -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector  -o tmp/linux/default/shared/visualinfo.o -c src/visualinfo.c
cc -O2 -Wall -W -Iinclude -fPIC -Wcast-qual -ansi -pedantic -fno-stack-protector -o bin/visualinfo tmp/linux/default/shared/visualinfo.o -Llib -Wl,-Bdynamic -lGLEW -L/usr/X11R6/lib64 -L/usr/lib64 -lGL -lX11
strip -x bin/visualinfo
tomiszs@IHU00007L175395:~/work/deepstream/glew2/glew-2.1.0$ make install 
install -d -m 0755 "/usr/include/GL"
install -m 0644 include/GL/wglew.h "/usr/include/GL/"
install: cannot remove '/usr/include/GL/wglew.h': Permission denied
Makefile:233: recipe for target 'install.include' failed
make: *** [install.include] Error 1
tomiszs@IHU00007L175395:~/work/deepstream/glew2/glew-2.1.0$ sudo make install 
[sudo] password for tomiszs: 
install -d -m 0755 "/usr/include/GL"
install -m 0644 include/GL/wglew.h "/usr/include/GL/"
install -m 0644 include/GL/glew.h "/usr/include/GL/"
install -m 0644 include/GL/glxew.h "/usr/include/GL/"
sed \
	-e "s|@prefix@|/usr|g" \
	-e "s|@libdir@|/usr/lib64|g" \
	-e "s|@exec_prefix@|/usr/bin|g" \
	-e "s|@includedir@|/usr/include/GL|g" \
	-e "s|@version@|2.1.0|g" \
	-e "s|@cflags@||g" \
	-e "s|@libname@|GLEW|g" \
	-e "s|@requireslib@|glu|g" \
	< glew.pc.in > glew.pc
install -d -m 0755 "/usr/lib64"
install -m 0644 lib/libGLEW.so.2.1.0 "/usr/lib64/"
ln -sf libGLEW.so.2.1.0 "/usr/lib64/libGLEW.so.2.1"
ln -sf libGLEW.so.2.1.0 "/usr/lib64/libGLEW.so"
install -m 0644 lib/libGLEW.a "/usr/lib64/"
install -d -m 0755 "/usr/lib/pkgconfig"
install -d -m 0755 "/usr/lib/pkgconfig"
install -m 0644 glew.pc "/usr/lib/pkgconfig/"

Thanks.

I was able to compile it, I had to add the /home/tomiszs/work/deepstream/Video_Codec_SDK_8.1.24/Samples/External/GL as include path and the $(VIDEOSDK_INSTALL_PATH)"/Samples/common/lib/linux/x86_64/libGLEW.a" as an COMMON_LIBS

If anyone else stumbles on that problem.

Install the missing libraries that @AastaLLL mentioned

  1. Go through the file makes/defines.inc and check that you have installed the correct versions of the SDKs. For example. directory structure for Video Codec SDK 8.1.24 is different than 8.0.14 which is used in DeepStream SDK 1.5 make files.

#################################################

Note: DeepStream SDK is based on the following

libraries, please download them before building.

Software | version

#------------------------------------------------

CUDA | 9.0

#------------------------------------------------

cuDNN | 7.0.4

#------------------------------------------------

TensorRT | 3.0

#------------------------------------------------

VideoSDK | 8.0.14

#------------------------------------------------

GPU driver | 384

#################################################

  1. Make sure that the paths that are specified in makes/defines.inc are correct.

Everything should work then