Package Details: caffe-git 1.0.r136.g9b8915401-1

Git Clone URL: https://aur.archlinux.org/caffe-git.git (read-only, click to copy)
Package Base: caffe-git
Description: A deep learning framework made with expression, speed, and modularity in mind (cpu only, git version)
Upstream URL: https://caffe.berkeleyvision.org/
Keywords: ai artificial cuda intelligence nvidia
Licenses: BSD
Conflicts: caffe, caffe-cpu-git
Provides: caffe, caffe-cpu-git
Replaces: caffe-cpu-git
Submitter: jyantis
Maintainer: dbermond
Last Packager: dbermond
Votes: 23
Popularity: 0.000000
First Submitted: 2014-12-08 01:10 (UTC)
Last Updated: 2022-03-01 14:46 (UTC)

Latest Comments

dbermond commented on 2019-11-21 15:22 (UTC)

@RonObvious Package is building fine. Uninstall the package when building it, or build in a clean chroot.

RonObvious commented on 2019-11-21 09:43 (UTC) (edited on 2019-11-21 11:47 (UTC) by RonObvious)

Update: If I remove the package, I can then build it. I cannot build it as long the previous version is still installed.

Does the new version (from 2019-11-21) compile for other people? Not for me. Tried it with yay, and then "by hand" (git clone ... makepkg), both fail. I updated everything first (hey, this IS arch, right?), so the problem is not any out-of-date dependencies. I suspect it's quite the opposite -- that it doesn't like my version of the boost-libs. It fails, ultimately, with a long list of undefined linker references, e.g.

/usr/bin/ld: /usr/lib/libcaffe.so: undefined reference to `boost::python::converter::detail::arg_to_python_base::arg_to_python_base(void const volatile*, boost::python::converter::registration const&)'
/usr/bin/ld: /usr/lib/libcaffe.so: undefined reference to `PyEval_CallFunction'

Up at the top of the build, there were a long list of warnings of the form:

 CXX/LD -o .build_release/tools/upgrade_net_proto_binary.bin
 /usr/bin/ld: warning: libboost_python37.so.1.71.0, needed by /usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
 /usr/bin/ld: warning: libpython3.7m.so.1.0, needed by /usr/lib/libcaffe.so, not found (try using -rpath or -rpath-link)

I have libboost_python38.so (not 37) in /lib. I'm not sure if the libcaffe.so mentioned is the old one (pre-update) or the one that was just built (chroot?). Note that I have caffee-git installed (but have experimented with other versions of caffee in the past).

More details on request. For the moment, I'd just like to know if it's "just me", or if other people are having this problem too.

dbermond commented on 2018-08-22 18:18 (UTC)

Important notice:

This package now provides the non-cuda version (as known as the 'cpu only' build).

If you want caffe (git) with cuda support, use package caffe-cuda-git. This new package naming schema will better reflect the package contents. This conforms to tensorflow package naming from the official repositories.

danlamanna commented on 2017-12-20 18:15 (UTC) (edited on 2017-12-20 18:16 (UTC) by danlamanna)

I'm getting a lot of errors when building with the newest cuda, similar to these:

/usr/lib/libcaffe.so: undefined reference to `cudaStreamCreateWithFlags@libcudart.so.9.0'

/usr/lib/libcaffe.so: undefined reference to `cublasDasum_v2@libcublas.so.9.0'

smllmn commented on 2017-10-18 18:39 (UTC) (edited on 2017-10-18 18:41 (UTC) by smllmn)

I'm struggling to get this to compile. I get an error that CUDA only supports gcc versions up to 5, but this package requires (and uses) gcc 6. I'm aware that the cuda package provides a version of gcc 5 in /opt/cuda/bin, but if I try and set the CUSTOM_CXX variable in the Makefile.config, caffe refuses.

dbermond commented on 2017-04-01 17:08 (UTC)

It's possible to get this apparently harmless warning during link time when rebuilding for cudnn 6.0: "warning: libcudnn.so.5, needed by /usr/lib/libcaffe.so, not found". To avoid it, clear your source tree before rebuilding. You can do this, for example, by using the makepkg '--cleanbuild' option.

dbermond commented on 2017-04-01 16:02 (UTC)

@petronny Thank you

petronny commented on 2017-03-28 08:44 (UTC)

Knowing you have run the tests is fine. I don't want to add tests to PKGBUILD by default either. Thanks

dbermond commented on 2017-03-27 18:25 (UTC)

@petronny Thanks for pointing the missing 'cuda' dependency. I've just added it. Regarding checks/tests, I think it's not a good idea to add it by default. It usually takes a lot of time to run and it will prevent the package to be built in case of failures. So I've added it as a comment block and users that need to make the tests should manually enable it. Currently I'm getting a 100% success tests, without hdf5 test errors.

petronny commented on 2017-03-27 10:35 (UTC) (edited on 2017-03-27 11:36 (UTC) by petronny)

And please run make test make runtest to check if all the functions work. Here I get some errors about hdf5 and cannot pass the tests.

petronny commented on 2017-03-27 09:49 (UTC)

Hi , I think cuda should be a make dependency since you have set CUDA_DIR in prepare()

lostkhaos commented on 2017-01-13 17:32 (UTC)

Someone please adopt, I won't be able to build for a very long time.

jadler commented on 2016-06-29 22:40 (UTC)

@lostkhaos, could you please change the path .build_release/ to build/ in the PKGBUILD, this prevents the build in debug mode fails.

lostkhaos commented on 2016-06-27 15:29 (UTC)

@soupault those are both really great ideas! I'll look into what would need to be done for those and update this comment later.

soupault commented on 2016-06-27 10:40 (UTC)

Any plans to make this a split package with Python 3 support? Also, would be perfect to have version for CPU-only.

lostkhaos commented on 2016-05-25 14:51 (UTC)

Yeah, it looks like the two will merge anyways, so I switched it over. Thanks @ekce for pointing it out!

ekce commented on 2016-05-25 09:47 (UTC)

Hello, could you please change the dependency from python2-leveldb-svn to python2-leveldb? The svn repository for the original package is gone (not that it makes any difference since development on that svn stalled a long time ago).

lostkhaos commented on 2016-05-22 03:56 (UTC)

Hi all, just a reminder to flag the correct project as out of date. Looks like the leveldb package was using a Google Code link, and so that dependency won't be able to be built for a while. This package itself should build fine, and it's not out of date.

acgtyrant commented on 2016-05-16 03:04 (UTC)

Now you may append a dependence 'gcc49` or `gcc5` which is needed by CUDA.

lostkhaos commented on 2016-05-12 12:12 (UTC)

Pulled in @ooxxcc's fix. It throws a handful of warnings, but compiles just fine.

ooxxcc commented on 2016-05-10 16:21 (UTC)

@fzavan add '-Xcompiler -std=c++98' to NVCCFLAGS in Makefile.config can solve this problem ref https://www.reddit.com/r/archlinux/comments/4iczja/a_work_around_if_you_are_using_cuda_and_have/

fzavan commented on 2016-05-09 17:34 (UTC)

Caffe is failing to build to with gcc 6.1, I wasted a couple of hours today trying to get it to work. Those who need this package might want to hold on to gcc 5.3 a little longer.

balta2ar commented on 2016-05-04 11:26 (UTC)

@simthadim @mrshr3d For some reason build process uses old version of /usr/lib/libcaffe.so which was linked to already absent opencv-2.4 (in my system). After I removed caffe-git and installed it again, compilation went fine.

simthadim commented on 2016-05-04 10:28 (UTC) (edited on 2016-05-04 11:24 (UTC) by simthadim)

@lostkhaos Thank you for your fast response! Your explanation was helpful. Unfortunately I get sort of the same error as @mrshr3d. It used to compile well with opencv2.4 (few weeks ago), but with 3.1 it still yields the following: CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin .build_release/lib/libcaffe.so: undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)' .build_release/lib/libcaffe.so: undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)' .build_release/lib/libcaffe.so: undefined reference to `cv::imencode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)' .build_release/lib/libcaffe.so: undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)' .build_release/lib/libcaffe.so: undefined reference to `vtable for cv::_InputArray' collect2: error: ld returned 1 exit status Makefile:616: recipe for target '.build_release/tools/upgrade_solver_proto_text.bin' failed make: *** [.build_release/tools/upgrade_solver_proto_text.bin] Error 1 In the Make.config file on caffe's github there is a line which states: "# Uncomment to use `pkg-config` to specify OpenCV library paths." Still playing around with these setting, but that should be a solution I guess.

lostkhaos commented on 2016-05-03 23:20 (UTC) (edited on 2016-05-03 23:21 (UTC) by lostkhaos)

@simthadim if you take a peek at the Makefile.config, you'll see a commented-out line: "CPU_ONLY := 1". Go ahead and uncomment it, and comment out the lines talking about CUDA (note that since you changed a source file that you'll have to run makepkg with the --skipchecksums flag (e.g. makepkg -sri --skipchecksums)). That should be sufficient! You can also go ahead and remove the cuda entry from the depends list.

simthadim commented on 2016-05-03 22:17 (UTC)

I want to install this as CPU only. How would I alter the makeconfig file in thuis pkgbuild? I see that there is a line "cp makeconfig.config caffe" This is most likely the key. Should I have a file called makeconfig.config in my current working directory such that the pkgbuild can use this? Sorry for this, perhaps, trivial question: first time altering a PKGBUILD script.

lostkhaos commented on 2016-05-03 20:47 (UTC)

@mrshr3d: thanks for the heads-up, should be fixed now.

mrshr3d commented on 2016-05-03 17:13 (UTC) (edited on 2016-05-04 12:32 (UTC) by mrshr3d)

EDIT @lostkhaos - thanks, installed flawlessly this evening :) ----- I'm getting the following error (trying to build caffe-git as dependency of deepdream install). Tail end of the log/error: NVCC src/caffe/layers/batch_reindex_layer.cu NVCC src/caffe/layers/batch_norm_layer.cu NVCC src/caffe/layers/base_data_layer.cu NVCC src/caffe/layers/absval_layer.cu AR -o .build_release/lib/libcaffe.a LD -o .build_release/lib/libcaffe.so.1.0.0-rc3 CXX tools/upgrade_solver_proto_text.cpp CXX/LD -o .build_release/tools/upgrade_solver_proto_text.bin .build_release/lib/libcaffe.so: undefined reference to `cv::imread(cv::String const&, int)' .build_release/lib/libcaffe.so: undefined reference to `cv::imencode(cv::String const&, cv::_InputArray const&, std::vector<unsigned char, std::allocator<unsigned char> >&, std::vector<int, std::allocator<int> > const&)' .build_release/lib/libcaffe.so: undefined reference to `cv::imdecode(cv::_InputArray const&, int)' collect2: error: ld returned 1 exit status Makefile:616: recipe for target '.build_release/tools/upgrade_solver_proto_text.bin' failed make: *** [.build_release/tools/upgrade_solver_proto_text.bin] Error 1

lostkhaos commented on 2016-01-22 18:58 (UTC)

@mjal pulled in your fix, works like a charm thanks!

mjal commented on 2016-01-20 14:37 (UTC)

For NVCC and boost1.6, another way is to add NVCCFLAGS=-D__STRICT_ANSI__ to Makefile.config (as seen on the arrayfire project https://github.com/arrayfire/arrayfire/issues/1210).

mjal commented on 2016-01-18 19:10 (UTC) (edited on 2016-01-20 14:40 (UTC) by mjal)

I also an issue with boost1.6 and the python binding (https://github.com/BVLC/caffe/issues/3494). EDIT: the linked pull request did the trick.

lostkhaos commented on 2016-01-11 18:49 (UTC) (edited on 2016-01-12 20:02 (UTC) by lostkhaos)

@chaitan94 I do believe that this is indeed an upstream problem with Boost. The problem is caused by NVCC attempting to use a float128, which is not supported right now (see: https://svn.boost.org/trac/boost/ticket/11852). For now, a safer patch than what you did: https://gist.github.com/anonymous/e680bfdb369baa52f08f I don't want to include this patch in this package, since it would modify a system-wide library.

chaitan94 commented on 2016-01-09 05:08 (UTC) (edited on 2016-01-09 05:27 (UTC) by chaitan94)

I get the following error on building as of 9th January 2015: /usr/include/boost/config/suffix.hpp(510): error: identifier "__float128" is undefined 1 error detected in the compilation of "/tmp/tmpxft_00007fe3_00000000-16_math_functions.compute_50.cpp1.ii". Makefile:565: recipe for target '.build_release/cuda/src/caffe/util/math_functions.o' failed make: *** [.build_release/cuda/src/caffe/util/math_functions.o] Error 1 ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Makepkg was unable to build caffe-git. EDIT: I fixed the problem by changing the line __extension__ typedef __float128 float128_type; to __extension__ typedef long double float128_type; of the file /usr/include/boost/config/suffix.hpp

lostkhaos commented on 2015-12-01 18:57 (UTC)

This is a *-git package, please do not flag it as out-of-date.

jyantis commented on 2015-09-16 03:41 (UTC)

This has been fixed.

rtkt commented on 2015-09-01 21:08 (UTC)

python2-leveldb-svn package doesn't exist. Its PKGBUILD can be acquired from AUR3 archive https://github.com/aur-archive/python2-leveldb-svn/blob/master/PKGBUILD

davini commented on 2015-08-23 22:01 (UTC)

I get the following error building as of 8/23/2015 ... CXX/LD -o .build_release/tools/net_speed_benchmark.bin CXX tools/extract_features.cpp CXX/LD -o .build_release/tools/extract_features.bin .build_release/tools/extract_features.o: In function `int feature_extraction_pipeline<float>(int, char**)': extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[_Z27feature_extraction_pipelineIfEiiPPc]+0x10f): undefined reference to `caffe::Net<float>::Net(std::string const&, caffe::Phase, caffe::Net<float> const*)' collect2: error: ld returned 1 exit status Makefile:562: recipe for target '.build_release/tools/extract_features.bin' failed make: *** [.build_release/tools/extract_features.bin] Error 1 ==> ERROR: A failure occurred in build(). Aborting... I haven't seen this error before, and I've built this package many times. Does anyone know what I'm doing wrong?

jyantis commented on 2015-08-21 18:33 (UTC)

gunterb14 - Fixed.

gunterb14 commented on 2015-08-19 15:35 (UTC)

liblmdb has been renamed to lmdb

Mikaye commented on 2015-07-12 19:41 (UTC)

Can't use it from C++: caffe/proto/caffe.pb.h is missing Did you forget to install it in the package?

atomicpookavirus commented on 2015-07-11 20:17 (UTC)

makepkg -C fixed my issue

atomicpookavirus commented on 2015-07-11 17:09 (UTC)

I get this error. http://pastebin.com/5cU5wDjr fatal: Not a git repository (or any parent up to mount point /tmp) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). ==> ERROR: Failure while updating working copy of caffe git repo Aborting...

s-ol commented on 2015-07-08 00:39 (UTC)

had to install openexr and ilmbase seperately, still compiling now...

jyantis commented on 2015-04-12 07:47 (UTC)

ahh great to hear. I just tested it myself and it installed OK. As for the extra 232MB you are right it should be in its own package. I believe at the time I put it there was so a user could test to make sure it works. (It has something like 2.2 GB of dependencies already so it would be good to slim it down if possible).

confusedfla commented on 2015-04-12 07:39 (UTC)

update: I had to remove the caffe-git package with pacman - then the build worked fine again :)

confusedfla commented on 2015-04-12 05:50 (UTC)

I get the following error when building - has anyone an idea what could be the reason? And btw do we really need to bundle the entire "bvlc_reference_caffenet" model - imho those 232MB should be optional ;-) CXX/LD -o .build_release/tools/net_speed_benchmark.bin /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/finetune_net.bin' failed make: *** [.build_release/tools/finetune_net.bin] Error 1 make: *** Waiting for unfinished jobs.... /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/caffe.bin' failed make: *** [.build_release/tools/caffe.bin] Error 1 /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/convert_imageset.bin' failed make: *** [.build_release/tools/convert_imageset.bin] Error 1 /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/upgrade_net_proto_text.bin' failed make: *** [.build_release/tools/upgrade_net_proto_text.bin] Error 1 /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/compute_image_mean.bin' failed make: *** [.build_release/tools/compute_image_mean.bin] Error 1 /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/train_net.bin' failed make: *** [.build_release/tools/train_net.bin] Error 1 /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/net_speed_benchmark.bin' failed make: *** [.build_release/tools/net_speed_benchmark.bin] Error 1 /usr/lib/libcaffe.so: undefined reference to `gflags::ParseCommandLineFlags(int*, char***, bool)' collect2: error: ld returned 1 exit status Makefile:545: recipe for target '.build_release/tools/device_query.bin' failed make: *** [.build_release/tools/device_query.bin] Error 1

jyantis commented on 2015-02-24 10:40 (UTC)

hollowrld: It seems to be having a lot of issues right now. The latest build does not compile period on my test box. Will check again tomorrow and if it is still broken I will modify the C++ and Python code and include a patch. The issue you are talking about there is an open issue for it as of 6 hours ago. https://github.com/BVLC/caffe/issues/1949 As for the testing. I have commented it out for now and submitted a new PKGBUILD. You can try that one. The reason I don't use "make runtest" is that I find those type of tests fail on different peoples machines (especially with 800+ tests) and then the build doesn't install. So I include them but comment them out in the PKGBUILD so a user that wants to run them can. Also, they don't actually tell you if it worked or not. So quickly classifying a cat image is a quick win to show it actually is working and installed properly.

hllowrld commented on 2015-02-24 05:42 (UTC)

After installing, I'm seeing: ==> Starting check()... Traceback (most recent call last): File "python/classify-print-results.py", line 162, in <module> main(sys.argv) File "python/classify-print-results.py", line 115, in main channel_swap=channel_swap) TypeError: __init__() got an unexpected keyword argument 'gpu' Maybe this is due to an API change? May I ask why we don't simply run `make runtest`?