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

Compiling error #5

Open
IacopoOrtis opened this issue Nov 26, 2020 · 2 comments
Open

Compiling error #5

IacopoOrtis opened this issue Nov 26, 2020 · 2 comments

Comments

@IacopoOrtis
Copy link

IacopoOrtis commented Nov 26, 2020

shout-out concerning an error compiling on MacOS Catalina v. 10.15.7

I will try to solve this and report here.

Follows complete make output:
c++ -MMD -MP -I. -std=c++14 -Wextra -Wpedantic -Wall -O3 -c main.cpp -o main.o In file included from main.cpp:16: In file included from ./algorithms/matching.h:14: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:877:54: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' __annotate_contiguous_container(data(), data() + capacity(), ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:551:9: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::__annotate_delete' requested here __annotate_delete(); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:968:5: note: (skipping 2 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) ~unordered_map() { ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ In file included from main.cpp:16: In file included from ./algorithms/matching.h:14: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:372:52: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' {return static_cast<size_type>(__end_cap() - __begin_);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:659:25: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::capacity' requested here {return __base::capacity();} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:877:56: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::capacity' requested here __annotate_contiguous_container(data(), data() + capacity(), ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:551:9: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::__annotate_delete' requested here __annotate_delete(); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ In file included from main.cpp:16: In file included from ./algorithms/matching.h:14: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:426:64: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' __alloc_traits::destroy(__alloc(), _VSTD::__to_address(--__soon_to_be_end)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:369:29: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::__destruct_at_end' requested here void clear() _NOEXCEPT {__destruct_at_end(__begin_);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:463:9: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::clear' requested here clear(); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:549:5: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~__vector_base' requested here ~vector() ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ In file included from main.cpp:10: In file included from /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/algorithm:643: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1872:55: error: implicit instantiation of undefined template 'std::__1::array<double, 2>' {_VSTD::__libcpp_deallocate((void*)__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1594:14: note: in instantiation of member function 'std::__1::allocator<std::__1::array<double, 2> >::deallocate' requested here {__a.deallocate(__p, __n);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:464:25: note: in instantiation of member function 'std::__1::allocator_traits<std::__1::allocator<std::__1::array<double, 2> > >::deallocate' requested here __alloc_traits::deallocate(__alloc(), __begin_, capacity()); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/vector:549:5: note: in instantiation of member function 'std::__1::__vector_base<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~__vector_base' requested here ~vector() ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/utility:297:29: note: in instantiation of member function 'std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >::~vector' requested here struct _LIBCPP_TEMPLATE_VIS pair ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: (skipping 4 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all) __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/memory:1635:14: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::__destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);} ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1602:24: note: in instantiation of function template specialization 'std::__1::allocator_traits<std::__1::allocator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, void *> > >::destroy<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > >' requested here __node_traits::destroy(__na, _NodeTypes::__get_ptr(__real_np->__value_)); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__hash_table:1541:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::__deallocate_node' requested here __deallocate_node(__p1_.first().__next_); ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/unordered_map:904:5: note: in instantiation of member function 'std::__1::__hash_table<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::__unordered_map_hasher<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::hash<unsigned long long>, true>, std::__1::__unordered_map_equal<unsigned long long, std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > >, std::__1::equal_to<unsigned long long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::~__hash_table' requested here unordered_map() ^ main.cpp:81:16: note: in instantiation of member function 'std::__1::unordered_map<unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::unordered_map<unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > >, std::__1::hash<unsigned long long>, std::__1::equal_to<unsigned long long>, std::__1::allocator<std::__1::pair<const unsigned long long, std::__1::vector<std::__1::array<double, 2>, std::__1::allocator<std::__1::array<double, 2> > > > > > > > >::unordered_map' requested here GeometryList geometries; ^ /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array; ^ 4 errors generated. make: *** [main.o] Error 1

@IacopoOrtis
Copy link
Author

Final Update
I believe the problem depends on the OS type and libraries that came with it.
I did not troubleshoot the problem on the mac machine and I successfully compiled it on a developer linux server.
I will NOT continue to troubleshoot this issue due the OS difference between my personal machine and the production server.

@jcoupey
Copy link
Contributor

jcoupey commented Nov 26, 2020

Let's just keep this open for the record for now.

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

No branches or pull requests

2 participants