DIGITS system setup--------Installing NVcaffe on the Host problem

Hi,everyone. I am setting DIGITS system on my host PC. When I installed NVcaffe, I encounter some questions. Here is error information:

(base) zhaoyu@zhaoyu:~$ cd caffe
(base) zhaoyu@zhaoyu:~/caffe$ make all
CXX .build_release/src/caffe/proto/caffe.pb.cc
In file included from .build_release/src/caffe/proto/caffe.pb.cc:4:0:
.build_release/src/caffe/proto/caffe.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
.build_release/src/caffe/proto/caffe.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers. Please
  ^
.build_release/src/caffe/proto/caffe.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /usr/include/c++/5/atomic:38:0,
                 from /usr/local/include/google/protobuf/io/coded_stream.h:115,
                 from .build_release/src/caffe/proto/caffe.pb.h:23,
                 from .build_release/src/caffe/proto/caffe.pb.cc:4:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \
  ^
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:141:0,
                 from .build_release/src/caffe/proto/caffe.pb.h:23,
                 from .build_release/src/caffe/proto/caffe.pb.cc:4:
/usr/local/include/google/protobuf/stubs/common.h: In function ‘void google::protobuf::internal::StrongReference(const T&)’:
/usr/local/include/google/protobuf/stubs/common.h:194:17: error: ‘unused’ does not name a type
   auto volatile unused = &var;
                 ^
/usr/local/include/google/protobuf/stubs/common.h:195:10: error: ‘unused’ was not declared in this scope
   (void)&unused;  // Use address to avoid an extra load of "unused".
          ^
In file included from /usr/local/include/google/protobuf/io/coded_stream.h:142:0,
                 from .build_release/src/caffe/proto/caffe.pb.h:23,
                 from .build_release/src/caffe/proto/caffe.pb.cc:4:
/usr/local/include/google/protobuf/stubs/logging.h: In function ‘T* google::protobuf::internal::CheckNotNull(const char*, int, const char*, T*)’:
/usr/local/include/google/protobuf/stubs/logging.h:167:14: error: ‘nullptr’ was not declared in this scope
   if (val == nullptr) {
              ^
In file included from /usr/local/include/google/protobuf/stubs/stringpiece.h:152:0,
                 from /usr/local/include/google/protobuf/stubs/strutil.h:39,
                 from /usr/local/include/google/protobuf/io/coded_stream.h:143,
                 from .build_release/src/caffe/proto/caffe.pb.h:23,
                 from .build_release/src/caffe/proto/caffe.pb.cc:4:
/usr/local/include/google/protobuf/stubs/hash.h: At global scope:
/usr/local/include/google/protobuf/stubs/hash.h:51:31: error: expected template-name before ‘<’ token
 struct hash : public std::hash<Key> {};
                               ^
/usr/local/include/google/protobuf/stubs/hash.h:51:31: error: expected ‘{’ before ‘<’ token
/usr/local/include/google/protobuf/stubs/hash.h:51:31: error: expected unqualified-id before ‘<’ token
In file included from /usr/local/include/google/protobuf/stubs/strutil.h:39:0,
                 from /usr/local/include/google/protobuf/io/coded_stream.h:143,
                 from .build_release/src/caffe/proto/caffe.pb.h:23,
                 from .build_release/src/caffe/proto/caffe.pb.cc:4:
/usr/local/include/google/protobuf/stubs/stringpiece.h: In constructor ‘google::protobuf::StringPiece::StringPiece()’:
/usr/local/include/google/protobuf/stubs/stringpiece.h:212:24: error: ‘nullptr’ was not declared in this scope
   StringPiece() : ptr_(nullptr), length_(0) {}
                        ^
/usr/local/include/google/protobuf/stubs/stringpiece.h: In constructor ‘google::protobuf::StringPiece::StringPiece(const char*)’:
/usr/local/include/google/protobuf/stubs/stringpiece.h:216:16: error: ‘nullptr’ was not declared in this scope
     if (str != nullptr) {
                ^
/usr/local/include/google/protobuf/stubs/stringpiece.h: In member function ‘void google::protobuf::StringPiece::clear()’:
/usr/local/include/google/protobuf/stubs/stringpiece.h:253:12: error: ‘nullptr’ was not declared in this scope
     ptr_ = nullptr;
            ^

I have tried a whole day, but still cannot find the solution. If you have encounter the similar problems, hope you can help me solve the problem.

Thanks a lot.

Sophia

Hi,

Could you follow this document to install? We can build Caffe with cmake configure.
https://github.com/NVIDIA/DIGITS/blob/master/docs/BuildCaffe.md#build

cd $CAFFE_ROOT
mkdir build
cd build
cmake ..
make -j"$(nproc)"
make install

Thanks.

AastaLLL, this afternoon I have solved the above problem:

  1. The caffe branch 0.15 is too old, we changed it to 0.17;
  2. When we implemented the ‘make’ commond, it always informed “protoc or protobuf” error, it always used the protobuf package of Anoconda3. Finally, we used the commond “conda deactivate”, switched the environment, the “protoc or protobuf” error disappeared.

But, I encountered another problem:“Tensorflow support disabled.”

The digits-devserver can open, but when I created the MINST dataset, an error emerged. The error is showed as the picture:

Job Status Error
Initialized at 04:44:54 PM (1 second)
Running at 04:44:56 PM (1 second)
Error at 04:44:57 PM
(Total - 2 seconds)
Parse Folder (train/val) Error 
Initialized at 04:44:54 PM (1 second)
Running at 04:44:56 PM (1 second)
Error at 04:44:57 PM
(Total - 2 seconds)
ERROR: error code -6
Tensorflow support disabled.
        
Create DB (train) Initialized 
Create DB (val) Initialized

(Sorry, I want to show you the picture, but it seems the picture cann’t upload here)

Could you please tell what’s wrong with my DIGITS system, waiting for your reply. Thanks.

Hi,

DIGITs will enable TensorFlow support if the TensorFlow-gpu is installed in the system.
Please check if you can import TensorFlow like this:

import tensorflow

Thanks.