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

error for windows installation #5

Closed
Sandy4321 opened this issue Mar 22, 2019 · 3 comments
Closed

error for windows installation #5

Sandy4321 opened this issue Mar 22, 2019 · 3 comments

Comments

@Sandy4321
Copy link

how to install on windows?
can you put it to conda forge
then instalation will be easy like http://gudhi.gforge.inria.fr/
conda install -c conda-forge gudhi

@Sandy4321
Copy link
Author

error message is

Microsoft Windows [Version 10.0.17763.379]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>pip install scikit-tda
Collecting scikit-tda
  Using cached https://files.pythonhosted.org/packages/e2/67/14676df9d3c8fae3324f6a73e60e9b705c1dfea8131e275a313ab90bd09d/scikit_tda-0.0.3-py3-none-any.whl
Requirement already satisfied: Cython in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.27.3)
Requirement already satisfied: pillow in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (5.0.0)
Requirement already satisfied: persim in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.0.8)
Requirement already satisfied: numpy in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (1.14.2)
Collecting tadasets (from scikit-tda)
  Using cached https://files.pythonhosted.org/packages/5b/06/d1b9edccfcd071b245b0d1ab4b22eb2ff7aaeaa6d015db58d701d9782122/tadasets-0.0.4-py3-none-any.whl
Collecting kmapper (from scikit-tda)
  Using cached https://files.pythonhosted.org/packages/fb/3f/a1290b9425a7e0ff4ae51a6e6ff68e50ad793b3460f435c2ec81c0383751/kmapper-1.2.0-py3-none-any.whl
Requirement already satisfied: matplotlib in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (2.2.2)
Requirement already satisfied: scipy in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (1.0.0)
Requirement already satisfied: scikit-learn in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.19.1)
Collecting ripser (from scikit-tda)
  Using cached https://files.pythonhosted.org/packages/8c/52/ca457da871708a169a0042d955f31f55caa060d1846f3de72b538724ef50/ripser-0.3.2.tar.gz
Collecting umap-learn (from scikit-tda)
Requirement already satisfied: numba in c:\users\sndr\anaconda3\lib\site-packages (from scikit-tda) (0.42.0)
Requirement already satisfied: hopcroftkarp in c:\users\sndr\anaconda3\lib\site-packages (from persim->scikit-tda) (1.2.4)
Requirement already satisfied: Jinja2 in c:\users\sndr\anaconda3\lib\site-packages (from kmapper->scikit-tda) (2.10)
Requirement already satisfied: cycler>=0.10 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (0.10.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (2.2.0)
Requirement already satisfied: python-dateutil>=2.1 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (2.6.1)
Requirement already satisfied: pytz in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (2018.3)
Requirement already satisfied: six>=1.10 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (1.11.0)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\sndr\anaconda3\lib\site-packages (from matplotlib->scikit-tda) (1.0.1)
Requirement already satisfied: llvmlite>=0.27.0dev0 in c:\users\sndr\anaconda3\lib\site-packages (from numba->scikit-tda) (0.27.0)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\sndr\anaconda3\lib\site-packages (from Jinja2->kmapper->scikit-tda) (1.0)
Requirement already satisfied: setuptools in c:\users\sndr\anaconda3\lib\site-packages (from kiwisolver>=1.0.1->matplotlib->scikit-tda) (40.8.0)
Building wheels for collected packages: ripser
  Building wheel for ripser (setup.py) ... error
  Complete output from command C:\Users\sndr\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\sndr\\AppData\\Local\\Temp\\pip-install-qfuv8vfq\\ripser\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d C:\Users\sndr\AppData\Local\Temp\pip-wheel-h8ontev6 --python-tag cp36:
  Warning: Extension name 'pyRipser' does not match fully qualified name 'ripser.pyRipser' of 'ripser/pyRipser.pyx'
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.6
  creating build\lib.win-amd64-3.6\ripser
  copying ripser\ripser.py -> build\lib.win-amd64-3.6\ripser
  copying ripser\_version.py -> build\lib.win-amd64-3.6\ripser
  copying ripser\__init__.py -> build\lib.win-amd64-3.6\ripser
  running build_ext
  building 'pyRipser' extension
  creating build\temp.win-amd64-3.6
  creating build\temp.win-amd64-3.6\Release
  creating build\temp.win-amd64-3.6\Release\ripser
  C:\Users\sndr\Anaconda3\Library\mingw-w64\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -DUSE_COEFFICIENTS=1 -DNDEBUG=1 -DASSEMBLE_REDUCTION_MATRIX=1 -I.\ripser -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include -c ripser/pyRipser.cpp -o build\temp.win-amd64-3.6\Release\ripser\pyripser.o -Ofast -D_hypot=hypot
  In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/unordered_map:35:0,
                   from ripser/ripser.cpp:50,
                   from ripser/pyRipser.cpp:657:
  C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
   #error This file requires compiler and library support for the \
    ^
  In file included from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarraytypes.h:1816:0,
                   from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarrayobject.h:18,
                   from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/arrayobject.h:4,
                   from ripser/pyRipser.cpp:650:
  C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h:13:79: note: #pragma message: C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
                            "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION")
                                                                                 ^
  In file included from ripser/pyRipser.cpp:657:0:
  ripser/ripser.cpp:53:73: error: expected template-name before '<' token
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                                                           ^
  ripser/ripser.cpp:53:73: error: expected '{' before '<' token
  ripser/ripser.cpp:53:73: error: expected unqualified-id before '<' token
  ripser/ripser.cpp:59:33: error: '>>' should be '> >' within a nested template argument list
    std::vector<std::vector<index_t>> B;
                                   ^
  ripser/ripser.cpp: In constructor 'diameter_entry_t::diameter_entry_t(const diameter_index_t&)':
  ripser/ripser.cpp:154:43: warning: delegating constructors only available with -std=c++11 or -std=gnu++11
        : diameter_entry_t(_diameter_index, 1) {}
                                             ^
  ripser/ripser.cpp: At global scope:
  ripser/ripser.cpp:184:49: error: expected ',' or '...' before '&&' token
    compressed_distance_matrix(std::vector<value_t>&& _distances)
                                                   ^
  ripser/ripser.cpp: In constructor 'compressed_distance_matrix<Layout>::compressed_distance_matrix(std::vector<float>)':
  ripser/ripser.cpp:185:18: error: 'move' is not a member of 'std'
        : distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
                    ^
  ripser/ripser.cpp:185:28: error: '_distances' was not declared in this scope
        : distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
                              ^
  ripser/ripser.cpp: At global scope:
  ripser/ripser.cpp:206:42: error: '>>' should be '> >' within a nested template argument list
    std::vector<std::vector<diameter_index_t>> neighbors;
                                            ^
  ripser/ripser.cpp: In function 'diameter_entry_t pop_pivot(Heap&, coefficient_t)':
  ripser/ripser.cpp:327:3: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
     auto pivot = column.top();
     ^
  ripser/ripser.cpp:327:8: error: 'pivot' does not name a type
     auto pivot = column.top();
          ^
  ripser/ripser.cpp:339:6: error: 'pivot' was not declared in this scope
        pivot = column.top();
        ^
  ripser/ripser.cpp:341:68: error: 'pivot' was not declared in this scope
     } while (!column.empty() && get_index(column.top()) == get_index(pivot));
                                                                      ^
  ripser/ripser.cpp: At global scope:
  ripser/ripser.cpp:458:23: error: expected ',' or '...' before '&&' token
    ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
                         ^
  ripser/ripser.cpp: In constructor 'ripser<DistanceMatrix>::ripser(DistanceMatrix)':
  ripser/ripser.cpp:460:13: error: 'move' is not a member of 'std'
        : dist(std::move(_dist)), n(dist.size()),
               ^
  ripser/ripser.cpp:460:23: error: '_dist' was not declared in this scope
        : dist(std::move(_dist)), n(dist.size()),
                         ^
  ripser/ripser.cpp:461:16: error: '_dim_max' was not declared in this scope
          dim_max(_dim_max), threshold(_threshold),
                  ^
  ripser/ripser.cpp:461:37: error: '_threshold' was not declared in this scope
          dim_max(_dim_max), threshold(_threshold),
                                       ^
  ripser/ripser.cpp:462:14: error: '_ratio' was not declared in this scope
          ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
                ^
  ripser/ripser.cpp:462:31: error: '_modulus' was not declared in this scope
          ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
                                 ^
  ripser/ripser.cpp:462:54: error: '_do_cocycles' was not declared in this scope
          ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
                                                        ^
  ripser/ripser.cpp: In member function 'value_t ripser<DistanceMatrix>::compute_diameter(index_t, index_t) const':
  ripser/ripser.cpp:508:19: error: 'numeric_limits' is not a member of 'std'
     value_t diam = -std::numeric_limits<value_t>::infinity();
                     ^
  ripser/ripser.cpp:508:46: error: expected primary-expression before '>' token
     value_t diam = -std::numeric_limits<value_t>::infinity();
                                                ^
  ripser/ripser.cpp:508:47: error: '::infinity' has not been declared
     value_t diam = -std::numeric_limits<value_t>::infinity();
                                                 ^
  ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&)':
  ripser/ripser.cpp:540:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
     for (auto e : edges) {
          ^
  ripser/ripser.cpp:540:13: error: 'e' does not name a type
     for (auto e : edges) {
               ^
  ripser/ripser.cpp:559:3: error: expected ';' before 'std'
     std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
     ^
  ripser/ripser.cpp:561:3: error: expected primary-expression before 'for'
     for (index_t i = 0; i < n; ++i) {
     ^
  ripser/ripser.cpp:561:3: error: expected ')' before 'for'
  ripser/ripser.cpp:564:43: error: 'numeric_limits' is not a member of 'std'
       births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
                                             ^
  ripser/ripser.cpp:564:70: error: expected primary-expression before '>' token
       births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
                                                                        ^
  ripser/ripser.cpp:564:71: error: '::infinity' has not been declared
       births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
                                                                         ^
  ripser/ripser.cpp: In member function 'diameter_entry_t ripser<DistanceMatrix>::add_coboundary_and_get_pivot(Iterator, Iterator, coefficient_t, Column&, Column&, const index_t&, hash_map<long long int, long long int>&, bool&)':
  ripser/ripser.cpp:578:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
     for (auto it = column_begin; it != column_end; ++it) {
          ^
  ripser/ripser.cpp:578:13: error: 'it' does not name a type
     for (auto it = column_begin; it != column_end; ++it) {
               ^
  ripser/ripser.cpp:578:32: error: expected ';' before 'it'
     for (auto it = column_begin; it != column_end; ++it) {
                                  ^
  ripser/ripser.cpp:578:32: error: 'it' was not declared in this scope
  ripser/ripser.cpp:593:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
         if (pivot_column_index.find(get_index(coface)) ==
                               ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp:594:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
             pivot_column_index.end()) {
                               ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp:601:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
      for (auto coface : coface_entries) working_coboundary.push(coface);
           ^
  ripser/ripser.cpp:601:14: error: 'coface' does not name a type
      for (auto coface : coface_entries) working_coboundary.push(coface);
                ^
  ripser/ripser.cpp:602:3: error: expected ';' before '}' token
     }
     ^
  ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
  ripser/ripser.cpp:602:3: error: expected ';' before '}' token
  ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
  ripser/ripser.cpp:602:3: error: expected ')' before '}' token
  ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
  ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_pairs(std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t)':
  ripser/ripser.cpp:621:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
      auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
      ^
  ripser/ripser.cpp:621:9: error: 'column_to_reduce' does not name a type
      auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
           ^
  ripser/ripser.cpp:625:74: error: '>>' should be '> >' within a nested template argument list
                          greater_diameter_or_smaller_index<diameter_entry_t>>
                                                                            ^
  ripser/ripser.cpp:630:74: error: '>>' should be '> >' within a nested template argument list
                          greater_diameter_or_smaller_index<diameter_entry_t>>
                                                                            ^
  ripser/ripser.cpp:633:36: error: 'column_to_reduce' was not declared in this scope
      value_t diameter = get_diameter(column_to_reduce);
                                      ^
  ripser/ripser.cpp:656:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
       ^
  ripser/ripser.cpp:656:10: error: 'reduction_column_begin' does not name a type
       auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
            ^
  ripser/ripser.cpp:677:9: error: 'reduction_column_begin' was not declared in this scope
           reduction_column_begin, reduction_column_end, factor_column_to_add,
           ^
  ripser/ripser.cpp:677:33: error: 'reduction_column_end' was not declared in this scope
           reduction_column_begin, reduction_column_end, factor_column_to_add,
                                   ^
  ripser/ripser.cpp:684:6: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
        auto pair = pivot_column_index.find(get_index(pivot));
        ^
  ripser/ripser.cpp:684:11: error: 'pair' does not name a type
        auto pair = pivot_column_index.find(get_index(pivot));
             ^
  ripser/ripser.cpp:686:10: error: 'pair' was not declared in this scope
        if (pair != pivot_column_index.end()) {
            ^
  ripser/ripser.cpp:686:10: note: suggested alternative:
  In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:64:0,
                   from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39,
                   from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
                   from ripser/pyRipser.cpp:652:
  C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_pair.h:96:12: note:   'std::pair'
       struct pair
              ^
  In file included from ripser/pyRipser.cpp:657:0:
  ripser/ripser.cpp:686:36: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
        if (pair != pivot_column_index.end()) {
                                      ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp:698:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
           auto cocycle = working_reduction_column;
           ^
  ripser/ripser.cpp:698:14: error: 'cocycle' does not name a type
           auto cocycle = working_reduction_column;
                ^
  ripser/ripser.cpp:702:40: error: 'cocycle' was not declared in this scope
           while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
                                          ^
  ripser/ripser.cpp:716:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
         pivot_column_index.insert(
                           ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp:753:46: error: 'numeric_limits' is not a member of 'std'
        births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
                                                ^
  ripser/ripser.cpp:753:73: error: expected primary-expression before '>' token
        births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
                                                                           ^
  ripser/ripser.cpp:753:74: error: '::infinity' has not been declared
        births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
                                                                            ^
  ripser/ripser.cpp:759:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
         auto cocycle = working_reduction_column;
         ^
  ripser/ripser.cpp:759:12: error: 'cocycle' does not name a type
         auto cocycle = working_reduction_column;
              ^
  ripser/ripser.cpp:763:38: error: 'cocycle' was not declared in this scope
         while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
                                        ^
  ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_barcodes()':
  ripser/ripser.cpp:798:23: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
       pivot_column_index.reserve(columns_to_reduce.size());
                         ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp: In member function 'diameter_entry_t ripser<compressed_distance_matrix<(compressed_matrix_layout)0u> >::simplex_coboundary_enumerator::next()':
  ripser/ripser.cpp:842:20: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
     for (index_t w : vertices) coface_diameter = std::max(coface_diameter, dist(v, w));
                      ^
  ripser/ripser.cpp: In constructor 'ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::simplex_coboundary_enumerator(diameter_entry_t, index_t, const ripser<sparse_distance_matrix>&)':
  ripser/ripser.cpp:879:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
     for (auto v : vertices) {
          ^
  ripser/ripser.cpp:879:13: error: 'v' does not name a type
     for (auto v : vertices) {
               ^
  ripser/ripser.cpp:883:2: error: expected ';' before '}' token
    }
    ^
  ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
  ripser/ripser.cpp:883:2: error: expected ';' before '}' token
  ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
  ripser/ripser.cpp:883:2: error: expected ')' before '}' token
  ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
  ripser/ripser.cpp: In member function 'bool ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::has_next(bool)':
  ripser/ripser.cpp:886:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
     for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
          ^
  ripser/ripser.cpp:886:33: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
     for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
                                   ^
  ripser/ripser.cpp:886:58: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
     for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
                                                            ^
  ripser/ripser.cpp:887:9: error: invalid type argument of unary '*' (have 'int')
      x = *it0;
           ^
  ripser/ripser.cpp:889:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       auto &it = neighbor_it[idx], end = neighbor_end[idx];
       ^
  ripser/ripser.cpp:889:31: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
       auto &it = neighbor_it[idx], end = neighbor_end[idx];
                                 ^
  ripser/ripser.cpp:889:56: error: cannot convert 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >' to 'int' in initialization
       auto &it = neighbor_it[idx], end = neighbor_end[idx];
                                                          ^
  ripser/ripser.cpp:890:23: error: invalid type argument of unary '*' (have 'int')
       while (get_index(*it) > get_index(x))
                         ^
  ripser/ripser.cpp:892:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       auto y = *it;
       ^
  ripser/ripser.cpp:892:10: error: 'y' does not name a type
       auto y = *it;
            ^
  ripser/ripser.cpp:893:19: error: 'y' was not declared in this scope
       if (get_index(y) != get_index(x))
                     ^
  ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
  ripser/ripser.cpp:937:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
     for (auto n : dist.neighbors[i]) {
          ^
  ripser/ripser.cpp:937:13: error: 'n' does not name a type
     for (auto n : dist.neighbors[i]) {
               ^
  ripser/ripser.cpp:941:2: error: expected ';' before 'return'
    return edges;
    ^
  ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
  ripser/ripser.cpp:941:2: error: expected ';' before 'return'
  ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
  ripser/ripser.cpp:941:2: error: expected ')' before 'return'
  ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>; index_t = long long int]':
  ripser/ripser.cpp:963:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
     if (pivot_column_index.find(index) == pivot_column_index.end()) {
                           ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp:963:59: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
     if (pivot_column_index.find(index) == pivot_column_index.end()) {
                                                             ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = sparse_distance_matrix; index_t = long long int]':
  ripser/ripser.cpp:983:34: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
    for (diameter_index_t simplex : simplices) {
                                    ^
  ripser/ripser.cpp:987:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
      auto coface = cofaces.next();
      ^
  ripser/ripser.cpp:987:9: error: 'coface' does not name a type
      auto coface = cofaces.next();
           ^
  ripser/ripser.cpp:989:57: error: 'coface' was not declared in this scope
      next_simplices.push_back(std::make_pair(get_diameter(coface), get_index(coface)));
                                                           ^
  ripser/ripser.cpp:991:26: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
      if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
                            ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp:991:72: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
      if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
                                                                          ^
  ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
   template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                       ^
  ripser/ripser.cpp: In function 'ripserResults rips_dm(float*, int, int, int, float, int)':
  ripser/ripser.cpp:1006:69: error: 'move' is not a member of 'std'
     compressed_lower_distance_matrix(compressed_upper_distance_matrix(std::move(distances)));
                                                                       ^
  ripser/ripser.cpp:1009:16: error: 'numeric_limits' is not a member of 'std'
    value_t min = std::numeric_limits<value_t>::infinity(),
                  ^
  ripser/ripser.cpp:1009:43: error: expected primary-expression before '>' token
    value_t min = std::numeric_limits<value_t>::infinity(),
                                             ^
  ripser/ripser.cpp:1009:44: error: '::infinity' has not been declared
    value_t min = std::numeric_limits<value_t>::infinity(),
                                              ^
  ripser/ripser.cpp:1013:29: error: 'numeric_limits' is not a member of 'std'
    value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
                               ^
  ripser/ripser.cpp:1013:56: error: expected primary-expression before '>' token
    value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
                                                          ^
  ripser/ripser.cpp:1013:57: error: '::infinity' has not been declared
    value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
                                                           ^
  ripser/ripser.cpp:1015:18: error: 'numeric_limits' is not a member of 'std'
     value_t r_i = -std::numeric_limits<value_t>::infinity();
                    ^
  ripser/ripser.cpp:1015:45: error: expected primary-expression before '>' token
     value_t r_i = -std::numeric_limits<value_t>::infinity();
                                               ^
  ripser/ripser.cpp:1015:46: error: '::infinity' has not been declared
     value_t r_i = -std::numeric_limits<value_t>::infinity();
                                                ^
  ripser/ripser.cpp:1020:19: error: 'numeric_limits' is not a member of 'std'
    if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
                     ^
  ripser/ripser.cpp:1020:46: error: expected primary-expression before '>' token
    if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
                                                ^
  ripser/ripser.cpp:1020:47: error: '::max' has not been declared
    if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
                                                 ^
  ripser/ripser.cpp:1020:47: note: suggested alternative:
  In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
                   from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
                   from ripser/pyRipser.cpp:652:
  C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note:   'std::max'
       max(const _Tp& __a, const _Tp& __b, _Compare __comp)
       ^
  In file included from ripser/pyRipser.cpp:657:0:
  ripser/ripser.cpp:1022:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
    for (auto d : dist.distances) {
         ^
  ripser/ripser.cpp:1022:12: error: 'd' does not name a type
    for (auto d : dist.distances) {
              ^
  ripser/ripser.cpp:1029:2: error: expected ';' before 'ripserResults'
    ripserResults res;
    ^
  ripser/ripser.cpp:1029:16: error: expected primary-expression before 'res'
    ripserResults res;
                  ^
  ripser/ripser.cpp:1029:16: error: expected ';' before 'res'
  ripser/ripser.cpp:1029:16: error: 'res' was not declared in this scope
  ripser/ripser.cpp:1029:19: error: expected ')' before ';' token
    ripserResults res;
                     ^
  ripser/ripser.cpp:1030:19: error: 'max' was not declared in this scope
    if (threshold >= max) {
                     ^
  ripser/ripser.cpp:1030:19: note: suggested alternative:
  In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
                   from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
                   from ripser/pyRipser.cpp:652:
  C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note:   'std::max'
       max(const _Tp& __a, const _Tp& __b, _Compare __comp)
       ^
  In file included from ripser/pyRipser.cpp:657:0:
  ripser/ripser.cpp:1031:46: error: 'move' is not a member of 'std'
     ripser<compressed_lower_distance_matrix> r(std::move(dist), dim_max, threshold, ratio,
                                                ^
  ripser/ripser.cpp:1034:18: error: 'res' was not declared in this scope
     r.copy_results(res);
                    ^
  ripser/ripser.cpp:1036:59: error: 'move' is not a member of 'std'
     ripser<sparse_distance_matrix> r(sparse_distance_matrix(std::move(dist), threshold), dim_max,
                                                             ^
  ripser/ripser.cpp:1039:18: error: 'res' was not declared in this scope
     r.copy_results(res);
                    ^
  ripser/ripser.cpp:1041:2: error: 'res' was not declared in this scope
    res.num_edges = num_edges;
    ^
  ripser/ripser.cpp:1009:10: warning: unused variable 'min' [-Wunused-variable]
    value_t min = std::numeric_limits<value_t>::infinity(),
            ^
  ripser/ripser.cpp: In function 'ripserResults rips_dm_sparse(int*, int*, float*, int, int, int, int, float, int)':
  ripser/ripser.cpp:1051:57: error: no matching function for call to 'ripser<sparse_distance_matrix>::ripser(sparse_distance_matrix, int&, float&, float&, int&, int&)'
            dim_max, threshold, ratio, modulus, do_cocycles);
                                                           ^
  ripser/ripser.cpp:458:2: note: candidate: ripser<DistanceMatrix>::ripser(DistanceMatrix) [with DistanceMatrix = sparse_distance_matrix]
    ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
    ^
  ripser/ripser.cpp:458:2: note:   candidate expects 1 argument, 6 provided
  ripser/ripser.cpp:439:42: note: candidate: ripser<sparse_distance_matrix>::ripser(const ripser<sparse_distance_matrix>&)
   template <typename DistanceMatrix> class ripser {
                                            ^
  ripser/ripser.cpp:439:42: note:   candidate expects 1 argument, 6 provided
  ripser/pyRipser.cpp: In function 'PyTypeObject* __Pyx_ImportType(PyObject*, const char*, const char*, size_t, __Pyx_ImportType_CheckSize)':
  ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
               module_name, class_name, size, basicsize);
                                                       ^
  ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
  ripser/pyRipser.cpp:6991:53: warning: too many arguments for format [-Wformat-extra-args]
  In file included from ripser/pyRipser.cpp:657:0:
  ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
  ripser/ripser.cpp:1033:22:   required from here
  ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
       hash_map<index_t, index_t> pivot_column_index;
                                  ^
  ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]':
  ripser/ripser.cpp:1038:22:   required from here
  ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
  ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
  ripser/ripser.cpp:791:22:   required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]'
  ripser/ripser.cpp:1033:22:   required from here
  ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
     std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
                 ^
  ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = sparse_distance_matrix]':
  ripser/ripser.cpp:791:22:   required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]'
  ripser/ripser.cpp:1038:22:   required from here
  ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
  ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
  ripser/ripser.cpp:942:1: warning: control reaches end of non-void function [-Wreturn-type]
   }
   ^
  error: command 'C:\\Users\\sndr\\Anaconda3\\Library\\mingw-w64\\bin\\gcc.exe' failed with exit status 1

  ----------------------------------------
  Failed building wheel for ripser
  Running setup.py clean for ripser
Failed to build ripser
Installing collected packages: tadasets, kmapper, ripser, umap-learn, scikit-tda
  Running setup.py install for ripser ... error
    Complete output from command C:\Users\sndr\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\sndr\\AppData\\Local\\Temp\\pip-install-qfuv8vfq\\ripser\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\sndr\AppData\Local\Temp\pip-record-uilvyg2i\install-record.txt --single-version-externally-managed --compile:
    Warning: Extension name 'pyRipser' does not match fully qualified name 'ripser.pyRipser' of 'ripser/pyRipser.pyx'
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.6
    creating build\lib.win-amd64-3.6\ripser
    copying ripser\ripser.py -> build\lib.win-amd64-3.6\ripser
    copying ripser\_version.py -> build\lib.win-amd64-3.6\ripser
    copying ripser\__init__.py -> build\lib.win-amd64-3.6\ripser
    running build_ext
    building 'pyRipser' extension
    creating build\temp.win-amd64-3.6
    creating build\temp.win-amd64-3.6\Release
    creating build\temp.win-amd64-3.6\Release\ripser
    C:\Users\sndr\Anaconda3\Library\mingw-w64\bin\gcc.exe -mdll -O -Wall -DMS_WIN64 -DUSE_COEFFICIENTS=1 -DNDEBUG=1 -DASSEMBLE_REDUCTION_MATRIX=1 -I.\ripser -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\include -IC:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include -c ripser/pyRipser.cpp -o build\temp.win-amd64-3.6\Release\ripser\pyripser.o -Ofast -D_hypot=hypot
    In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/unordered_map:35:0,
                     from ripser/ripser.cpp:50,
                     from ripser/pyRipser.cpp:657:
    C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
     #error This file requires compiler and library support for the \
      ^
    In file included from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarraytypes.h:1816:0,
                     from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/ndarrayobject.h:18,
                     from C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/arrayobject.h:4,
                     from ripser/pyRipser.cpp:650:
    C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h:13:79: note: #pragma message: C:\Users\sndr\Anaconda3\lib\site-packages\numpy\core\include/numpy/npy_1_7_deprecated_api.h(12) : Warning Msg: Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
                              "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION")
                                                                                   ^
    In file included from ripser/pyRipser.cpp:657:0:
    ripser/ripser.cpp:53:73: error: expected template-name before '<' token
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                                                             ^
    ripser/ripser.cpp:53:73: error: expected '{' before '<' token
    ripser/ripser.cpp:53:73: error: expected unqualified-id before '<' token
    ripser/ripser.cpp:59:33: error: '>>' should be '> >' within a nested template argument list
      std::vector<std::vector<index_t>> B;
                                     ^
    ripser/ripser.cpp: In constructor 'diameter_entry_t::diameter_entry_t(const diameter_index_t&)':
    ripser/ripser.cpp:154:43: warning: delegating constructors only available with -std=c++11 or -std=gnu++11
          : diameter_entry_t(_diameter_index, 1) {}
                                               ^
    ripser/ripser.cpp: At global scope:
    ripser/ripser.cpp:184:49: error: expected ',' or '...' before '&&' token
      compressed_distance_matrix(std::vector<value_t>&& _distances)
                                                     ^
    ripser/ripser.cpp: In constructor 'compressed_distance_matrix<Layout>::compressed_distance_matrix(std::vector<float>)':
    ripser/ripser.cpp:185:18: error: 'move' is not a member of 'std'
          : distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
                      ^
    ripser/ripser.cpp:185:28: error: '_distances' was not declared in this scope
          : distances(std::move(_distances)), rows((1 + std::sqrt(1 + 8 * distances.size())) / 2) {
                                ^
    ripser/ripser.cpp: At global scope:
    ripser/ripser.cpp:206:42: error: '>>' should be '> >' within a nested template argument list
      std::vector<std::vector<diameter_index_t>> neighbors;
                                              ^
    ripser/ripser.cpp: In function 'diameter_entry_t pop_pivot(Heap&, coefficient_t)':
    ripser/ripser.cpp:327:3: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       auto pivot = column.top();
       ^
    ripser/ripser.cpp:327:8: error: 'pivot' does not name a type
       auto pivot = column.top();
            ^
    ripser/ripser.cpp:339:6: error: 'pivot' was not declared in this scope
          pivot = column.top();
          ^
    ripser/ripser.cpp:341:68: error: 'pivot' was not declared in this scope
       } while (!column.empty() && get_index(column.top()) == get_index(pivot));
                                                                        ^
    ripser/ripser.cpp: At global scope:
    ripser/ripser.cpp:458:23: error: expected ',' or '...' before '&&' token
      ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
                           ^
    ripser/ripser.cpp: In constructor 'ripser<DistanceMatrix>::ripser(DistanceMatrix)':
    ripser/ripser.cpp:460:13: error: 'move' is not a member of 'std'
          : dist(std::move(_dist)), n(dist.size()),
                 ^
    ripser/ripser.cpp:460:23: error: '_dist' was not declared in this scope
          : dist(std::move(_dist)), n(dist.size()),
                           ^
    ripser/ripser.cpp:461:16: error: '_dim_max' was not declared in this scope
            dim_max(_dim_max), threshold(_threshold),
                    ^
    ripser/ripser.cpp:461:37: error: '_threshold' was not declared in this scope
            dim_max(_dim_max), threshold(_threshold),
                                         ^
    ripser/ripser.cpp:462:14: error: '_ratio' was not declared in this scope
            ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
                  ^
    ripser/ripser.cpp:462:31: error: '_modulus' was not declared in this scope
            ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
                                   ^
    ripser/ripser.cpp:462:54: error: '_do_cocycles' was not declared in this scope
            ratio(_ratio), modulus(_modulus), do_cocycles(_do_cocycles),
                                                          ^
    ripser/ripser.cpp: In member function 'value_t ripser<DistanceMatrix>::compute_diameter(index_t, index_t) const':
    ripser/ripser.cpp:508:19: error: 'numeric_limits' is not a member of 'std'
       value_t diam = -std::numeric_limits<value_t>::infinity();
                       ^
    ripser/ripser.cpp:508:46: error: expected primary-expression before '>' token
       value_t diam = -std::numeric_limits<value_t>::infinity();
                                                  ^
    ripser/ripser.cpp:508:47: error: '::infinity' has not been declared
       value_t diam = -std::numeric_limits<value_t>::infinity();
                                                   ^
    ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&)':
    ripser/ripser.cpp:540:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       for (auto e : edges) {
            ^
    ripser/ripser.cpp:540:13: error: 'e' does not name a type
       for (auto e : edges) {
                 ^
    ripser/ripser.cpp:559:3: error: expected ';' before 'std'
       std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
       ^
    ripser/ripser.cpp:561:3: error: expected primary-expression before 'for'
       for (index_t i = 0; i < n; ++i) {
       ^
    ripser/ripser.cpp:561:3: error: expected ')' before 'for'
    ripser/ripser.cpp:564:43: error: 'numeric_limits' is not a member of 'std'
         births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
                                               ^
    ripser/ripser.cpp:564:70: error: expected primary-expression before '>' token
         births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
                                                                          ^
    ripser/ripser.cpp:564:71: error: '::infinity' has not been declared
         births_and_deaths_by_dim[0].push_back(std::numeric_limits<value_t>::infinity());
                                                                           ^
    ripser/ripser.cpp: In member function 'diameter_entry_t ripser<DistanceMatrix>::add_coboundary_and_get_pivot(Iterator, Iterator, coefficient_t, Column&, Column&, const index_t&, hash_map<long long int, long long int>&, bool&)':
    ripser/ripser.cpp:578:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       for (auto it = column_begin; it != column_end; ++it) {
            ^
    ripser/ripser.cpp:578:13: error: 'it' does not name a type
       for (auto it = column_begin; it != column_end; ++it) {
                 ^
    ripser/ripser.cpp:578:32: error: expected ';' before 'it'
       for (auto it = column_begin; it != column_end; ++it) {
                                    ^
    ripser/ripser.cpp:578:32: error: 'it' was not declared in this scope
    ripser/ripser.cpp:593:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
           if (pivot_column_index.find(get_index(coface)) ==
                                 ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp:594:29: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
               pivot_column_index.end()) {
                                 ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp:601:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
        for (auto coface : coface_entries) working_coboundary.push(coface);
             ^
    ripser/ripser.cpp:601:14: error: 'coface' does not name a type
        for (auto coface : coface_entries) working_coboundary.push(coface);
                  ^
    ripser/ripser.cpp:602:3: error: expected ';' before '}' token
       }
       ^
    ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
    ripser/ripser.cpp:602:3: error: expected ';' before '}' token
    ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
    ripser/ripser.cpp:602:3: error: expected ')' before '}' token
    ripser/ripser.cpp:602:3: error: expected primary-expression before '}' token
    ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_pairs(std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t)':
    ripser/ripser.cpp:621:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
        auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
        ^
    ripser/ripser.cpp:621:9: error: 'column_to_reduce' does not name a type
        auto column_to_reduce = columns_to_reduce[index_column_to_reduce];
             ^
    ripser/ripser.cpp:625:74: error: '>>' should be '> >' within a nested template argument list
                            greater_diameter_or_smaller_index<diameter_entry_t>>
                                                                              ^
    ripser/ripser.cpp:630:74: error: '>>' should be '> >' within a nested template argument list
                            greater_diameter_or_smaller_index<diameter_entry_t>>
                                                                              ^
    ripser/ripser.cpp:633:36: error: 'column_to_reduce' was not declared in this scope
        value_t diameter = get_diameter(column_to_reduce);
                                        ^
    ripser/ripser.cpp:656:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
         auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
         ^
    ripser/ripser.cpp:656:10: error: 'reduction_column_begin' does not name a type
         auto reduction_column_begin = reduction_matrix.cbegin(index_column_to_add),
              ^
    ripser/ripser.cpp:677:9: error: 'reduction_column_begin' was not declared in this scope
             reduction_column_begin, reduction_column_end, factor_column_to_add,
             ^
    ripser/ripser.cpp:677:33: error: 'reduction_column_end' was not declared in this scope
             reduction_column_begin, reduction_column_end, factor_column_to_add,
                                     ^
    ripser/ripser.cpp:684:6: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
          auto pair = pivot_column_index.find(get_index(pivot));
          ^
    ripser/ripser.cpp:684:11: error: 'pair' does not name a type
          auto pair = pivot_column_index.find(get_index(pivot));
               ^
    ripser/ripser.cpp:686:10: error: 'pair' was not declared in this scope
          if (pair != pivot_column_index.end()) {
              ^
    ripser/ripser.cpp:686:10: note: suggested alternative:
    In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:64:0,
                     from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39,
                     from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
                     from ripser/pyRipser.cpp:652:
    C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_pair.h:96:12: note:   'std::pair'
         struct pair
                ^
    In file included from ripser/pyRipser.cpp:657:0:
    ripser/ripser.cpp:686:36: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
          if (pair != pivot_column_index.end()) {
                                        ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp:698:9: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
             auto cocycle = working_reduction_column;
             ^
    ripser/ripser.cpp:698:14: error: 'cocycle' does not name a type
             auto cocycle = working_reduction_column;
                  ^
    ripser/ripser.cpp:702:40: error: 'cocycle' was not declared in this scope
             while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
                                            ^
    ripser/ripser.cpp:716:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
           pivot_column_index.insert(
                             ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp:753:46: error: 'numeric_limits' is not a member of 'std'
          births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
                                                  ^
    ripser/ripser.cpp:753:73: error: expected primary-expression before '>' token
          births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
                                                                             ^
    ripser/ripser.cpp:753:74: error: '::infinity' has not been declared
          births_and_deaths_by_dim[dim].push_back(std::numeric_limits<value_t>::infinity());
                                                                              ^
    ripser/ripser.cpp:759:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
           auto cocycle = working_reduction_column;
           ^
    ripser/ripser.cpp:759:12: error: 'cocycle' does not name a type
           auto cocycle = working_reduction_column;
                ^
    ripser/ripser.cpp:763:38: error: 'cocycle' was not declared in this scope
           while (get_index(e = get_pivot(cocycle, modulus)) != -1) {
                                          ^
    ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::compute_barcodes()':
    ripser/ripser.cpp:798:23: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
         pivot_column_index.reserve(columns_to_reduce.size());
                           ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp: In member function 'diameter_entry_t ripser<compressed_distance_matrix<(compressed_matrix_layout)0u> >::simplex_coboundary_enumerator::next()':
    ripser/ripser.cpp:842:20: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
       for (index_t w : vertices) coface_diameter = std::max(coface_diameter, dist(v, w));
                        ^
    ripser/ripser.cpp: In constructor 'ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::simplex_coboundary_enumerator(diameter_entry_t, index_t, const ripser<sparse_distance_matrix>&)':
    ripser/ripser.cpp:879:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       for (auto v : vertices) {
            ^
    ripser/ripser.cpp:879:13: error: 'v' does not name a type
       for (auto v : vertices) {
                 ^
    ripser/ripser.cpp:883:2: error: expected ';' before '}' token
      }
      ^
    ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
    ripser/ripser.cpp:883:2: error: expected ';' before '}' token
    ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
    ripser/ripser.cpp:883:2: error: expected ')' before '}' token
    ripser/ripser.cpp:883:2: error: expected primary-expression before '}' token
    ripser/ripser.cpp: In member function 'bool ripser<sparse_distance_matrix>::simplex_coboundary_enumerator::has_next(bool)':
    ripser/ripser.cpp:886:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
            ^
    ripser/ripser.cpp:886:33: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
       for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
                                     ^
    ripser/ripser.cpp:886:58: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
       for (auto &it0 = neighbor_it[0], &end0 = neighbor_end[0]; it0 != end0; ++it0) {
                                                              ^
    ripser/ripser.cpp:887:9: error: invalid type argument of unary '*' (have 'int')
        x = *it0;
             ^
    ripser/ripser.cpp:889:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
         auto &it = neighbor_it[idx], end = neighbor_end[idx];
         ^
    ripser/ripser.cpp:889:31: error: invalid initialization of reference of type 'int&' from expression of type 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >'
         auto &it = neighbor_it[idx], end = neighbor_end[idx];
                                   ^
    ripser/ripser.cpp:889:56: error: cannot convert 'std::reverse_iterator<__gnu_cxx::__normal_iterator<const std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >' to 'int' in initialization
         auto &it = neighbor_it[idx], end = neighbor_end[idx];
                                                            ^
    ripser/ripser.cpp:890:23: error: invalid type argument of unary '*' (have 'int')
         while (get_index(*it) > get_index(x))
                           ^
    ripser/ripser.cpp:892:5: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
         auto y = *it;
         ^
    ripser/ripser.cpp:892:10: error: 'y' does not name a type
         auto y = *it;
              ^
    ripser/ripser.cpp:893:19: error: 'y' was not declared in this scope
         if (get_index(y) != get_index(x))
                       ^
    ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
    ripser/ripser.cpp:937:8: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
       for (auto n : dist.neighbors[i]) {
            ^
    ripser/ripser.cpp:937:13: error: 'n' does not name a type
       for (auto n : dist.neighbors[i]) {
                 ^
    ripser/ripser.cpp:941:2: error: expected ';' before 'return'
      return edges;
      ^
    ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
    ripser/ripser.cpp:941:2: error: expected ';' before 'return'
    ripser/ripser.cpp:941:2: error: expected primary-expression before 'return'
    ripser/ripser.cpp:941:2: error: expected ')' before 'return'
    ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>; index_t = long long int]':
    ripser/ripser.cpp:963:25: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
       if (pivot_column_index.find(index) == pivot_column_index.end()) {
                             ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp:963:59: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
       if (pivot_column_index.find(index) == pivot_column_index.end()) {
                                                               ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp: In member function 'void ripser<DistanceMatrix>::assemble_columns_to_reduce(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&, hash_map<long long int, long long int>&, index_t) [with DistanceMatrix = sparse_distance_matrix; index_t = long long int]':
    ripser/ripser.cpp:983:34: warning: range-based 'for' loops only available with -std=c++11 or -std=gnu++11
      for (diameter_index_t simplex : simplices) {
                                      ^
    ripser/ripser.cpp:987:4: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
        auto coface = cofaces.next();
        ^
    ripser/ripser.cpp:987:9: error: 'coface' does not name a type
        auto coface = cofaces.next();
             ^
    ripser/ripser.cpp:989:57: error: 'coface' was not declared in this scope
        next_simplices.push_back(std::make_pair(get_diameter(coface), get_index(coface)));
                                                             ^
    ripser/ripser.cpp:991:26: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
        if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
                              ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp:991:72: error: invalid use of incomplete type 'class hash_map<long long int, long long int>'
        if (pivot_column_index.find(get_index(coface)) == pivot_column_index.end())
                                                                            ^
    ripser/ripser.cpp:53:37: note: declaration of 'class hash_map<long long int, long long int>'
     template <class Key, class T> class hash_map : public std::unordered_map<Key, T> {};
                                         ^
    ripser/ripser.cpp: In function 'ripserResults rips_dm(float*, int, int, int, float, int)':
    ripser/ripser.cpp:1006:69: error: 'move' is not a member of 'std'
       compressed_lower_distance_matrix(compressed_upper_distance_matrix(std::move(distances)));
                                                                         ^
    ripser/ripser.cpp:1009:16: error: 'numeric_limits' is not a member of 'std'
      value_t min = std::numeric_limits<value_t>::infinity(),
                    ^
    ripser/ripser.cpp:1009:43: error: expected primary-expression before '>' token
      value_t min = std::numeric_limits<value_t>::infinity(),
                                               ^
    ripser/ripser.cpp:1009:44: error: '::infinity' has not been declared
      value_t min = std::numeric_limits<value_t>::infinity(),
                                                ^
    ripser/ripser.cpp:1013:29: error: 'numeric_limits' is not a member of 'std'
      value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
                                 ^
    ripser/ripser.cpp:1013:56: error: expected primary-expression before '>' token
      value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
                                                            ^
    ripser/ripser.cpp:1013:57: error: '::infinity' has not been declared
      value_t enclosing_radius = std::numeric_limits<value_t>::infinity();
                                                             ^
    ripser/ripser.cpp:1015:18: error: 'numeric_limits' is not a member of 'std'
       value_t r_i = -std::numeric_limits<value_t>::infinity();
                      ^
    ripser/ripser.cpp:1015:45: error: expected primary-expression before '>' token
       value_t r_i = -std::numeric_limits<value_t>::infinity();
                                                 ^
    ripser/ripser.cpp:1015:46: error: '::infinity' has not been declared
       value_t r_i = -std::numeric_limits<value_t>::infinity();
                                                  ^
    ripser/ripser.cpp:1020:19: error: 'numeric_limits' is not a member of 'std'
      if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
                       ^
    ripser/ripser.cpp:1020:46: error: expected primary-expression before '>' token
      if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
                                                  ^
    ripser/ripser.cpp:1020:47: error: '::max' has not been declared
      if (threshold == std::numeric_limits<value_t>::max()) threshold = enclosing_radius;
                                                   ^
    ripser/ripser.cpp:1020:47: note: suggested alternative:
    In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
                     from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
                     from ripser/pyRipser.cpp:652:
    C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note:   'std::max'
         max(const _Tp& __a, const _Tp& __b, _Compare __comp)
         ^
    In file included from ripser/pyRipser.cpp:657:0:
    ripser/ripser.cpp:1022:7: warning: 'auto' changes meaning in C++11; please remove it [-Wc++0x-compat]
      for (auto d : dist.distances) {
           ^
    ripser/ripser.cpp:1022:12: error: 'd' does not name a type
      for (auto d : dist.distances) {
                ^
    ripser/ripser.cpp:1029:2: error: expected ';' before 'ripserResults'
      ripserResults res;
      ^
    ripser/ripser.cpp:1029:16: error: expected primary-expression before 'res'
      ripserResults res;
                    ^
    ripser/ripser.cpp:1029:16: error: expected ';' before 'res'
    ripser/ripser.cpp:1029:16: error: 'res' was not declared in this scope
    ripser/ripser.cpp:1029:19: error: expected ')' before ';' token
      ripserResults res;
                       ^
    ripser/ripser.cpp:1030:19: error: 'max' was not declared in this scope
      if (threshold >= max) {
                       ^
    ripser/ripser.cpp:1030:19: note: suggested alternative:
    In file included from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/char_traits.h:39:0,
                     from C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/ios:40,
                     from ripser/pyRipser.cpp:652:
    C:/Users/sndr/Anaconda3/Library/mingw-w64/include/c++/5.3.0/bits/stl_algobase.h:265:5: note:   'std::max'
         max(const _Tp& __a, const _Tp& __b, _Compare __comp)
         ^
    In file included from ripser/pyRipser.cpp:657:0:
    ripser/ripser.cpp:1031:46: error: 'move' is not a member of 'std'
       ripser<compressed_lower_distance_matrix> r(std::move(dist), dim_max, threshold, ratio,
                                                  ^
    ripser/ripser.cpp:1034:18: error: 'res' was not declared in this scope
       r.copy_results(res);
                      ^
    ripser/ripser.cpp:1036:59: error: 'move' is not a member of 'std'
       ripser<sparse_distance_matrix> r(sparse_distance_matrix(std::move(dist), threshold), dim_max,
                                                               ^
    ripser/ripser.cpp:1039:18: error: 'res' was not declared in this scope
       r.copy_results(res);
                      ^
    ripser/ripser.cpp:1041:2: error: 'res' was not declared in this scope
      res.num_edges = num_edges;
      ^
    ripser/ripser.cpp:1009:10: warning: unused variable 'min' [-Wunused-variable]
      value_t min = std::numeric_limits<value_t>::infinity(),
              ^
    ripser/ripser.cpp: In function 'ripserResults rips_dm_sparse(int*, int*, float*, int, int, int, int, float, int)':
    ripser/ripser.cpp:1051:57: error: no matching function for call to 'ripser<sparse_distance_matrix>::ripser(sparse_distance_matrix, int&, float&, float&, int&, int&)'
              dim_max, threshold, ratio, modulus, do_cocycles);
                                                             ^
    ripser/ripser.cpp:458:2: note: candidate: ripser<DistanceMatrix>::ripser(DistanceMatrix) [with DistanceMatrix = sparse_distance_matrix]
      ripser(DistanceMatrix&& _dist, index_t _dim_max, value_t _threshold, float _ratio,
      ^
    ripser/ripser.cpp:458:2: note:   candidate expects 1 argument, 6 provided
    ripser/ripser.cpp:439:42: note: candidate: ripser<sparse_distance_matrix>::ripser(const ripser<sparse_distance_matrix>&)
     template <typename DistanceMatrix> class ripser {
                                              ^
    ripser/ripser.cpp:439:42: note:   candidate expects 1 argument, 6 provided
    ripser/pyRipser.cpp: In function 'PyTypeObject* __Pyx_ImportType(PyObject*, const char*, const char*, size_t, __Pyx_ImportType_CheckSize)':
    ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
                 module_name, class_name, size, basicsize);
                                                         ^
    ripser/pyRipser.cpp:6991:53: warning: unknown conversion type character 'z' in format [-Wformat=]
    ripser/pyRipser.cpp:6991:53: warning: too many arguments for format [-Wformat-extra-args]
    In file included from ripser/pyRipser.cpp:657:0:
    ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
    ripser/ripser.cpp:1033:22:   required from here
    ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
         hash_map<index_t, index_t> pivot_column_index;
                                    ^
    ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]':
    ripser/ripser.cpp:1038:22:   required from here
    ripser/ripser.cpp:797:32: error: 'hash_map<long long int, long long int> pivot_column_index' has incomplete type
    ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]':
    ripser/ripser.cpp:791:22:   required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = compressed_distance_matrix<(compressed_matrix_layout)0u>]'
    ripser/ripser.cpp:1033:22:   required from here
    ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
       std::reverse(columns_to_reduce.begin(), columns_to_reduce.end());
                   ^
    ripser/ripser.cpp: In instantiation of 'void ripser<DistanceMatrix>::compute_dim_0_pairs(std::vector<std::pair<float, long long int> >&, std::vector<std::pair<float, long long int> >&) [with DistanceMatrix = sparse_distance_matrix]':
    ripser/ripser.cpp:791:22:   required from 'void ripser<DistanceMatrix>::compute_barcodes() [with DistanceMatrix = sparse_distance_matrix]'
    ripser/ripser.cpp:1038:22:   required from here
    ripser/ripser.cpp:559:15: error: could not convert 'std::reverse<__gnu_cxx::__normal_iterator<std::pair<float, long long int>*, std::vector<std::pair<float, long long int> > > >((& columns_to_reduce)->std::vector<_Tp, _Alloc>::begin<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >(), (& columns_to_reduce)->std::vector<_Tp, _Alloc>::end<std::pair<float, long long int>, std::allocator<std::pair<float, long long int> > >())' from 'void' to 'bool'
    ripser/ripser.cpp: In member function 'std::vector<std::pair<float, long long int> > ripser<DistanceMatrix>::get_edges() [with DistanceMatrix = sparse_distance_matrix]':
    ripser/ripser.cpp:942:1: warning: control reaches end of non-void function [-Wreturn-type]
     }
     ^
    error: command 'C:\\Users\\sndr\\Anaconda3\\Library\\mingw-w64\\bin\\gcc.exe' failed with exit status 1

    ----------------------------------------
Command "C:\Users\sndr\Anaconda3\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\sndr\\AppData\\Local\\Temp\\pip-install-qfuv8vfq\\ripser\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\sndr\AppData\Local\Temp\pip-record-uilvyg2i\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\sndr\AppData\Local\Temp\pip-install-qfuv8vfq\ripser\

C:\WINDOWS\system32>

@sauln
Copy link
Member

sauln commented May 2, 2019

This issue is duplicate scikit-tda/ripser.py/#71

@sauln sauln closed this as completed May 2, 2019
@Sandy4321
Copy link
Author

can write full link how to find this scikit-tda/ripser.py/#71

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

2 participants