Hi, I tried to build sga with Python3 (prepared in Git[1]) but the issue occures also with currently uploaded sga. The configure step fails with:
... In file included from /usr/include/c++/9/utility:70, from /usr/include/c++/9/algorithm:60, from /usr/include/sparsehash/sparse_hash_set:92, from /usr/include/google/sparse_hash_set:34, from conftest.cpp:56: /usr/include/c++/9/bits/stl_pair.h:208:12: note: provided for 'template<class _T1, class _T2> struct std::pair' 208 | struct pair | ^~~~ In file included from /usr/include/google/sparse_hash_set:34, from conftest.cpp:56: /usr/include/sparsehash/sparse_hash_set:238:52: error: request for member 'insert' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep', wh 238 | std::pair<typename ht::iterator, bool> p = rep.insert(obj); | ^~~~~~ /usr/include/sparsehash/sparse_hash_set:239:40: error: request for member 'first' in 'p', which is of non-class type 'int' 239 | return std::pair<iterator, bool>(p.first, p.second); // const to non-const | ^~~~~ /usr/include/sparsehash/sparse_hash_set:239:49: error: request for member 'second' in 'p', which is of non-class type 'int' 239 | return std::pair<iterator, bool>(p.first, p.second); // const to non-const | ^~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'void google::sparse_hash_set<Value, HashFcn>::insert(InputIterator, InputIterator)': /usr/include/sparsehash/sparse_hash_set:242:9: error: request for member 'insert' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep', whi 242 | rep.insert(f, l); | ^~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'void google::sparse_hash_set<Value, HashFcn>::insert(google::sparse_hash_set<Value, HashFcn>::const_iterator, google::sparse_ /usr/include/sparsehash/sparse_hash_set:245:9: error: request for member 'insert' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep', whi 245 | rep.insert(f, l); | ^~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'void google::sparse_hash_set<Value, HashFcn>::set_deleted_key(const key_type&)': /usr/include/sparsehash/sparse_hash_set:256:53: error: request for member 'set_deleted_key' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>: 256 | void set_deleted_key(const key_type& key) { rep.set_deleted_key(key); } | ^~~~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'void google::sparse_hash_set<Value, HashFcn>::clear_deleted_key()': /usr/include/sparsehash/sparse_hash_set:257:53: error: request for member 'clear_deleted_key' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn 257 | void clear_deleted_key() { rep.clear_deleted_key(); } | ^~~~~~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'google::sparse_hash_set<Value, HashFcn>::key_type google::sparse_hash_set<Value, HashFcn>::deleted_key() const': /usr/include/sparsehash/sparse_hash_set:258:60: error: request for member 'deleted_key' in '((const google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn 258 | key_type deleted_key() const { return rep.deleted_key(); } | ^~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'google::sparse_hash_set<Value, HashFcn>::size_type google::sparse_hash_set<Value, HashFcn>::erase(const key_type&)': /usr/include/sparsehash/sparse_hash_set:261:67: error: request for member 'erase' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep', whi 261 | size_type erase(const key_type& key) { return rep.erase(key); } | ^~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'void google::sparse_hash_set<Value, HashFcn>::erase(google::sparse_hash_set<Value, HashFcn>::iterator)': /usr/include/sparsehash/sparse_hash_set:262:60: error: request for member 'erase' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep', whi 262 | void erase(iterator it) { rep.erase(it); } | ^~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'void google::sparse_hash_set<Value, HashFcn>::erase(google::sparse_hash_set<Value, HashFcn>::iterator, google::sparse_hash_se /usr/include/sparsehash/sparse_hash_set:263:60: error: request for member 'erase' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep', whi 263 | void erase(iterator f, iterator l) { rep.erase(f, l); } | ^~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'bool google::sparse_hash_set<Value, HashFcn>::serialize(ValueSerializer, OUTPUT*)': /usr/include/sparsehash/sparse_hash_set:293:16: error: request for member 'serialize' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep', 293 | return rep.serialize(serializer, fp); | ^~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'bool google::sparse_hash_set<Value, HashFcn>::unserialize(ValueSerializer, INPUT*)': /usr/include/sparsehash/sparse_hash_set:312:16: error: request for member 'unserialize' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::rep 312 | return rep.unserialize(serializer, fp); | ^~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'bool google::sparse_hash_set<Value, HashFcn>::write_metadata(OUTPUT*)': /usr/include/sparsehash/sparse_hash_set:318:54: error: request for member 'write_metadata' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>:: 318 | bool write_metadata(OUTPUT *fp) { return rep.write_metadata(fp); } | ^~~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'bool google::sparse_hash_set<Value, HashFcn>::read_metadata(INPUT*)': /usr/include/sparsehash/sparse_hash_set:321:54: error: request for member 'read_metadata' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashFcn>::r 321 | bool read_metadata(INPUT *fp) { return rep.read_metadata(fp); } | ^~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'bool google::sparse_hash_set<Value, HashFcn>::write_nopointer_data(OUTPUT*)': /usr/include/sparsehash/sparse_hash_set:324:54: error: request for member 'write_nopointer_data' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, Hash 324 | bool write_nopointer_data(OUTPUT *fp) { return rep.write_nopointer_data(fp); } | ^~~~~~~~~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In member function 'bool google::sparse_hash_set<Value, HashFcn>::read_nopointer_data(INPUT*)': /usr/include/sparsehash/sparse_hash_set:327:54: error: request for member 'read_nopointer_data' in '((google::sparse_hash_set<Value, HashFcn>*)this)->google::sparse_hash_set<Value, HashF 327 | bool read_nopointer_data(INPUT *fp) { return rep.read_nopointer_data(fp); } | ^~~~~~~~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: At global scope: /usr/include/sparsehash/sparse_hash_set:331:63: error: wrong number of template arguments (4, should be at least 1) 331 | inline void swap(sparse_hash_set<Val, HashFcn, EqualKey, Alloc>& hs1, | ^ /usr/include/sparsehash/sparse_hash_set:106:7: note: provided for 'template<class Value, class HashFcn> class google::sparse_hash_set' 106 | class sparse_hash_set { | ^~~~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set:332:63: error: wrong number of template arguments (4, should be at least 1) 332 | sparse_hash_set<Val, HashFcn, EqualKey, Alloc>& hs2) { | ^ /usr/include/sparsehash/sparse_hash_set:106:7: note: provided for 'template<class Value, class HashFcn> class google::sparse_hash_set' 106 | class sparse_hash_set { | ^~~~~~~~~~~~~~~ /usr/include/sparsehash/sparse_hash_set: In function 'void google::swap(int&, int&)': /usr/include/sparsehash/sparse_hash_set:333:7: error: request for member 'swap' in 'hs1', which is of non-class type 'int' 333 | hs1.swap(hs2); | ^~~~ configure:5176: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "sga" | #define PACKAGE_TARNAME "sga" | #define PACKAGE_VERSION "0.10.15" | #define PACKAGE_STRING "sga 0.10.15" | #define PACKAGE_BUGREPORT "j...@sanger.ac.uk" | #define PACKAGE_URL "" | #define PACKAGE "sga" | #define VERSION "0.10.15" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_CLOCK_GETTIME 1 | #define HAVE_OPENMP 1 | /* end confdefs.h. */ | #include <stdio.h> | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif | #ifdef HAVE_SYS_STAT_H | # include <sys/stat.h> | #endif | #ifdef STDC_HEADERS | # include <stdlib.h> | # include <stddef.h> | #else | # ifdef HAVE_STDLIB_H | # include <stdlib.h> | # endif | #endif | #ifdef HAVE_STRING_H | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H | # include <memory.h> | # endif | # include <string.h> | #endif | #ifdef HAVE_STRINGS_H | # include <strings.h> | #endif | #ifdef HAVE_INTTYPES_H | # include <inttypes.h> | #endif | #ifdef HAVE_STDINT_H | # include <stdint.h> | #endif | #ifdef HAVE_UNISTD_H | # include <unistd.h> | #endif | #include <google/sparse_hash_set> configure:5176: result: no configure:5176: checking google/sparse_hash_set presence configure:5176: g++ -E -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -I/usr//include -I/usr//include/bamtools conftest.cpp configure:5176: $? = 0 configure:5176: result: yes configure:5176: WARNING: google/sparse_hash_set: present but cannot be compiled configure:5176: WARNING: google/sparse_hash_set: check for missing prerequisite headers? configure:5176: WARNING: google/sparse_hash_set: see the Autoconf documentation configure:5176: WARNING: google/sparse_hash_set: section "Present But Cannot Be Compiled" configure:5176: WARNING: google/sparse_hash_set: proceeding with the compiler's result configure:5176: checking for google/sparse_hash_set configure:5176: result: no configure:5183: error: google sparse hash library is required: http://code.google.com/p/google-sparsehash/ The Debian packaged libsparsehash-dev is used but it seems it has changed its interface at some point in time. Any idea? Kind regards Andreas. [1] https://salsa.debian.org/med-team/sga -- http://fam-tille.de