在Yosemite上编译Caffe

10

我正在尝试在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

这仍然没有帮助。

有什么建议吗?


我认为你在命令行中也需要 CXX=/usr/local/bin/g++-5.2 - clstrfsck
msandiford,我尝试了你建议的方法,但仍然出现相同的错误。 - user1871528
您的设备上是否安装了Nvidia驱动程序? - Anoop K. Prabhu
2个回答

8

2
对我来说,这样做会导致错误:make: *** No rule to make target /usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp', needed by .build_release/cuda/src/caffe/layers/absval_layer.o'. Stop. 有什么想法吗? - Clay
你是否在使用Yosemite操作系统? 另外,Boost的版本是哪个? - user1871528
我和@Clay一样遇到了这个问题(当我安装brew install boost155时也是如此)。 - mway
我按照http://itinerantbioinformaticist.blogspot.co.uk/2015/05/caffe-incompatible-with-boost-1580.html的指示尝试安装boost 1.57,但是它给了我相同的错误信息:make: *** No rule to make target /usr/local/include/boost/smart_ptr/detail/sp_counted_base_clang.hpp', needed by .build_release/cuda/src/caffe/layers/absval_layer.o'. Stop. - Michael Forrest

5

我曾经遇到过同样的问题。正如其他人所说,这对我来说是由于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支持完成所有操作。

来源


1
在你进行'make all'之前,你得在caffe文件夹里执行'make clean'。这个操作会让你的进程更顺利。好久没写C语言了 :-) - RedRoosterMobile
嗨,David:当你回复这样的错误时,请在Pastebin或其他地方发布你的错误信息。 - charliebeckwith
我很乐意帮忙,但是要认真对待。 - charliebeckwith
将您的错误信息发布到pastebin或gist,并将链接粘贴为评论。 - charliebeckwith
太棒了,这对我有帮助。 - nicodjimenez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接