compiling caffe on Yosemite

2020-05-23 17:06发布

问题:

I'm trying to install caffe on Yosemite, and my C is not the strongest. Here is my error:

Alis-MacBook-Pro:caffe ali$ make all
NVCC src/caffe/layers/absval_layer.cu
/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(27): error: expected a ";"

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(29): error: inline specifier allowed on function declarations only

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(29): error: incomplete type is not allowed

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(29): error: identifier "atomic_int_least32_t" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(29): error: identifier "pw" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(30): error: expected a ";"

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(90): error: invalid specifier outside a class declaration

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(92): error: "this" may only be used inside a nonstatic member function

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(95): error: invalid specifier outside a class declaration

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(95): error: function "boost::detail::get_deleter" may not be initialized

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(96): error: invalid specifier outside a class declaration

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(96): error: function "boost::detail::get_untyped_deleter" may not be initialized

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(100): error: identifier "use_count_" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(105): error: identifier "use_count_" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(105): error: identifier "atomic_conditional_increment" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(110): error: identifier "use_count_" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(110): error: identifier "atomic_decrement" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(112): error: identifier "dispose" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(113): error: identifier "weak_release" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(119): error: identifier "weak_count_" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(124): error: identifier "weak_count_" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(124): error: identifier "atomic_decrement" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(130): error: a type qualifier is not allowed on a nonmember function

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(132): error: "atomic_int_least32_t" is not a type name

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(132): error: identifier "use_count_" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(132): error: the first argument of this c11 atomic builtin must be a pointer to the _Atomic type

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(132): error: expected a ";"

/usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp(138): error: expected a declaration

/usr/local/include/boost/smart_ptr/detail/sp_counted_impl.hpp(127): error: not a class or struct name

/usr/local/include/boost/smart_ptr/detail/sp_counted_impl.hpp(156): error: identifier "sp_typeinfo" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_impl.hpp(195): error: not a class or struct name

/usr/local/include/boost/smart_ptr/detail/sp_counted_impl.hpp(252): error: identifier "sp_typeinfo" is undefined

/usr/local/include/boost/smart_ptr/detail/sp_counted_impl.hpp(267): error: expected a declaration

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(543): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(543): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(568): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(568): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(593): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(593): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(618): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(618): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(643): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(643): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(668): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(668): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(693): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(693): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(720): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(720): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(745): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(745): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(770): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(770): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(795): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(795): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(820): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(820): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(845): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(845): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(870): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(870): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(895): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(895): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(937): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(937): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(956): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(956): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(978): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(978): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1004): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1004): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1030): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1030): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1048): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1048): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1065): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1065): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1076): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1076): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1099): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1099): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1110): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1110): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1133): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1133): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1144): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1144): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1167): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1167): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1179): error: binary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/functional(1179): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(22): error: __weak_result_type is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(22): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(35): error: __invoke_return is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(42): error: __invoke_return0 is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(49): error: __invoke_return1 is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(56): error: __invoke_return2 is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(202): error: not a class or struct name

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(218): error: unary_function is not a template

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__functional_03(218): error: not a class or struct name

Error limit reached.
100 errors detected in the compilation of "/var/folders/6q/pzmrbk9d2_j0307lfmgbtf4r0000gn/T//tmpxft_00007c25_00000000-16_absval_layer.compute_50.cpp1.ii".
Compilation terminated.
make: *** [.build_release/cuda/src/caffe/layers/absval_layer.o] Error 1

I'm guessing that the problem is with the compiler, so I installed gcc from brew and tried running it using

make all CC=/usr/local/bin/gcc-5.2

which still did not help.

Any suggestions?

回答1:

its a boost version problem.

If you using brew do the following:

http://itinerantbioinformaticist.blogspot.com/2015/05/caffe-incompatible-with-boost-1580.html



回答2:

I had the same problem. As someone else said, it turned out for me to be a problem with boost 1.58.0

I fixed it by doing the following (assuming you have brew installed)

 $ cd /usr/local/Library/Formula 
 $ cd Library/Formula/
 $ cp boost.rb boost_backup.rb
 $ cp boost-python.rb boost-python_backup.rb
 $ wget https://raw.githubusercontent.com/Homebrew/homebrew/6fd6a9b6b2f56139a44dd689d30b7168ac13effb/Library/Formula/boost.rb
 $ mv boost.rb.1 boost.rb
 $ wget https://raw.githubusercontent.com/Homebrew/homebrew/3141234b3473717e87f3958d4916fe0ada0baba9/Library/Formula/boost-python.rb
 $ mv boost-python.rb.1 boost-python.rb
 $ brew uninstall --force boost
 $ brew install boost

After doing this I was able to make all with GPU support no problem.

source