libopencv_highgui.so.3.4: cannot open shared object file: No such file or directory

38 views
Skip to first unread message

Rio TI

unread,
Mar 6, 2019, 2:26:29 AM3/6/19
to Caffe Users
Hi Champs:

Good day.
I'm Texas Instruments SW FAE.

Recently, I'm compiling the Caffe, while running  "make runtest", I have the following issue:

.build_release/tools/caffe: error while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file: No such file or directory
Makefile:560: recipe for target 'runtest' failed
make: *** [runtest] Error 127


I have looked up this SO file,

root@ubuntu:/opt/Caffe-Jacindo# find . -name "libopencv_highgui*"
./anaconda3/pkgs/libopencv-3.4.2-h765d7f9_1/lib/libopencv_highgui.so
./anaconda3/pkgs/libopencv-3.4.2-h765d7f9_1/lib/libopencv_highgui.so.3.4.2
./anaconda3/pkgs/libopencv-3.4.2-h765d7f9_1/lib/libopencv_highgui.so.3.4
./anaconda3/lib/libopencv_highgui.so
./anaconda3/lib/libopencv_highgui.so.3.4.2
./anaconda3/lib/libopencv_highgui.so.3.4

Can anyone help me to review my Makefile.config as the below?
Is this compiling issue related with my Config setting?

Thank you very much.
BR Rio


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

#Rio: We use CPU only
CPU_ONLY := 1

# cuDNN acceleration switch (uncomment to build with cuDNN).
# cuDNN version 6 or higher is required.
# USE_CUDNN := 1

# NCCL acceleration switch (uncomment to build with NCCL)
# See https://github.com/NVIDIA/nccl
# USE_NCCL := 1

# Builds tests with 16 bit float support in addition to 32 and 64 bit.
# TEST_FP16 := 1

# uncomment to disable IO dependencies and corresponding data layers
# USE_OPENCV := 0
# USE_LEVELDB := 0
# USE_LMDB := 0

# 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.
CUDA_ARCH := -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
# mkl for MKL
# open for OpenBlas - default, see github.com/.../OpenBLAS
BLAS := open

# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
BLAS_INCLUDE := /opt/OpenBLAS/include/
BLAS_LIB := /opt/OpenBLAS/lib/

# 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.

# Rio: Command out the below
# 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.
# Rio: Open this
# ANACONDA_HOME := $(HOME)/anaconda
ANACONDA_HOME := /opt/Caffe-Jacindo/anaconda3

# Rio: Open this
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.5m
# PYTHON_INCLUDE := /usr/include/python3.5m \
# /usr/lib/python3.5/dist-packages/numpy/core/include

# We need to be able to find libpythonX.X.so or .dylib.
# Rio: Close this
# PYTHON_LIB := /usr/lib
# Rio: Open this
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.

# Rio: Mark this out
# 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

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

# 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

# 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.)
# Rio: Open this
USE_PKG_CONFIG := 1

BUILD_DIR := build
DISTRIBUTE_DIR := distribute

# Uncomment for debugging. Does not work on OSX due to github.com/.../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 ?= @

# shared object suffix name to differentiate branches
LIBRARY_NAME_SUFFIX := -nv

Rio TI

unread,
Mar 6, 2019, 4:35:27 AM3/6/19
to Caffe Users
I have solved this by adding:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Caffe-Jacindo/anaconda3/lib
Reply all
Reply to author
Forward
0 new messages