在优胜美地编译咖啡

compiling caffe on Yosemite

本文关键字:编译 咖啡      更新时间:2023-10-16

我想在Yosemite上安装caffe,我的C语言不是最强的。下面是我的错误:

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

我猜问题出在编译器上,所以我从brew安装了gcc并尝试使用

运行它
make all CC=/usr/local/bin/gcc-5.2

仍然没有帮助。

有什么建议吗?

这是boost版本的问题。

如果您使用brew,请执行以下操作:

http://itinerantbioinformaticist.blogspot.com/2015/05/caffe -不兼容——提高1580. - html

我也遇到了同样的问题。就像其他人说的,这对我来说是boost 1.58.0的问题

我通过以下操作修复了它(假设您已经安装了brew)

 $ 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

这样做之后,我能够使所有的GPU支持没有问题。