Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Table of Contents

 

Introduction

...

No Format
Installation errors out...Not complete

module         load cmake/3.5.0
module         load octave/3.8.0
module         load boost/1.60.0
module         load opencv/3.1.0
module         load library/hdf5/1.8.7
#module         load cuda/7.5.18
module         load caffe/gflags/gflags
module         load caffe/glog/0.3.3
module         load caffe/leveldb/leveldb
module         load caffe/lmdb/lmdb
module         load caffe/protobuf/protobuf
module         load caffe/snappy/snappy
module         load python/2.7.1-shared
module         load library/atlas/3.10.2
module         load matlab/2015b

cd /sw/caffe
unzip caffe-master.zip
cd /sw/caffe/caffe-master
mkdir build




 

OpenCV issues

 

No Format
The following needed to be done with openCV to make it compile on RGEL/Centos 6.5
 - Try to find OpenCV (using pkg-config)
cd /sw/caffe/caffe-master/build
cmake/Modules
-D vi FindOpenCV.cmake
<<<<<<

#
# If OpenCV was installed in a non-defaul location, set OpenCV_DIR
#
# Once done, this will define
#
#  OpenCV_FOUND - system has OpenCV
#  OpenCV_INCLUDE_DIRS - the OpenCV include directories
#  OpenCV_LIBRARIES - link these to use OpenCV
#  OpenCV_LIBRARY_DIRS - the OpenCV library directories
#
# Created: 10 Jan 2012 by bermaw (bermaw at gmail.com)

SET("OpenCV_DIR" "/sw/opencv/opencv-3.1.0")
SET(ENV{PKG_CONFIG_PATH} ${OpenCV_DIR}/lib/pkgconfig)
FIND_PACKAGE(PkgConfig REQUIRED)
pkg_check_modules(OpenCV REQUIRED opencv)

#--- OpenCV (with pkgconfig)
find_package(PkgConfig REQUIRED)
pkg_check_modules(OPENCV REQUIRED opencv)
# https://bugs.freedesktop.org/show_bug.cgi?id=82245
# list(APPEND LIBRARIES ${OPENCV_LIBRARIES})
list(APPEND LIBRARIES ${OPENCV_LDFLAGS})
message(STATUS LIBS ${OPENCV_VERSION})
include_directories(${OPENCV_INCLUDE_DIRS})

 

Protobuf Issue

No Format
vi /sw/caffe/caffe-master/cmake/Modules/FindProtobuf.cmake
# Locate and configure the Google Protocol Buffers library.
# Defines the following variables:
#
#   PROTOBUF_FOUND - Found the Google Protocol Buffers library
#   PROTOBUF_INCLUDE_DIRS - Include directories for Google Protocol Buffers
#   PROTOBUF_LIBRARIES - The protobuf library
#
# The following cache variables are also defined:
#   PROTOBUF_LIBRARY - The protobuf library
#   PROTOBUF_PROTOC_LIBRARY   - The protoc library
#   PROTOBUF_INCLUDE_DIR - The include directory for protocol buffers
#   PROTOBUF_PROTOC_EXECUTABLE - The protoc compiler
#
#  ====================================================================
#  Example:
#
#   find_package(Protobuf REQUIRED)
#   include_directories(${PROTOBUF_INCLUDE_DIRS})
#
#   include_directories(${CMAKE_CURRENT_BINARY_DIR})
#   PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS foo.proto)
#   add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS})
#   target_link_libraries(bar ${PROTOBUF_LIBRARY})
#
# NOTE: You may need to link against pthreads, depending
# on the platform.
#  ====================================================================
#
# PROTOBUF_GENERATE_CPP (public function)
#   SRCS = Variable to define with autogenerated
#          source files
#   HDRS = Variable to define with autogenerated
#          header files
#   ARGN = proto files
#
#  ====================================================================


#=============================================================================
# Copyright 2009 Kitware, Inc.
# Copyright 2009 Philip Lowman <philip@yhbt.com>
# Copyright 2008 Esben Mose Hansen, Ange Optimization ApS
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distributed this file outside of CMake, substitute the full
#  License text for the above reference.)

function(PROTOBUF_GENERATE_CPP SRCS HDRS)
  if(NOT ARGN)
    message(SEND_ERROR "Error: PROTOBUF_GENERATE_CPP() called without any proto files")
    return()
  endif(NOT ARGN)

  set(${SRCS})
  set(${HDRS})
  foreach(FIL ${ARGN})
    get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
    get_filename_component(FIL_WE ${FIL} NAME_WE)

    list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc")
    list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h")

    add_custom_command(
      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc"
             "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h"
      COMMAND  ${PROTOBUF_PROTOC_EXECUTABLE}
      ARGS --cpp_out  ${CMAKE_CURRENT_BINARY_DIR} --proto_path ${CMAKE_CURRENT_SOURCE_DIR} ${ABS_FIL}
      DEPENDS ${ABS_FIL}
      COMMENT "Running C++ protocol buffer compiler on ${FIL}"
      VERBATIM )
  endforeach()

  set_source_files_properties(${${SRCS}} ${${HDRS}} PROPERTIES GENERATED TRUE)
  set(${SRCS} ${${SRCS}} PARENT_SCOPE)
  set(${HDRS} ${${HDRS}} PARENT_SCOPE)
endfunction()


find_path(PROTOBUF_INCLUDE_DIR google/protobuf/service.h)

# Google's provided vcproj files generate libraries with a "lib"
# prefix on Windows
if(WIN32)
    set(PROTOBUF_ORIG_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
    set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
endif()

find_library(PROTOBUF_LIBRARY NAMES protobuf
             DOC "The Google Protocol Buffers Library"
)
find_library(PROTOBUF_PROTOC_LIBRARY NAMES protoc
             DOC "The Google Protocol Buffers Compiler Library"
)
find_program(PROTOBUF_PROTOC_EXECUTABLE NAMES protoc
             DOC "The Google Protocol Buffers Compiler"
)

mark_as_advanced(PROTOBUF_INCLUDE_DIR
                 PROTOBUF_LIBRARY
                 PROTOBUF_PROTOC_LIBRARY
                 PROTOBUF_PROTOC_EXECUTABLE)

# Restore original find library prefixes
if(WIN32)
    set(CMAKE_FIND_LIBRARY_PREFIXES "${PROTOBUF_ORIG_FIND_LIBRARY_PREFIXES}")
endif()

include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROTOBUF DEFAULT_MSG
    PROTOBUF_LIBRARY PROTOBUF_INCLUDE_DIR)

if(PROTOBUF_FOUND)
    set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIR})
    set(PROTOBUF_LIBRARIES    ${PROTOBUF_LIBRARY})
endif()


 

CMakeLists.txt

 

No Format
vi /sw/caffe/caffe-master/CMakeLists.txt
#Indy
#target_link_libraries(filters ${OpenCV_LIBRARIES})
FIND_PACKAGE(OpenCV REQUIRED)
FIND_PACKAGE(Protobuf REQUIRED)

 

 

 

No Format
cd /sw/caffe/caffe-master/build
cmake -D CMAKE_INSTALL_PREFIX=/sw/caffe/caffe-master -DBUILD_SHARED_LIBS=ON -DAtlas_LAPACK_LIBRARY=/sw/library/atlas/3.10.2/lib/liblapack.so -DBUILD_matlab=ON -DMATLAB_DIR=/sw/Matlab/R2015b -DMatlab_mexext=/sw/Matlab/R2015b/toolbox/matlab/general -DMatlab_mex=/sw/Matlab/R2015b/toolbox/matlab/general -DOpenCV_DIR=/sw/opencv/opencv-3.1.0 -DOctave_DIR=/sw/octave/3.8.0  -DCUDNN_INCLUDE="/sw/cuda/cuda_7.5.18/include" -DCUDNN_LIBRARY="/sw/cuda/cuda_7.5.18/lib64/libcudnn.so" -DPROTOBUF_LIBRARY=/sw/caffe/protobuf/lib/libprotobuf.so  .. 2>&1 | tee cmakelog.txt

make
make install

No Format
>>>>>>>>>
cmake -D CMAKE_INSTALL_PREFIX=/sw/caffe/caffe-master -DBUILD_SHARED_LIBS=ON -DAtlas_LAPACK_LIBRARY=/sw/library/atlas/3.10.2/lib/liblapack.so -DBUILD_matlab=ON -DMATLAB_DIR=/sw/Matlab/R2015b -DMatlab_mexext=/sw/Matlab/R2015b/toolbox/matlab/general -DMatlab_mex=/sw/Matlab/R2015b/toolbox/matlab/general -DOpenCV_DIR=/sw/opencv/opencv-3.1.0 -DOctave_DIR=/sw/octave/3.8.0  -DCUDNN_INCLUDE="/sw/cuda/cuda_7.5.18/include" -DCUDNN_LIBRARY="/sw/cuda/cuda_7.5.18/lib64/libcudnn.so" -DPROTOBUF_LIBRARY=/sw/caffe/protobuf/lib/libprotobuf.so  .. 2>&1 | tee cmakelog.txt
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   system
--   thread
--   filesystem
--   chrono
--   date_time
--   atomic
-- Found gflags  (include: /sw/caffe/gflags/usr/local/include, library: /sw/caffe/gflags/usr/local/lib/libgflags.a)
-- Found glog    (include: /sw/caffe/glog/0.3.3/include, library: /sw/caffe/glog/0.3.3/lib/libglog.so)
-- Found PROTOBUF Compiler: /sw/caffe/protobuf/bin/protoc
-- Found lmdb    (include: /sw/caffe/lmdb/usr/local/include, library: /sw/caffe/lmdb/usr/local/lib/liblmdb.so)
-- Found LevelDB (include: /sw/caffe/leveldb/include, library: /sw/caffe/leveldb/lib/libleveldb.so)
-- Found Snappy  (include: /sw/caffe/snappy/include, library: /sw/caffe/snappy/lib/libsnappy.so)
-- CUDA detected: 7.5
-- Found cuDNN: ver. 4.0.7 found (include: /sw/cuda/cuda_7.5.18/include, library: /sw/cuda/cuda_7.5.18/lib64/libcudnn.so)
-- Added CUDA NVCC flags for: sm_20
-- OpenCV found (/sw/opencv/opencv-3.1.0/cmake)
-- Found Atlas: /sw/library/atlas/3.10.2/include
-- Found Atlas (include: /sw/library/atlas/3.10.2/include, library: /sw/library/atlas/3.10.2/lib/libatlas.so)
-- NumPy ver. 1.12.0.dev0+1380fdd found (include: /sw/python/2.7.1-shared/lib/python2.7/site-packages/numpy-1.12.0.dev0+1380fdd-py2.7-linux-x86_64.egg/numpy/core/include)
-- Boost version: 1.60.0
-- Found the following Boost libraries:
--   python
dirname: missing operand
Try `dirname --help' for more information.
dirname: missing operand
Try `dirname --help' for more information.
-- Detected Doxygen OUTPUT_DIRECTORY: ./doxygen/
--
-- ******************* Caffe Configuration Summary *******************
-- General:
--   Version           :   1.0.0-rc3
--   Git               :   unknown
--   System            :   Linux
--   C++ compiler      :   /usr/bin/c++
--   Release CXX flags :   -O3 -DNDEBUG -fPIC -Wall -Wno-sign-compare -Wno-uninitialized
--   Debug CXX flags   :   -g -fPIC -Wall -Wno-sign-compare -Wno-uninitialized
--   Build type        :   Release
--
--   BUILD_SHARED_LIBS :   ON
--   BUILD_python      :   ON
--   BUILD_matlab      :   ON
--   BUILD_docs        :   ON
--   CPU_ONLY          :   OFF
--   USE_OPENCV        :   ON
--   USE_LEVELDB       :   ON
--   USE_LMDB          :   ON
--   ALLOW_LMDB_NOLOCK :   OFF
--
-- Dependencies:
--   BLAS              :   Yes (Atlas)
--   Boost             :   Yes (ver. 1.60)
--   glog              :   Yes
--   gflags            :   Yes
--   protobuf          :   Yes (ver. 3.0.0)
--   lmdb              :   Yes (ver. 0.9.70)
--   LevelDB           :   Yes (ver. 1.18)
--   Snappy            :   Yes (ver. 1.1.3)
--   OpenCV            :   Yes (ver. 3.1.0)
--   CUDA              :   Yes (ver. 7.5)
--
-- NVIDIA CUDA:
--   Target GPU(s)     :   Auto
--   GPU arch(s)       :   sm_20
--   cuDNN             :   Yes (ver. 4.0.7)
--
-- Python:
--   Interpreter       :   /sw/python/2.7.1-shared/bin/python2.7 (ver. 2.7.1)
--   Libraries         :   /sw/python/2.7.1-shared/lib/libpython2.7.so (ver 2.7.1)
--   NumPy             :   /sw/python/2.7.1-shared/lib/python2.7/site-packages/numpy-1.12.0.dev0+1380fdd-py2.7-linux-x86_64.egg/numpy/core/include (ver 1.12.0.dev0+1380fdd)
--
-- Matlab:
--   Matlab            :   Yes (/sw/Matlab/R2015b/toolbox/matlab/general, /sw/Matlab/R2015b/toolbox/matlab/general
--   Octave            :   Yes (/sw/octave/3.8.0/bin/mkoctfile)
--   Build mex using   :   Matlab
--
-- Documentaion:
--   Doxygen           :   /usr/bin/doxygen (1.6.1)
--   config_file       :   /sw/caffe/caffe-master/.Doxyfile
--
-- Install:
--   Install path      :   /sw/caffe/caffe-master
--
-- Configuring done
-- Generating done
-- Build files have been written to: /sw/caffe/caffe-master/build

>>>>>>>>> 

...