• 编译ImageMagick:

    ./configure --prefix=/home/***/*** --with-quantum-depth=8 --without-x --without-xml --without-tiff --without-openexr --without-fontconfig --without-freetype --with-jpeg=yes --disable-openmp --disable-docs LDFLAGS="-L/home/***/***/lib" CPPFLAGS="-I/home/***/***/include"
  • openblas编译:

    修改 CC = ~/.jumbo/opt/gcc46/bin/gcc,FC = ~/.jumbo/opt/gcc46/bin/gfortran,COMMON_OPT = -O2
    注释COMMON_PROF = -pg
  • 编译protobuf:

    修改src/google/protobuf/io中的kDefaultTotalBytesLimit和kDefaultTotalBytesWarningThreshold,去除message=64M的限制,重新编译安装
    CXXFLAGS="-O3 -fPIC" ./configure --prefix=/home/tcheng/protobuf/ --enable-shared --enable-static
    这样编译出来可移植的静态库
  • boost编译安装:(最好安装在系统目录下)

    ./bootstrap.sh --prefix=path/to/installation/prefix
    ./b2 install
    静态库增加-fpic选项的方法: 
    http://blog.csdn.net/lzshlzsh/article/details/50110771
  • Opencv的安装:

    mkdir build && cd build && ccmake .. 
    a. 安装的时候最好去除各种不必要的选项,避免最终编译连接时,需要引入各种静态库
    b. 动态库和静态库需要分别编译,动态库用于caffe编译,静态库用于服务编译
    c. Png和Jpeg库最好从Opencv带的3rdparty源码中编译出来,有版本限制,最好将系统自带库升级到相应版本以上,注意升级原有libpng相关的代码
    d. 注意opencv 编译的时候,需要检查依赖库的路径,是否指向的是期望的版本,存在多个版本的时候会出现编译使用的不是期望版本的问题。
    e. cuda 8.0 需要 opencv 2.4.13 的版本,老版本编译有错
  • caffe安装:

    修改Makefile.config,make all, make test, make runtest
    caffe需要修改CUDA_CHECK宏,避免程序结束资源释放出错的问题
    CUDA 8.0+CUDNN 5的时候需要修改源代码,根据出错信息调整函数名称或者参数