[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Configure error for sga when trying to detect libsparsehash-dev



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 "js18@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


Reply to: