sampleMNIST make failed

I’m trying to install the TensorRT 6.0.1.8 on my Ubuntu 18.04. I am following https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html#gettingstarted for the installation process and everything went well. Then I tried to verify the installation by running the sampleMNIST. However, the make failed with the following message:

../Makefile.config:7: CUDA_INSTALL_DIR variable is not specified, using /usr/local/cuda by default, use CUDA_INSTALL_DIR=<cuda_directory> to change.
../Makefile.config:10: CUDNN_INSTALL_DIR variable is not specified, using $CUDA_INSTALL_DIR by default, use CUDNN_INSTALL_DIR=<cudnn_directory> to change.
Cleaning...
if [ -d ../../bin/chobj/../common ]; then rm -rf ../../bin/chobj/../common; fi; :
if [ -d ../../bin/dchobj/../common ]; then rm -rf ../../bin/dchobj/../common; fi; :
../Makefile.config:7: CUDA_INSTALL_DIR variable is not specified, using /usr/local/cuda by default, use CUDA_INSTALL_DIR=<cuda_directory> to change.
../Makefile.config:10: CUDNN_INSTALL_DIR variable is not specified, using $CUDA_INSTALL_DIR by default, use CUDNN_INSTALL_DIR=<cudnn_directory> to change.
if [ ! -d ../../bin/chobj/../common ]; then mkdir -p ../../bin/dchobj/../common; fi; :
Compiling: sampleMNIST.cpp
Linking: ../../bin/sample_mnist_debug
/usr/bin/ld: warning: libcublas.so.10, needed by ../../lib/libnvinfer.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libcudart.so.10.2, needed by ../../lib/libnvinfer.so, not found (try using -rpath or -rpath-link)
../../lib/libnvinfer.so: undefined reference to `cublasHgemm@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaEventDestroy@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaMalloc@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaGetDevice@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasHgemmStridedBatched@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaMemcpyToSymbol@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaRuntimeGetVersion@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaLaunchKernel@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaGetDeviceProperties@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaStreamAddCallback@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaFuncSetAttribute@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaMemcpy@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaCreateChannelDesc@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasSgemm_v2@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cublasDestroy_v2@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cublasSgemmEx@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaGetLastError@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaCreateTextureObject@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaGetErrorString@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasCreate_v2@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaGetDeviceCount@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `__cudaRegisterFatBinary@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasGemmEx@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaEventElapsedTime@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasGetVersion_v2@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaFree@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaEventCreateWithFlags@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasSgemmStridedBatched@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `__cudaRegisterFunction@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasSetStream_v2@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaEventRecord@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaStreamQuery@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaStreamCreate@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaDestroyTextureObject@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaStreamDestroy@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaDeviceSynchronize@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaMemcpyAsync@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaDeviceGetAttribute@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `__cudaPushCallConfiguration@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasGetMathMode@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `__cudaRegisterFatBinaryEnd@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `__cudaUnregisterFatBinary@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaEventSynchronize@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaMemsetAsync@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `__cudaPopCallConfiguration@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cublasSetMathMode@libcublas.so.10'
../../lib/libnvinfer.so: undefined reference to `cudaMemGetInfo@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaStreamSynchronize@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `__cudaRegisterVar@libcudart.so.10.2'
../../lib/libnvinfer.so: undefined reference to `cudaMemcpy2DAsync@libcudart.so.10.2'
collect2: error: ld returned 1 exit status
../Makefile.config:161: recipe for target '../../bin/sample_mnist_debug' failed
make: *** [../../bin/sample_mnist_debug] Error 1

It seems like I don’t have the CUDA 10.2 installed, but when I ran nvidia-smi, the following message confirms that I have 10.2

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.48.02    Driver Version: 440.48.02    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:01:00.0  On |                  N/A |
| 41%   37C    P5    36W / 260W |   3483MiB / 11016MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      3310      G   /usr/lib/xorg/Xorg                            40MiB |
|    0      3343      G   /usr/bin/gnome-shell                         123MiB |
|    0      4396      G   gnome-control-center                          38MiB |
|    0      4959      G   /usr/lib/xorg/Xorg                          1231MiB |
|    0      5076      G   /usr/bin/gnome-shell                         484MiB |
|    0      5491      G   ...quest-channel-token=1054966862813480335   153MiB |
|    0      6019      G   ...quest-channel-token=3470144649993740052   938MiB |
|    0     23769      G   ...uest-channel-token=10751755228895556740   467MiB |
+-----------------------------------------------------------------------------+

I downloaded TensorRT-6.0.1.8.Ubuntu-18.04.x86_64-gnu.cuda-10.2.cudnn7.6.tar.gz, the cudnn is at 7.6 as I have verified.

Hi,

Could you please check if below path settings are done:

  • PATH included /usr/local/cuda-10.2/bin
  • LD_LIBRARY_PATH includes /usr/local/cuda-10.2/lib64
  • Add the absolute path to the TensorRTlib directory to the environment variable LD_LIBRARY_PATH

Also, I will recommend you to use NGC to reduce any host-side dependencies.

Thanks