编译caffe过程中会提示以下信息:
In file included from /usr/local/include/boost/random/detail/integer_log2.hpp:19:0,
from /usr/local/include/boost/random/detail/large_arithmetic.hpp:19,
from /usr/local/include/boost/random/detail/const_mod.hpp:23,
from /usr/local/include/boost/random/linear_congruential.hpp:30,
from /usr/local/include/boost/random/additive_combine.hpp:27,
from /usr/local/include/boost/random.hpp:36,
from src/caffe/util/math_functions.cpp:2:
/usr/local/include/boost/pending/integer_log2.hpp:7:89: note: #pragma message: This header is deprecated. Use <boost/integer/integer_log2.hpp> instead.
原因分析
出现上述现象的原因是安装的boost版本较低,最新版的boost抛弃了/usr/local/include/boost/pending/integer_log2.hpp。
解决方法
ubuntu下打开usr/local/include/boost/random/detail/integer_log2.hpp,将头文件#include <boost/pending/integer_log2.hpp>修改为为#include <boost/integer/integer_log2.hpp>即可解决问题。
ps:boost1.7版本已经修复了该问题。