Py-faster-rcnn: error while running make-j8 && make pycaffe

Created on 17 Nov 2017  Â·  7Comments  Â·  Source: rbgirshick/py-faster-rcnn

python setup.py build_ext --inplace
Traceback (most recent call last):
File "setup.py", line 58, in
CUDA = locate_cuda()
File "setup.py", line 53, in locate_cuda
for k, v in cudaconfig.iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'
Makefile:2: recipe for target 'all' failed
make: * [all] Error 1

this is the error I am getting .Could you please help me on this.

Most helpful comment

change the line 53 in setup.py:
for k, v in cudaconfig.iteritems():
with:
for k, v in cudaconfig.items():

there is no iteritems in python 3.5+

All 7 comments

define the enviromental variables for cuda toolkit

export CUDA_HOME=/usr/local/cuda-{your version}
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64

PATH=${CUDA_HOME}/bin:${PATH}
export PATH

CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/internal_thread.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/util/db.cpp
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:508: recipe for target '.build_release/src/caffe/proto/caffe.pb.o' failed
make: * [.build_release/src/caffe/proto/caffe.pb.o] Error 1
make:
Waiting for unfinished jobs....
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/insert_splits.cpp:7:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/insert_splits.cpp:7:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/util/insert_splits.o' failed
make:
[.build_release/src/caffe/util/insert_splits.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/syncedmem.cpp:3:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/syncedmem.cpp:3:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/syncedmem.o' failed
make:
[.build_release/src/caffe/syncedmem.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/data_transformer.hpp:6,
from src/caffe/data_transformer.cpp:6:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/data_transformer.hpp:6,
from src/caffe/data_transformer.cpp:6:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/data_transformer.o' failed
make:
[.build_release/src/caffe/data_transformer.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/upgrade_proto.cpp:8:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/util/upgrade_proto.o' failed
make:
[.build_release/src/caffe/util/upgrade_proto.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/util/db.hpp:10,
from src/caffe/util/db.cpp:1:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/util/db.hpp:10,
from src/caffe/util/db.cpp:1:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/util/db.o' failed
make:
[.build_release/src/caffe/util/db.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/io.cpp:16:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/util/io.o' failed
make:
[.build_release/src/caffe/util/io.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/internal_thread.hpp:4,
from src/caffe/internal_thread.cpp:2:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/internal_thread.hpp:4,
from src/caffe/internal_thread.cpp:2:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/internal_thread.o' failed
make: *
* [.build_release/src/caffe/internal_thread.o] Error 1

...that error is no longer seen , but now getting something like this...

I am thinking it is because of protobuff when i checked for protoc version, it showing as 3.4.0...could you please tell me what is that I am doing wrong...

thats is no longer seen, but getting some new kinda error:

CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/syncedmem.cpp
CXX src/caffe/internal_thread.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/util/db.cpp
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:508: recipe for target '.build_release/src/caffe/proto/caffe.pb.o'
failed
make: * [.build_release/src/caffe/proto/caffe.pb.o] Error 1
make:
Waiting for unfinished jobs....
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/insert_splits.cpp:7:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/insert_splits.cpp:7:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target
'.build_release/src/caffe/util/insert_splits.o' failed
make:
[.build_release/src/caffe/util/insert_splits.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/syncedmem.cpp:3:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/syncedmem.cpp:3:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/syncedmem.o'
failed
make:
[.build_release/src/caffe/syncedmem.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/data_transformer.hpp:6,
from src/caffe/data_transformer.cpp:6:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/blob.hpp:8,
from ./include/caffe/data_transformer.hpp:6,
from src/caffe/data_transformer.cpp:6:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target
'.build_release/src/caffe/data_transformer.o' failed
make:
[.build_release/src/caffe/data_transformer.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/upgrade_proto.cpp:8:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target
'.build_release/src/caffe/util/upgrade_proto.o' failed
make:
[.build_release/src/caffe/util/upgrade_proto.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/util/db.hpp:10,
from src/caffe/util/db.cpp:1:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/util/db.hpp:10,
from src/caffe/util/db.cpp:1:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/util/db.o' failed
make:
[.build_release/src/caffe/util/db.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from src/caffe/util/io.cpp:16:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target '.build_release/src/caffe/util/io.o' failed
make:
[.build_release/src/caffe/util/io.o] Error 1
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/internal_thread.hpp:4,
from src/caffe/internal_thread.cpp:2:
.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was
generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible
with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from ./include/caffe/util/cudnn.hpp:8:0,
from ./include/caffe/util/device_alternate.hpp:40,
from ./include/caffe/common.hpp:19,
from ./include/caffe/internal_thread.hpp:4,
from src/caffe/internal_thread.cpp:2:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error:
google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:501: recipe for target
'.build_release/src/caffe/internal_thread.o' failed
make: *
* [.build_release/src/caffe/internal_thread.o] Error 1

i am thinking it is because of protobuff when i checked for protoc version,
it showing as 3.4.0...

please guide me where am i doing wrong...

On Sun, Nov 19, 2017 at 1:00 AM, stefanosKarantin notifications@github.com
wrote:

define the enviromental variables for cuda toolkit

export CUDA_HOME=/usr/local/cuda-
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64

PATH=${CUDA_HOME}/bin:${PATH}
export PATH

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rbgirshick/py-faster-rcnn/issues/735#issuecomment-345465326,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJQyA3bMzxKiQdkzjpOFfkbwt9DWDSzRks5s3zBegaJpZM4QiDhB
.

The solution is to change the line 55 in setup.py :
cudaconfig = {'home':home, 'nvcc':nvcc,
'include': pjoin(home, 'include'),
'lib64': pjoin(home, 'lib64')}
with :
cudaconfig = {'home':home, 'nvcc':nvcc,
'include': pjoin(home, 'include'),
'lib64': pjoin(home, 'lib')}

change the line 53 in setup.py:
for k, v in cudaconfig.iteritems():
with:
for k, v in cudaconfig.items():

there is no iteritems in python 3.5+

@woxihuanchirou : Thanks..I was using python 3.6. and it worked for me..

Was this page helpful?
0 / 5 - 0 ratings