installing caffe on Ubuntu 18.04 GPU TitanX CUDA 9.1 CuDNN 7.1 without Anaconda Python 3.6












1















Having problem installing Caffe on Ubuntu 18.04 GPU TitanX CUDA 9.1 CuDNN 7.1 without Anaconda Python 3.6. Running make -j8 all gets the following error:



LD -o .build_release/lib/libcaffe.so.1.0.0
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu//libcudnn.so when searching for -lcudnn
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib64/libcudnn.so when searching for -lcudnn
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib/libcudnn.so when searching for -lcudnn
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
/usr/bin/x86_64-linux-gnu-ld: cannot find -lcudnn
collect2: error: ld returned 1 exit status
Makefile:583: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1


I tried providing the directory address to CuDNN (/usr/lib/x86_64-linux-gnu/ and usr/local/include for the header) in Makefile.Config. Here is the content of Makefile.Config :



## Refer to http://caffe.berkeleyvision.org/installation.html
# Contributions simplifying and improving our build system are welcome!

# cuDNN acceleration switch (uncomment to build with cuDNN).
USE_CUDNN := 1

# CPU-only switch (uncomment to build without GPU support).
# CPU_ONLY := 1

# uncomment to disable IO dependencies and corresponding data layers
# USE_OPENCV := 0
# USE_LEVELDB := 0
# USE_LMDB := 0
# This code is taken from https://github.com/sh1r0/caffe-android-lib
# USE_HDF5 := 0

# uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
# You should not set this flag if you will be reading LMDBs with any
# possibility of simultaneous read and write
# ALLOW_LMDB_NOLOCK := 1

# Uncomment if you're using OpenCV 3
OPENCV_VERSION := 3

# To customize your choice of compiler, uncomment and set the following.
# N.B. the default for Linux is g++ and the default for OSX is clang++
# CUSTOM_CXX := g++

# CUDA directory contains bin/ and lib/ directories that we need.
CUDA_DIR := /usr/local/cuda
# On Ubuntu 14.04, if cuda tools are installed via
# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
# CUDA_DIR := /usr

# CUDA architecture setting: going with all of them.
# For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
# For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
# For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
CUDA_ARCH := #-gencode arch=compute_20,code=sm_20
#-gencode arch=compute_20,code=sm_21
-gencode arch=compute_30,code=sm_30
-gencode arch=compute_35,code=sm_35
-gencode arch=compute_50,code=sm_50
-gencode arch=compute_52,code=sm_52
-gencode arch=compute_60,code=sm_60
-gencode arch=compute_61,code=sm_61
-gencode arch=compute_61,code=compute_61

# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := atlas
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
# BLAS_INCLUDE := /path/to/your/blas
# BLAS_LIB := /path/to/your/blas

# Homebrew puts openblas in a directory that is not on the standard search path
# BLAS_INCLUDE := $(shell brew --prefix openblas)/include
# BLAS_LIB := $(shell brew --prefix openblas)/lib

# This is required only if you will compile the matlab interface.
# MATLAB directory should contain the mex binary in /bin.
# MATLAB_DIR := /usr/local
# MATLAB_DIR := /Applications/MATLAB_R2012b.app

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7
/usr/lib/python2.7/dist-packages/numpy/core/include
# Anaconda Python distribution is quite popular. Include path:
# Verify anaconda location, sometimes it's in root.
# ANACONDA_HOME := $(HOME)/anaconda
# PYTHON_INCLUDE := $(ANACONDA_HOME)/include
# $(ANACONDA_HOME)/include/python2.7
# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

# Uncomment to use Python 3 (default is Python 2)
PYTHON_LIBRARIES := boost_python3 python3.6m
PYTHON_INCLUDE := /usr/include/python3.6m
/usr/lib/python3.6/dist-packages/numpy/core/include

# We need to be able to find libpythonX.X.so or .dylib.
PYTHON_LIB := /usr/lib
# PYTHON_LIB := $(ANACONDA_HOME)/lib

# Homebrew installs numpy in a non standard path (keg only)
# PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
# PYTHON_LIB += $(shell brew --prefix numpy)/lib

# Uncomment to support layers written in Python (will link against Python libs)
#WITH_PYTHON_LAYER := 1

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/
#INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include /usr/include/hdf5/serial /usr/local/cuda/include
#LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/

# If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
# INCLUDE_DIRS += $(shell brew --prefix)/include
# LIBRARY_DIRS += $(shell brew --prefix)/lib

# NCCL acceleration switch (uncomment to build with NCCL)
# https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
# USE_NCCL := 1

# Uncomment to use `pkg-config` to specify OpenCV library paths.
# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
#USE_PKG_CONFIG := 1

# N.B. both build and distribute dirs are cleared on `make clean`
BUILD_DIR := build
DISTRIBUTE_DIR := distribute

# Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
# DEBUG := 1

# The ID of the GPU that 'make runtest' will use to run unit tests.
TEST_GPUID := 0

# enable pretty build (comment to see full commands)
Q ?= @


I also tried creating symbolic links between libcudnn.so.7.1.2 and libcudnn.so :



ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so.7


and between libcudnn.so.7.1.2 and libcudnn.so :



ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so 


Typing ld -lcudnn --verbose spits out the following final lines :



attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.so failed
attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.a failed
attempt to open //lib/x86_64-linux-gnu/libcudnn.so failed
attempt to open //lib/x86_64-linux-gnu/libcudnn.a failed
attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.so succeeded
ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.a failed
attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.so failed
attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.a failed
attempt to open //usr/local/lib64/libcudnn.so failed
attempt to open //usr/local/lib64/libcudnn.a failed
attempt to open //lib64/libcudnn.so failed
attempt to open //lib64/libcudnn.a failed
attempt to open //usr/lib64/libcudnn.so failed
attempt to open //usr/lib64/libcudnn.a failed
attempt to open //usr/local/lib/libcudnn.so failed
attempt to open //usr/local/lib/libcudnn.a failed
attempt to open //lib/libcudnn.so failed
attempt to open //lib/libcudnn.a failed
attempt to open //usr/lib/libcudnn.so failed
attempt to open //usr/lib/libcudnn.a failed
attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.so failed
attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.a failed
attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.so failed
attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.a failed
ld: cannot find -lcudnn


I checked where cudnn is (sudo find / -name libcudnn*so*) and got the following answer : /home/meriemlio/Downloads/cuda/targets/ppc64le-linux/lib/libcudnn.so /root/caffe/libcudnn.so find: ‘/run/user/1000/gvfs’: Permission denied find: ‘/run/user/120/gvfs’: Permission denied /usr/lib/x86_64-linux-gnu/libcudnn.so



I tried adding directories ld isn't checking for libcudnn by typing for instance :



export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/


I still get the same error. Any clues ?










share|improve this question



























    1















    Having problem installing Caffe on Ubuntu 18.04 GPU TitanX CUDA 9.1 CuDNN 7.1 without Anaconda Python 3.6. Running make -j8 all gets the following error:



    LD -o .build_release/lib/libcaffe.so.1.0.0
    /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu//libcudnn.so when searching for -lcudnn
    /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib64/libcudnn.so when searching for -lcudnn
    /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib/libcudnn.so when searching for -lcudnn
    /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
    /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
    /usr/bin/x86_64-linux-gnu-ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
    /usr/bin/x86_64-linux-gnu-ld: cannot find -lcudnn
    collect2: error: ld returned 1 exit status
    Makefile:583: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
    make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1


    I tried providing the directory address to CuDNN (/usr/lib/x86_64-linux-gnu/ and usr/local/include for the header) in Makefile.Config. Here is the content of Makefile.Config :



    ## Refer to http://caffe.berkeleyvision.org/installation.html
    # Contributions simplifying and improving our build system are welcome!

    # cuDNN acceleration switch (uncomment to build with cuDNN).
    USE_CUDNN := 1

    # CPU-only switch (uncomment to build without GPU support).
    # CPU_ONLY := 1

    # uncomment to disable IO dependencies and corresponding data layers
    # USE_OPENCV := 0
    # USE_LEVELDB := 0
    # USE_LMDB := 0
    # This code is taken from https://github.com/sh1r0/caffe-android-lib
    # USE_HDF5 := 0

    # uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
    # You should not set this flag if you will be reading LMDBs with any
    # possibility of simultaneous read and write
    # ALLOW_LMDB_NOLOCK := 1

    # Uncomment if you're using OpenCV 3
    OPENCV_VERSION := 3

    # To customize your choice of compiler, uncomment and set the following.
    # N.B. the default for Linux is g++ and the default for OSX is clang++
    # CUSTOM_CXX := g++

    # CUDA directory contains bin/ and lib/ directories that we need.
    CUDA_DIR := /usr/local/cuda
    # On Ubuntu 14.04, if cuda tools are installed via
    # "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
    # CUDA_DIR := /usr

    # CUDA architecture setting: going with all of them.
    # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
    # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
    # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
    CUDA_ARCH := #-gencode arch=compute_20,code=sm_20
    #-gencode arch=compute_20,code=sm_21
    -gencode arch=compute_30,code=sm_30
    -gencode arch=compute_35,code=sm_35
    -gencode arch=compute_50,code=sm_50
    -gencode arch=compute_52,code=sm_52
    -gencode arch=compute_60,code=sm_60
    -gencode arch=compute_61,code=sm_61
    -gencode arch=compute_61,code=compute_61

    # BLAS choice:
    # atlas for ATLAS (default)
    # mkl for MKL
    # open for OpenBlas
    BLAS := atlas
    # Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
    # Leave commented to accept the defaults for your choice of BLAS
    # (which should work)!
    # BLAS_INCLUDE := /path/to/your/blas
    # BLAS_LIB := /path/to/your/blas

    # Homebrew puts openblas in a directory that is not on the standard search path
    # BLAS_INCLUDE := $(shell brew --prefix openblas)/include
    # BLAS_LIB := $(shell brew --prefix openblas)/lib

    # This is required only if you will compile the matlab interface.
    # MATLAB directory should contain the mex binary in /bin.
    # MATLAB_DIR := /usr/local
    # MATLAB_DIR := /Applications/MATLAB_R2012b.app

    # NOTE: this is required only if you will compile the python interface.
    # We need to be able to find Python.h and numpy/arrayobject.h.
    PYTHON_INCLUDE := /usr/include/python2.7
    /usr/lib/python2.7/dist-packages/numpy/core/include
    # Anaconda Python distribution is quite popular. Include path:
    # Verify anaconda location, sometimes it's in root.
    # ANACONDA_HOME := $(HOME)/anaconda
    # PYTHON_INCLUDE := $(ANACONDA_HOME)/include
    # $(ANACONDA_HOME)/include/python2.7
    # $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

    # Uncomment to use Python 3 (default is Python 2)
    PYTHON_LIBRARIES := boost_python3 python3.6m
    PYTHON_INCLUDE := /usr/include/python3.6m
    /usr/lib/python3.6/dist-packages/numpy/core/include

    # We need to be able to find libpythonX.X.so or .dylib.
    PYTHON_LIB := /usr/lib
    # PYTHON_LIB := $(ANACONDA_HOME)/lib

    # Homebrew installs numpy in a non standard path (keg only)
    # PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
    # PYTHON_LIB += $(shell brew --prefix numpy)/lib

    # Uncomment to support layers written in Python (will link against Python libs)
    #WITH_PYTHON_LAYER := 1

    # Whatever else you find you need goes here.
    INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/
    #INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include /usr/include/hdf5/serial /usr/local/cuda/include
    #LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/

    # If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
    # INCLUDE_DIRS += $(shell brew --prefix)/include
    # LIBRARY_DIRS += $(shell brew --prefix)/lib

    # NCCL acceleration switch (uncomment to build with NCCL)
    # https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
    # USE_NCCL := 1

    # Uncomment to use `pkg-config` to specify OpenCV library paths.
    # (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
    #USE_PKG_CONFIG := 1

    # N.B. both build and distribute dirs are cleared on `make clean`
    BUILD_DIR := build
    DISTRIBUTE_DIR := distribute

    # Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
    # DEBUG := 1

    # The ID of the GPU that 'make runtest' will use to run unit tests.
    TEST_GPUID := 0

    # enable pretty build (comment to see full commands)
    Q ?= @


    I also tried creating symbolic links between libcudnn.so.7.1.2 and libcudnn.so :



    ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so.7


    and between libcudnn.so.7.1.2 and libcudnn.so :



    ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so 


    Typing ld -lcudnn --verbose spits out the following final lines :



    attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.so failed
    attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.a failed
    attempt to open //lib/x86_64-linux-gnu/libcudnn.so failed
    attempt to open //lib/x86_64-linux-gnu/libcudnn.a failed
    attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.so succeeded
    ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
    attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.a failed
    attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.so failed
    attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.a failed
    attempt to open //usr/local/lib64/libcudnn.so failed
    attempt to open //usr/local/lib64/libcudnn.a failed
    attempt to open //lib64/libcudnn.so failed
    attempt to open //lib64/libcudnn.a failed
    attempt to open //usr/lib64/libcudnn.so failed
    attempt to open //usr/lib64/libcudnn.a failed
    attempt to open //usr/local/lib/libcudnn.so failed
    attempt to open //usr/local/lib/libcudnn.a failed
    attempt to open //lib/libcudnn.so failed
    attempt to open //lib/libcudnn.a failed
    attempt to open //usr/lib/libcudnn.so failed
    attempt to open //usr/lib/libcudnn.a failed
    attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.so failed
    attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.a failed
    attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.so failed
    attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.a failed
    ld: cannot find -lcudnn


    I checked where cudnn is (sudo find / -name libcudnn*so*) and got the following answer : /home/meriemlio/Downloads/cuda/targets/ppc64le-linux/lib/libcudnn.so /root/caffe/libcudnn.so find: ‘/run/user/1000/gvfs’: Permission denied find: ‘/run/user/120/gvfs’: Permission denied /usr/lib/x86_64-linux-gnu/libcudnn.so



    I tried adding directories ld isn't checking for libcudnn by typing for instance :



    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/


    I still get the same error. Any clues ?










    share|improve this question

























      1












      1








      1








      Having problem installing Caffe on Ubuntu 18.04 GPU TitanX CUDA 9.1 CuDNN 7.1 without Anaconda Python 3.6. Running make -j8 all gets the following error:



      LD -o .build_release/lib/libcaffe.so.1.0.0
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu//libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib64/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: cannot find -lcudnn
      collect2: error: ld returned 1 exit status
      Makefile:583: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
      make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1


      I tried providing the directory address to CuDNN (/usr/lib/x86_64-linux-gnu/ and usr/local/include for the header) in Makefile.Config. Here is the content of Makefile.Config :



      ## Refer to http://caffe.berkeleyvision.org/installation.html
      # Contributions simplifying and improving our build system are welcome!

      # cuDNN acceleration switch (uncomment to build with cuDNN).
      USE_CUDNN := 1

      # CPU-only switch (uncomment to build without GPU support).
      # CPU_ONLY := 1

      # uncomment to disable IO dependencies and corresponding data layers
      # USE_OPENCV := 0
      # USE_LEVELDB := 0
      # USE_LMDB := 0
      # This code is taken from https://github.com/sh1r0/caffe-android-lib
      # USE_HDF5 := 0

      # uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
      # You should not set this flag if you will be reading LMDBs with any
      # possibility of simultaneous read and write
      # ALLOW_LMDB_NOLOCK := 1

      # Uncomment if you're using OpenCV 3
      OPENCV_VERSION := 3

      # To customize your choice of compiler, uncomment and set the following.
      # N.B. the default for Linux is g++ and the default for OSX is clang++
      # CUSTOM_CXX := g++

      # CUDA directory contains bin/ and lib/ directories that we need.
      CUDA_DIR := /usr/local/cuda
      # On Ubuntu 14.04, if cuda tools are installed via
      # "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
      # CUDA_DIR := /usr

      # CUDA architecture setting: going with all of them.
      # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
      # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
      # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
      CUDA_ARCH := #-gencode arch=compute_20,code=sm_20
      #-gencode arch=compute_20,code=sm_21
      -gencode arch=compute_30,code=sm_30
      -gencode arch=compute_35,code=sm_35
      -gencode arch=compute_50,code=sm_50
      -gencode arch=compute_52,code=sm_52
      -gencode arch=compute_60,code=sm_60
      -gencode arch=compute_61,code=sm_61
      -gencode arch=compute_61,code=compute_61

      # BLAS choice:
      # atlas for ATLAS (default)
      # mkl for MKL
      # open for OpenBlas
      BLAS := atlas
      # Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
      # Leave commented to accept the defaults for your choice of BLAS
      # (which should work)!
      # BLAS_INCLUDE := /path/to/your/blas
      # BLAS_LIB := /path/to/your/blas

      # Homebrew puts openblas in a directory that is not on the standard search path
      # BLAS_INCLUDE := $(shell brew --prefix openblas)/include
      # BLAS_LIB := $(shell brew --prefix openblas)/lib

      # This is required only if you will compile the matlab interface.
      # MATLAB directory should contain the mex binary in /bin.
      # MATLAB_DIR := /usr/local
      # MATLAB_DIR := /Applications/MATLAB_R2012b.app

      # NOTE: this is required only if you will compile the python interface.
      # We need to be able to find Python.h and numpy/arrayobject.h.
      PYTHON_INCLUDE := /usr/include/python2.7
      /usr/lib/python2.7/dist-packages/numpy/core/include
      # Anaconda Python distribution is quite popular. Include path:
      # Verify anaconda location, sometimes it's in root.
      # ANACONDA_HOME := $(HOME)/anaconda
      # PYTHON_INCLUDE := $(ANACONDA_HOME)/include
      # $(ANACONDA_HOME)/include/python2.7
      # $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

      # Uncomment to use Python 3 (default is Python 2)
      PYTHON_LIBRARIES := boost_python3 python3.6m
      PYTHON_INCLUDE := /usr/include/python3.6m
      /usr/lib/python3.6/dist-packages/numpy/core/include

      # We need to be able to find libpythonX.X.so or .dylib.
      PYTHON_LIB := /usr/lib
      # PYTHON_LIB := $(ANACONDA_HOME)/lib

      # Homebrew installs numpy in a non standard path (keg only)
      # PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
      # PYTHON_LIB += $(shell brew --prefix numpy)/lib

      # Uncomment to support layers written in Python (will link against Python libs)
      #WITH_PYTHON_LAYER := 1

      # Whatever else you find you need goes here.
      INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
      LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/
      #INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include /usr/include/hdf5/serial /usr/local/cuda/include
      #LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/

      # If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
      # INCLUDE_DIRS += $(shell brew --prefix)/include
      # LIBRARY_DIRS += $(shell brew --prefix)/lib

      # NCCL acceleration switch (uncomment to build with NCCL)
      # https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
      # USE_NCCL := 1

      # Uncomment to use `pkg-config` to specify OpenCV library paths.
      # (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
      #USE_PKG_CONFIG := 1

      # N.B. both build and distribute dirs are cleared on `make clean`
      BUILD_DIR := build
      DISTRIBUTE_DIR := distribute

      # Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
      # DEBUG := 1

      # The ID of the GPU that 'make runtest' will use to run unit tests.
      TEST_GPUID := 0

      # enable pretty build (comment to see full commands)
      Q ?= @


      I also tried creating symbolic links between libcudnn.so.7.1.2 and libcudnn.so :



      ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so.7


      and between libcudnn.so.7.1.2 and libcudnn.so :



      ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so 


      Typing ld -lcudnn --verbose spits out the following final lines :



      attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.so failed
      attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.a failed
      attempt to open //lib/x86_64-linux-gnu/libcudnn.so failed
      attempt to open //lib/x86_64-linux-gnu/libcudnn.a failed
      attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.so succeeded
      ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.a failed
      attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.so failed
      attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.a failed
      attempt to open //usr/local/lib64/libcudnn.so failed
      attempt to open //usr/local/lib64/libcudnn.a failed
      attempt to open //lib64/libcudnn.so failed
      attempt to open //lib64/libcudnn.a failed
      attempt to open //usr/lib64/libcudnn.so failed
      attempt to open //usr/lib64/libcudnn.a failed
      attempt to open //usr/local/lib/libcudnn.so failed
      attempt to open //usr/local/lib/libcudnn.a failed
      attempt to open //lib/libcudnn.so failed
      attempt to open //lib/libcudnn.a failed
      attempt to open //usr/lib/libcudnn.so failed
      attempt to open //usr/lib/libcudnn.a failed
      attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.so failed
      attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.a failed
      attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.so failed
      attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.a failed
      ld: cannot find -lcudnn


      I checked where cudnn is (sudo find / -name libcudnn*so*) and got the following answer : /home/meriemlio/Downloads/cuda/targets/ppc64le-linux/lib/libcudnn.so /root/caffe/libcudnn.so find: ‘/run/user/1000/gvfs’: Permission denied find: ‘/run/user/120/gvfs’: Permission denied /usr/lib/x86_64-linux-gnu/libcudnn.so



      I tried adding directories ld isn't checking for libcudnn by typing for instance :



      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/


      I still get the same error. Any clues ?










      share|improve this question














      Having problem installing Caffe on Ubuntu 18.04 GPU TitanX CUDA 9.1 CuDNN 7.1 without Anaconda Python 3.6. Running make -j8 all gets the following error:



      LD -o .build_release/lib/libcaffe.so.1.0.0
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu//libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib64/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/local/cuda/lib/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      /usr/bin/x86_64-linux-gnu-ld: cannot find -lcudnn
      collect2: error: ld returned 1 exit status
      Makefile:583: recipe for target '.build_release/lib/libcaffe.so.1.0.0' failed
      make: *** [.build_release/lib/libcaffe.so.1.0.0] Error 1


      I tried providing the directory address to CuDNN (/usr/lib/x86_64-linux-gnu/ and usr/local/include for the header) in Makefile.Config. Here is the content of Makefile.Config :



      ## Refer to http://caffe.berkeleyvision.org/installation.html
      # Contributions simplifying and improving our build system are welcome!

      # cuDNN acceleration switch (uncomment to build with cuDNN).
      USE_CUDNN := 1

      # CPU-only switch (uncomment to build without GPU support).
      # CPU_ONLY := 1

      # uncomment to disable IO dependencies and corresponding data layers
      # USE_OPENCV := 0
      # USE_LEVELDB := 0
      # USE_LMDB := 0
      # This code is taken from https://github.com/sh1r0/caffe-android-lib
      # USE_HDF5 := 0

      # uncomment to allow MDB_NOLOCK when reading LMDB files (only if necessary)
      # You should not set this flag if you will be reading LMDBs with any
      # possibility of simultaneous read and write
      # ALLOW_LMDB_NOLOCK := 1

      # Uncomment if you're using OpenCV 3
      OPENCV_VERSION := 3

      # To customize your choice of compiler, uncomment and set the following.
      # N.B. the default for Linux is g++ and the default for OSX is clang++
      # CUSTOM_CXX := g++

      # CUDA directory contains bin/ and lib/ directories that we need.
      CUDA_DIR := /usr/local/cuda
      # On Ubuntu 14.04, if cuda tools are installed via
      # "sudo apt-get install nvidia-cuda-toolkit" then use this instead:
      # CUDA_DIR := /usr

      # CUDA architecture setting: going with all of them.
      # For CUDA < 6.0, comment the *_50 through *_61 lines for compatibility.
      # For CUDA < 8.0, comment the *_60 and *_61 lines for compatibility.
      # For CUDA >= 9.0, comment the *_20 and *_21 lines for compatibility.
      CUDA_ARCH := #-gencode arch=compute_20,code=sm_20
      #-gencode arch=compute_20,code=sm_21
      -gencode arch=compute_30,code=sm_30
      -gencode arch=compute_35,code=sm_35
      -gencode arch=compute_50,code=sm_50
      -gencode arch=compute_52,code=sm_52
      -gencode arch=compute_60,code=sm_60
      -gencode arch=compute_61,code=sm_61
      -gencode arch=compute_61,code=compute_61

      # BLAS choice:
      # atlas for ATLAS (default)
      # mkl for MKL
      # open for OpenBlas
      BLAS := atlas
      # Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
      # Leave commented to accept the defaults for your choice of BLAS
      # (which should work)!
      # BLAS_INCLUDE := /path/to/your/blas
      # BLAS_LIB := /path/to/your/blas

      # Homebrew puts openblas in a directory that is not on the standard search path
      # BLAS_INCLUDE := $(shell brew --prefix openblas)/include
      # BLAS_LIB := $(shell brew --prefix openblas)/lib

      # This is required only if you will compile the matlab interface.
      # MATLAB directory should contain the mex binary in /bin.
      # MATLAB_DIR := /usr/local
      # MATLAB_DIR := /Applications/MATLAB_R2012b.app

      # NOTE: this is required only if you will compile the python interface.
      # We need to be able to find Python.h and numpy/arrayobject.h.
      PYTHON_INCLUDE := /usr/include/python2.7
      /usr/lib/python2.7/dist-packages/numpy/core/include
      # Anaconda Python distribution is quite popular. Include path:
      # Verify anaconda location, sometimes it's in root.
      # ANACONDA_HOME := $(HOME)/anaconda
      # PYTHON_INCLUDE := $(ANACONDA_HOME)/include
      # $(ANACONDA_HOME)/include/python2.7
      # $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include

      # Uncomment to use Python 3 (default is Python 2)
      PYTHON_LIBRARIES := boost_python3 python3.6m
      PYTHON_INCLUDE := /usr/include/python3.6m
      /usr/lib/python3.6/dist-packages/numpy/core/include

      # We need to be able to find libpythonX.X.so or .dylib.
      PYTHON_LIB := /usr/lib
      # PYTHON_LIB := $(ANACONDA_HOME)/lib

      # Homebrew installs numpy in a non standard path (keg only)
      # PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include
      # PYTHON_LIB += $(shell brew --prefix numpy)/lib

      # Uncomment to support layers written in Python (will link against Python libs)
      #WITH_PYTHON_LAYER := 1

      # Whatever else you find you need goes here.
      INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
      LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/
      #INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include /usr/include/hdf5/serial /usr/local/cuda/include
      #LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/ /usr/lib/x86_64-linux-gnu/

      # If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies
      # INCLUDE_DIRS += $(shell brew --prefix)/include
      # LIBRARY_DIRS += $(shell brew --prefix)/lib

      # NCCL acceleration switch (uncomment to build with NCCL)
      # https://github.com/NVIDIA/nccl (last tested version: v1.2.3-1+cuda8.0)
      # USE_NCCL := 1

      # Uncomment to use `pkg-config` to specify OpenCV library paths.
      # (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)
      #USE_PKG_CONFIG := 1

      # N.B. both build and distribute dirs are cleared on `make clean`
      BUILD_DIR := build
      DISTRIBUTE_DIR := distribute

      # Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171
      # DEBUG := 1

      # The ID of the GPU that 'make runtest' will use to run unit tests.
      TEST_GPUID := 0

      # enable pretty build (comment to see full commands)
      Q ?= @


      I also tried creating symbolic links between libcudnn.so.7.1.2 and libcudnn.so :



      ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so.7


      and between libcudnn.so.7.1.2 and libcudnn.so :



      ln -sf /usr/local/cuda/lib64/libcudnn.so.7.1.2 /usr/local/cuda/lib64/libcudnn.so 


      Typing ld -lcudnn --verbose spits out the following final lines :



      attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.so failed
      attempt to open //usr/local/lib/x86_64-linux-gnu/libcudnn.a failed
      attempt to open //lib/x86_64-linux-gnu/libcudnn.so failed
      attempt to open //lib/x86_64-linux-gnu/libcudnn.a failed
      attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.so succeeded
      ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libcudnn.so when searching for -lcudnn
      attempt to open //usr/lib/x86_64-linux-gnu/libcudnn.a failed
      attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.so failed
      attempt to open //usr/lib/x86_64-linux-gnu64/libcudnn.a failed
      attempt to open //usr/local/lib64/libcudnn.so failed
      attempt to open //usr/local/lib64/libcudnn.a failed
      attempt to open //lib64/libcudnn.so failed
      attempt to open //lib64/libcudnn.a failed
      attempt to open //usr/lib64/libcudnn.so failed
      attempt to open //usr/lib64/libcudnn.a failed
      attempt to open //usr/local/lib/libcudnn.so failed
      attempt to open //usr/local/lib/libcudnn.a failed
      attempt to open //lib/libcudnn.so failed
      attempt to open //lib/libcudnn.a failed
      attempt to open //usr/lib/libcudnn.so failed
      attempt to open //usr/lib/libcudnn.a failed
      attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.so failed
      attempt to open //usr/x86_64-linux-gnu/lib64/libcudnn.a failed
      attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.so failed
      attempt to open //usr/x86_64-linux-gnu/lib/libcudnn.a failed
      ld: cannot find -lcudnn


      I checked where cudnn is (sudo find / -name libcudnn*so*) and got the following answer : /home/meriemlio/Downloads/cuda/targets/ppc64le-linux/lib/libcudnn.so /root/caffe/libcudnn.so find: ‘/run/user/1000/gvfs’: Permission denied find: ‘/run/user/120/gvfs’: Permission denied /usr/lib/x86_64-linux-gnu/libcudnn.so



      I tried adding directories ld isn't checking for libcudnn by typing for instance :



      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/


      I still get the same error. Any clues ?







      python3 cuda caffe






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 25 at 21:50









      Meriem BeaMeriem Bea

      61




      61






















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "89"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1112921%2finstalling-caffe-on-ubuntu-18-04-gpu-titanx-cuda-9-1-cudnn-7-1-without-anaconda%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Ask Ubuntu!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1112921%2finstalling-caffe-on-ubuntu-18-04-gpu-titanx-cuda-9-1-cudnn-7-1-without-anaconda%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How to make a Squid Proxy server?

          第一次世界大戦

          Touch on Surface Book