Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

caffe make fails on Debian 9 VM [CXX src/caffe/layers/beam_search_node_layer.cpp] #9

Open
danlou opened this issue Aug 24, 2018 · 4 comments

Comments

@danlou
Copy link

danlou commented Aug 24, 2018

Hi,

I created an instance on GCloud to experiment with this repo, but I'm having an issue with building caffe, which I haven't seen reported elsewhere (traceback below).

This is a Debian 9 VM, with CUDA 9.1, and I've used the same Makefile.config to successfully build this repo's caffe on Ubuntu 16.04.

Can someone point me in the right direction to fix this?

Thanks

$ make all
PROTOC src/caffe/proto/caffe.proto
CXX .build_release/src/caffe/proto/caffe.pb.cc
CXX src/caffe/data_transformer.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/util/hdf5.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/blocking_queue.cpp
CXX src/caffe/util/signal_handler.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/net.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/layers/silence_layer.cpp
CXX src/caffe/layers/embed_layer.cpp
CXX src/caffe/layers/input_layer.cpp
CXX src/caffe/layers/neuron_layer.cpp
CXX src/caffe/layers/tile_layer.cpp
CXX src/caffe/layers/softmax_layer.cpp
CXX src/caffe/layers/image_data_layer.cpp
CXX src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp
CXX src/caffe/layers/pooling_layer.cpp
CXX src/caffe/layers/cudnn_pooling_layer.cpp
CXX src/caffe/layers/dummy_data_layer.cpp
CXX src/caffe/layers/bnll_layer.cpp
CXX src/caffe/layers/exp_layer.cpp
CXX src/caffe/layers/lstm_node_layer.cpp
CXX src/caffe/layers/cudnn_softmax_layer.cpp
CXX src/caffe/layers/reshape_layer.cpp
CXX src/caffe/layers/power_layer.cpp
CXX src/caffe/layers/lstm_layer.cpp
CXX src/caffe/layers/cudnn_conv_layer.cpp
CXX src/caffe/layers/elu_layer.cpp
CXX src/caffe/layers/window_data_layer.cpp
CXX src/caffe/layers/parameter_layer.cpp
CXX src/caffe/layers/filter_layer.cpp
CXX src/caffe/layers/beam_search_node_layer.cpp
src/caffe/layers/beam_search_node_layer.cpp: In instantiation of 'void caffe::BeamSearchNodeLayer::Forward_cpu(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = float]':
src/caffe/layers/beam_search_node_layer.cpp:208:1: required from here
src/caffe/layers/beam_search_node_layer.cpp:97:51: error: no matching function for call to 'make_pair(const float&, float)'
cpu_beams_.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence_));
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/6/bits/stl_pair.h:497:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, T2&& y)
^~~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:497:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:97:63: note: cannot convert '*(partial_sum + ((sizetype)(((long unsigned int)src) * 4ul)))' (type 'const float') to type 'float&&'
cpu_beams
.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence
));
~~~~~~~~~~~^
src/caffe/layers/beam_search_node_layer.cpp:108:54: error: no matching function for call to 'make_pair(const float&, int)'
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/6/bits/stl_pair.h:497:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, T2&& y)
^~~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:497:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:108:60: note: cannot convert '*(score + ((sizetype)(((long unsigned int)(ix + w)) * 4ul)))' (type 'const float') to type 'float&&'
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
~~~~~^
src/caffe/layers/beam_search_node_layer.cpp: In instantiation of 'void caffe::BeamSearchNodeLayer::Forward_cpu(const std::vector<caffe::Blob>&, const std::vector<caffe::Blob>&) [with Dtype = double]':
src/caffe/layers/beam_search_node_layer.cpp:208:1: required from here
src/caffe/layers/beam_search_node_layer.cpp:97:51: error: no matching function for call to 'make_pair(const double&, double)'
cpu_beams
.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence
));
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/6/bits/stl_pair.h:497:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, T2&& y)
^~~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:497:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:97:63: note: cannot convert '*(partial_sum + ((sizetype)(((long unsigned int)src) * 8ul)))' (type 'const double') to type 'double&&'
cpu_beams
.push_back(make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence
));
~~~~~~~~~~~^
src/caffe/layers/beam_search_node_layer.cpp:108:54: error: no matching function for call to 'make_pair(const double&, int)'
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/bits/stl_algobase.h:64:0,
from /usr/include/c++/6/vector:60,
from src/caffe/layers/beam_search_node_layer.cpp:1:
/usr/include/c++/6/bits/stl_pair.h:497:5: note: candidate: template<class _T1, class _T2> constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
make_pair(_T1&& __x, _T2&& _y)
^~~~~~~~~
/usr/include/c++/6/bits/stl_pair.h:497:5: note: template argument deduction/substitution failed:
src/caffe/layers/beam_search_node_layer.cpp:108:60: note: cannot convert '*(score + ((sizetype)(((long unsigned int)(ix + w)) * 8ul)))' (type 'const double') to type 'double&&'
cpu_beams
.push_back(make_pair<Dtype,int>(score[ix+w],ix+w));
~~~~~^
Makefile:581: recipe for target '.build_release/src/caffe/layers/beam_search_node_layer.o' failed
make: *** [.build_release/src/caffe/layers/beam_search_node_layer.o] Error 1

@danlou danlou changed the title caffe make fails on Debian 9 VM [ CXX src/caffe/layers/beam_search_node_layer.cpp] caffe make fails on Debian 9 VM [CXX src/caffe/layers/beam_search_node_layer.cpp] Aug 24, 2018
@zmcmcc
Copy link

zmcmcc commented Jan 16, 2019

Same problem.

@Sanqiang
Copy link

compiler issue
alias g++="g++ --std=gnu++0x" fixes.

@ghost
Copy link

ghost commented Apr 25, 2019

Change (Remove explicit Argument Types):
make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence_)
to
make_pair(partial_sum[src], ix + end_of_sequence_)
and similarly at other places in the file.

It has to do with newer version of the compiler.

@jackroos
Copy link

Change (Remove explicit Argument Types):
make_pair<Dtype, int>(partial_sum[src], ix + end_of_sequence_)
to
make_pair(partial_sum[src], ix + end_of_sequence_)
and similarly at other places in the file.

It has to do with newer version of the compiler.

Thanks! It really works!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants