Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with make all for python with GPU in Ubuntu 14.04 #3909

Closed
caegar07 opened this issue Mar 29, 2016 · 4 comments
Closed

Issue with make all for python with GPU in Ubuntu 14.04 #3909

caegar07 opened this issue Mar 29, 2016 · 4 comments

Comments

@caegar07
Copy link

Hi, I'm trying to get caffe running for Python with GPU in Ubuntu 14.04 .
When I did run make all, the following errors occurred.
I attached the error messages and the Makefile.config file.

Please advice me on how to solve this issue.
Thank you for your help.

1. Error message

NVCC src/caffe/util/im2col.cu
At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

At end of source: warning: routine is both "inline" and "noinline"

NVCC src/caffe/util/math_functions.cu
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
CXX tools/upgrade_solver_proto_text.cpp
CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin
/usr/bin/ld: warning: libprotobuf.so.8, needed by /usr/local/lib/libcaffe.so, may conflict with libprotobuf.so.10
/usr/bin/ld: warning: libboost_system.so.1.59.0, needed by /usr/local/lib/libcaffe.so, may conflict with libboost_system.so.1.60.0
/usr/bin/ld: warning: libboost_thread.so.1.59.0, needed by /usr/local/lib/libcaffe.so, may conflict with libboost_thread.so.1.60.0
.build_release/tools/upgrade_solver_proto_text.o: In function main': upgrade_solver_proto_text.cpp:(.text.startup+0x191): undefined reference tocaffe::SolverNeedsTypeUpgrade(caffe::SolverParameter const&)'
upgrade_solver_proto_text.cpp:(.text.startup+0x1a0): undefined reference to `caffe::UpgradeSolverAsNeeded(std::string const&, caffe::SolverParameter_)'
collect2: error: ld returned 1 exit status
make: *_* [.build_release/tools/upgrade_solver_proto_text.bin] Error 1
shbae@v2slave14:~/caffe-rc3$ ^C

shbae@v2slave14:~/caffe-rc3$

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

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-7.0

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 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_50,code=compute_50

BLAS choice:

atlas for ATLAS (default)

mkl for MKL

open for OpenBlas

BLAS := atlas

BLAS := open

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/local/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.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.

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

USE_PKG_CONFIG := 1

BUILD_DIR := build
DISTRIBUTE_DIR := distribute

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

@caegar07
Copy link
Author

I solved this problem, Thanks.

@srawat
Copy link

srawat commented May 1, 2016

@caegar07 can you please elaborate on the solution. i am facing similar error

1 similar comment
@diggerdu
Copy link

@caegar07 can you please elaborate on the solution. i am facing similar error

@caegar07
Copy link
Author

caegar07 commented Jun 13, 2016

In my case, I simply commented the following lines and solved the problem.

#Whatever else you find you need goes here.

#INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

#LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants