MalKeshar opened a new issue #8954: mxnet 1.0.0 compilation failed with "operator_tune.cc: error: converting to 'std::unordered_set" URL: https://github.com/apache/incubator-mxnet/issues/8954 ## Description Compilation of mxnet-1.0.0 failed with "operator_tune.cc:45:87: error: converting to 'std::unordered_set". See full error below in "Error Message:" ## Environment info (Required) ``` $ python diagnose.py ----------Python Info---------- Version : 3.6.3 Compiler : GCC 4.9.3 Build : ('default', 'Nov 22 2017 02:37:57') Arch : ('64bit', 'ELF') ------------Pip Info----------- No corresponding pip install for current python. ----------MXNet Info----------- No MXNet installed. ----------System Info---------- Platform : Linux-3.10.0-514.16.1.el7.x86_64-x86_64-with-centos-7.4.1708-Core system : Linux node : __cutted__ release : 3.10.0-514.16.1.el7.x86_64 version : #1 SMP Wed Apr 12 15:04:24 UTC 2017 ----------Hardware Info---------- machine : x86_64 processor : x86_64 Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 4 Core(s) per socket: 1 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 58 Model name: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz Stepping: 9 CPU MHz: 3192.864 BogoMIPS: 6385.72 Hypervisor vendor: Xen Virtualization type: para L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 6144K NUMA node0 CPU(s): 0-3 Flags: fpu de tsc msr pae mce cx8 sep mca cmov pat clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase erms xsaveopt ----------Network Test---------- Setting timeout: 10 Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0802 sec, LOAD: 1.4767 sec. Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.1319 sec, LOAD: 0.3210 sec. Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.2483 sec, LOAD: 0.9757 sec. Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0857 sec, LOAD: 0.9996 sec. Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0364 sec, LOAD: 0.3407 sec. Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0677 sec, LOAD: 0.0681 sec. ``` Package used (Python/R/Scala/Julia): I'm using python ## Build info (Required if built from source) Compiler (gcc/clang/mingw/visual studio): gcc 4.9.3 MXNet commit hash: 25720d0e3c29232a37e2650f3ba3a2454f9367bb (tag 1.0.0) Build config: make -j4 USE_BLAS=openblas USE_JEMALLOC=1 USE_CPP_PACKAGE=1 USE_OPENCV=1 USE_CUDA=0 USE_CUDNN=0 USE_OPENMP=1 ADD_LDFLAGS=-L/jet/lib ADD_CFLAGS=-I/jet/include/openblas ## Error Message: ``` ... g++ -std=c++11 -c -DMSHADOW_FORCE_STREAM -Wall -Wsign-compare -O3 -DNDEBUG=1 -I/jet/tmp/build/mshadow/ -I/jet/tmp/build/dmlc-core/include -fPIC -I/jet/tmp/build/nnvm/include -I/jet/tmp/build/dlpack/include -Iinclude -funroll-loops -Wno-unused-variable -Wno-unused-paramete r -Wno-unknown-pragmas -Wno-unused-local-typedefs -msse3 -DMSHADOW_USE_CUDA=0 -DMSHADOW_USE_CBLAS=1 -DMSHADOW_USE_MKL=0 -DMSHADOW_RABIT_PS=0 -DMSHADOW_DIST_PS=0 -DMSHADOW_USE_PASCAL=0 -DMXNET_USE_OPENCV=1 -I/jet/use/opencv/include/opencv -I/jet/use/opencv/include -fopenmp -DMXNET_USE_OPERATOR_TUNING=1 -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -DUSE_JEMALLOC -I/jet/include/openblas -DMXNET_USE_NCCL=0 -DMXNET_USE_LIBJPEG_TURBO=0 -MMD -c src/operator/convolution.cc -o build/src/operator/convolution.o src/operator/operator_tune.cc:45:87: error: converting to 'std::unordered_set<std::basic_string<char> >' from initializer list would use explicit constructor 'std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>: :size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char>; _Hash = std::hash<std::basic_string<char> >; _Pred = std::equal_to<std::basic_string<char> >; _Alloc = std::allocator<std::basic_string<char> >; std::unordered_set< _Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char> >; std::unorde red_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::basic_string<char> >]' template<> std::unordered_set<std::string> OperatorTune<__typ$>::operator_names_ = {}; \ ^ src/operator/operator_tune.cc:55:1: note: in expansion of macro 'IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE' IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE(float); ^ src/operator/operator_tune.cc:45:87: error: converting to 'std::unordered_set<std::basic_string<char> >' from initializer list would use explicit constructor 'std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>: :size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char>; _Hash = std::hash<std::basic_string<char> >; _Pred = std::equal_to<std::basic_string<char> >; _Alloc = std::allocator<std::basic_string<char> >; std::unordered_set< _Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char> >; std::unorde red_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::basic_string<char> >]' template<> std::unordered_set<std::string> OperatorTune<__typ$>::operator_names_ = {}; \ ^ src/operator/operator_tune.cc:56:1: note: in expansion of macro 'IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE' IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE(double); ^ src/operator/operator_tune.cc:45:87: error: converting to 'std::unordered_set<std::basic_string<char> >' from initializer list would use explicit constructor 'std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char>; _Hash = std::hash<std::basic_string<char> >; _Pred = std::equal_to<std::basic_string<char> >; _Alloc = std::allocator<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::basic_string<char> >]' template<> std::unordered_set<std::string> OperatorTune<__typ$>::operator_names_ = {}; \ ^ src/operator/operator_tune.cc:57:1: note: in expansion of macro 'IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE' IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE(mshadow::half::half_t); ^ src/operator/operator_tune.cc:45:87: error: converting to 'std::unordered_set<std::basic_string<char> >' from initializer list would use explicit constructor 'std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char>; _Hash = std::hash<std::basic_string<char> >; _Pred = std::equal_to<std::basic_string<char> >; _Alloc = std::allocator<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::basic_string<char> >]' template<> std::unordered_set<std::string> OperatorTune<__typ$>::operator_names_ = {}; \ ^ src/operator/operator_tune.cc:58:1: note: in expansion of macro 'IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE' IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE(int8_t); ^ src/operator/operator_tune.cc:45:87: error: converting to 'std::unordered_set<std::basic_string<char> >' from initializer list would use explicit constructor 'std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char>; _Hash = std::hash<std::basic_string<char> >; _Pred = std::equal_to<std::basic_string<char> >; _Alloc = std::allocator<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::basic_string<char> >]' template<> std::unordered_set<std::string> OperatorTune<__typ$>::operator_names_ = {}; \ ^ src/operator/operator_tune.cc:59:1: note: in expansion of macro 'IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE' IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE(uint8_t); ^ src/operator/operator_tune.cc:45:87: error: converting to 'std::unordered_set<std::basic_string<char> >' from initializer list would use explicit constructor 'std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char>; _Hash = std::hash<std::basic_string<char> >; _Pred = std::equal_to<std::basic_string<char> >; _Alloc = std::allocator<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::basic_string<char> >]' template<> std::unordered_set<std::string> OperatorTune<__typ$>::operator_names_ = {}; \ src/operator/operator_tune.cc:60:1: note: in expansion of macro 'IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE' IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE(int32_t); ^ src/operator/operator_tune.cc:45:87: error: converting to 'std::unordered_set<std::basic_string<char> >' from initializer list would use explicit constructor 'std::unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(std::unordered_set<_Value, _Hash, _Pred, _Alloc>: :size_type, const hasher&, const key_equal&, const allocator_type&) [with _Value = std::basic_string<char>; _Hash = std::hash<std::basic_string<char> >; _Pred = std::equal_to<std::basic_string<char> >; _Alloc = std::allocator<std::basic_string<char> >; std::unordered_set< _Value, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string<char> >; std::unordered_set<_Value, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::basic_string<char> >]' template<> std::unordered_set<std::string> OperatorTune<__typ$>::operator_names_ = {}; \ ^ src/operator/operator_tune.cc:61:1: note: in expansion of macro 'IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE' IMPLEMENT_OPERATOR_TUNE_STATICS_FOR_TYPE(int64_t); ^ Makefile:364: recipe for target 'build/src/operator/operator_tune.o' failed make: *** [build/src/operator/operator_tune.o] Error 1 make: *** Waiting for unfinished jobs.... ``` ## Minimum reproducible example N/A ## Steps to reproduce git clone --recursive --branch 1.0.0 https://github.com/apache/incubator-mxnet.git cd incubator-mxnet make -j4 USE_BLAS=openblas USE_JEMALLOC=1 USE_CPP_PACKAGE=1 USE_OPENCV=1 USE_CUDA=0 USE_CUDNN=0 USE_OPENMP=1 ADD_LDFLAGS=-L/jet/lib ADD_CFLAGS=-I/jet/include/openblas ## What have you tried to solve it? No. ## Additional info mxnet 0.10.0.post2/0.11.0/0.12.1 builds fine in the same enviroinment
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
