ea-utils on Mavericks (10.9.3)

209 views
Skip to first unread message

Cynthia Gibas

unread,
Jun 9, 2014, 11:39:49 AM6/9/14
to ea-u...@googlegroups.com
I am still having difficulties installing ea-utils on Mavericks even after following the suggestions in this forum.

I started by installing zlib, google-sparsehash, etc.

install zlib. This went according to instructions on Mavericks
brew install google-sparsehash --cc=gcc-4.2 to do this I had to brew install apple-gcc42 
brew install bamtools
brew install gsl

I also took a tip from one of the other threads here and replaced the sparsehash directory in the ea-utils distribution with a copy of my /usr/local/Cellar/google-sparsehash/2.0.2/includes/sparsehash directory

Here's the error I am getting when I sudo PREFIX=/usr/local make install

g++ -O3 -I.  fastq-lib.cpp -o fastq-mcf fastq-mcf.c

clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated

In file included from fastq-mcf.c:29:

In file included from ./google/sparse_hash_map:34:

./sparsehash/sparse_hash_map:94:10: fatal error: 'tr1/functional' file not found

#include HASH_FUN_H                 // for hash<>

         ^

./sparsehash/internal/sparseconfig.h:10:20: note: expanded from macro

      'HASH_FUN_H'

#define HASH_FUN_H <tr1/functional>

                   ^

1 error generated.

make: *** [fastq-mcf] Error 1


Any ideas on how to get this working? Have I missed something? 

Erik Aronesty

unread,
Jul 23, 2014, 11:36:59 AM7/23/14
to ea-u...@googlegroups.com
I included sparsehash in a different way.   Now the whole library is loaded,made and included... rather than just the outputs.   At some point sparsehash was a "header only" distribution, but now you have to build it.   

Erik Aronesty

unread,
Jul 23, 2014, 11:38:06 AM7/23/14
to ea-u...@googlegroups.com
Note: for this to work, please download the bleeding-edge version from SVN.   Assuming some Mac users test it, and tell me it works, I'll bundle it as the latest release and hopefully this will solve the Mac issue for QMIME users, etc.


On Monday, June 9, 2014 11:39:49 AM UTC-4, Cynthia Gibas wrote:

Cynthia Gibas

unread,
Jul 23, 2014, 3:24:38 PM7/23/14
to ea-u...@googlegroups.com

Thanks for the reply, I tried it

svn checkout http://ea-utils.googlecode.com/svn/trunk/ ea-utils-read-only got me revision 736. Still getting sparsehash-related errors:

reg-10-16-56-189:clipper cgibas$ sudo PREFIX=/usr/local make install

g++ -O3 -I.  fastq-mcf.cpp fastq-lib.cpp -o fastq-mcf

In file included from fastq-mcf.cpp:29:

In file included from ./google/sparse_hash_map:34:

/usr/local/include/sparsehash/sparse_hash_map:94:10: fatal error: 

      'tr1/functional' file not found

#include HASH_FUN_H                 // for hash<>

         ^

/usr/local/include/sparsehash/internal/sparseconfig.h:10:20: note: expanded from

      macro 'HASH_FUN_H'

#define HASH_FUN_H <tr1/functional>

                   ^

1 error generated.

make: *** [fastq-mcf] Error 1



Aronesty, Erik

unread,
Jul 23, 2014, 3:43:15 PM7/23/14
to ea-u...@googlegroups.com

I'm hoping this was run from an existing folder.   Try removing the sparsehash directory first, and then running make.   It should recompile for maverick.

--
You received this message because you are subscribed to the Google Groups "EA Utils" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ea-utils+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Aronesty, Erik

unread,
Jul 23, 2014, 3:44:46 PM7/23/14
to Aronesty, Erik, ea-u...@googlegroups.com

1. try from a fresh checkout

 

2. it looks like you have a local library installed:

 

/usr/local/include/sparsehash/sparse_hash_map

 

And that this library is causing an issue.

 

I would try removing that (or moving it out of the way) as well.

 

From: Aronesty, Erik
Sent: Wednesday, July 23, 2014 3:43 PM
To: ea-u...@googlegroups.com
Subject: RE: ea-utils on Mavericks (10.9.3)

 

I'm hoping this was run from an existing folder.   Try removing the sparsehash directory first, and then running make.   It should recompile for maverick.

 

From: ea-u...@googlegroups.com [mailto:ea-u...@googlegroups.com] On Behalf Of Cynthia Gibas
Sent: Wednesday, July 23, 2014 3:25 PM
To: ea-u...@googlegroups.com
Subject: Re: ea-utils on Mavericks (10.9.3)

 

 

Thanks for the reply, I tried it

--

Cynthia Gibas

unread,
Jul 24, 2014, 2:24:15 PM7/24/14
to ea-u...@googlegroups.com
This is in a fresh checkout downloaded about a minute ago, starting in the ea-utils-read-only/clipper directory.  

Before attempting to install I removed the google-sparsehash homebrew package that I had installed. I checked and there is definitely no /usr/local/include/sparsehash directory remaining.

> PREFIX=/usr/local make install

g++ -O3 -I.  fastq-mcf.cpp fastq-lib.cpp -o fastq-mcf

In file included from fastq-mcf.cpp:29:

./google/sparse_hash_map:34:10: fatal error: 'sparsehash/sparse_hash_map' file

      not found

#include <sparsehash/sparse_hash_map>

         ^

1 error generated.

make: *** [fastq-mcf] Error 1

--
You received this message because you are subscribed to a topic in the Google Groups "EA Utils" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ea-utils/Q75kA1zM1Cc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ea-utils+u...@googlegroups.com.

Aronesty, Erik

unread,
Jul 24, 2014, 4:13:51 PM7/24/14
to ea-u...@googlegroups.com

OK, I'm trying one more thing…. removing any mention of "google" from the include statements.

 

I checked it all in just now.

 

Let me know if it works:

Cynthia Gibas

unread,
Jul 25, 2014, 6:01:51 AM7/25/14
to ea-u...@googlegroups.com
Thanks for working on this.

Unfortunately:

Checked out revision 739.

Cynthias-MacBook-Pro:Applications cgibas$ cd ea-utils-read-only/clipper/

Cynthias-MacBook-Pro:clipper cgibas$ sudo make install

g++ -O3 -I.  fastq-mcf.cpp fastq-lib.cpp -o fastq-mcf

fastq-mcf.cpp:29:10: fatal error: 'sparsehash/sparse_hash_map' file not found

#include <sparsehash/sparse_hash_map> // or sparse_hash_set, dense_hash_map, ...

         ^

1 error generated.

make: *** [fastq-mcf] Error 1


Aronesty, Erik

unread,
Jul 25, 2014, 8:34:34 AM7/25/14
to ea-u...@googlegroups.com

What happens if you do this:

 

rm -rf sparsehash

make sparsehash

make

Cynthia Gibas

unread,
Jul 25, 2014, 9:54:20 AM7/25/14
to ea-u...@googlegroups.com
I just got a fresh checkout of version 740.

The sparsehash make fails at this point:

/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am

g++ -DHAVE_CONFIG_H -I. -I./src  -I./src  -Wall -W -Wwrite-strings -Woverloaded-virtual -Wshadow -g -O2 -MT template_util_unittest.o -MD -MP -MF .deps/template_util_unittest.Tpo -c -o template_util_unittest.o `test -f 'src/template_util_unittest.cc' || echo './'`src/template_util_unittest.cc

src/template_util_unittest.cc:39:10: fatal error: 'sparsehash/template_util.h'

      file not found

#include <sparsehash/template_util.h>

         ^

1 error generated.

make[2]: *** [template_util_unittest.o] Error 1

make[1]: *** [all] Error 2

make: *** [sparsehash] Error 2


Aronesty, Erik

unread,
Jul 25, 2014, 9:55:40 AM7/25/14
to ea-u...@googlegroups.com

Well, I think I really need an account on a Mavericks box somehow to debug at this point….

Cynthia Gibas

unread,
Jul 25, 2014, 11:21:40 AM7/25/14
to ea-u...@googlegroups.com
I'll ask our IT team if there's a way to achieve that that won't violate their policies.

Cynthia

Fan Li

unread,
Oct 2, 2014, 12:00:54 PM10/2/14
to ea-u...@googlegroups.com
I got the same 'sparsehash/ sparse_hash_map not found' problem on a OpenSUSE 13.1 machine with the 1.1.2-780 release. Fixed by running:

> make sparsehash
> make

instead of going straight to make install.

To unsubscribe from this group and all its topics, send an email to ea-utils+...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "EA Utils" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ea-utils+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "EA Utils" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ea-utils/Q75kA1zM1Cc/unsubscribe.

To unsubscribe from this group and all its topics, send an email to ea-utils+...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "EA Utils" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ea-utils+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "EA Utils" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ea-utils/Q75kA1zM1Cc/unsubscribe.

To unsubscribe from this group and all its topics, send an email to ea-utils+...@googlegroups.com.


For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "EA Utils" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ea-utils+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Colleen Kellogg

unread,
Dec 3, 2014, 1:09:52 PM12/3/14
to ea-u...@googlegroups.com
Hello,
I have been trying to compile this on a Mavericks machine as well, with no success.  Did anyone ever get to the bottom of this?  I get a whole host of errors when typing 'make' and I tried following all the steps listed above.  Our IT person says he could grant you access to a Mac, Erik, if you think that would help you get this to work.  Admittedly, I only have a limited amount of experience with compiling programs so my ability to troubleshoot is somewhat poor.

Thanks,
Colleen


Below are my errors, in case any one is interested. 

/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
g++ -DHAVE_CONFIG_H -I. -I./src  -I./src  -Wall -W -Wwrite-strings -Woverloaded-virtual -Wshadow -g -O2 -MT hashtable_test.o -MD -MP -MF .deps/hashtable_test.Tpo -c -o hashtable_test.o `test -f 'src/hashtable_test.cc' || echo './'`src/hashtable_test.cc
In file included from src/hashtable_test.cc:63:
./src/hash_test_interface.h:436:50: warning: unused parameter 'k'
      [-Wunused-parameter]
  void set_empty_key(const typename p::key_type& k) { }
                                                 ^
./src/hash_test_interface.h:543:50: warning: unused parameter 'k'
      [-Wunused-parameter]
  void set_empty_key(const typename p::key_type& k) { }
                                                 ^
./src/hash_test_interface.h:659:50: warning: unused parameter 'k'
      [-Wunused-parameter]
  void set_empty_key(const typename p::key_type& k) { }
                                                 ^
In file included from src/hashtable_test.cc:60:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector:502:5: error:
      implicit instantiation of undefined template '__static_assert_test<false>'
    static_assert((is_same<typename allocator_type::value_type, value_ty...
    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:498:35: note:
      expanded from macro 'static_assert'
    typedef __static_assert_check<sizeof(__static_assert_test<(__b)>)> \
                                  ^
./src/sparsehash/sparsetable:1447:20: note: in instantiation of template class
      'std::__1::vector<google::sparsegroup<std::__1::pair<const int, int>, 48,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >,
      <anonymous>::Alloc<google::sparsegroup<std::__1::pair<const int, int>, 48,
      <anonymous>::Alloc<std::__1::pair<const int, int>, unsigned long,
      18446744073709551615> >, unsigned long, 18446744073709551615> >' requested
      here
  typedef typename group_vector_type::reference GroupsReference;
                   ^
./src/sparsehash/internal/sparsehashtable.h:168:20: note: in instantiation of
      template class 'google::sparsetable<std::__1::pair<const int, int>, 48,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >' requested
      here
  typedef typename sparsetable<V,DEFAULT_GROUP_SIZE,A>::nonempty_iterator
                   ^
./src/hash_test_interface.h:83:27: note: in instantiation of template class
      'google::sparse_hashtable_iterator<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >' requested
      here
  class iterator : public HT::iterator {
                          ^
src/hashtable_test.cc:592:32: note: in instantiation of member class
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator' requested here
  typename TypeParam::iterator i;
                               ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableIntTest_Typedefs' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:494:24: note:
      template is declared here
template <bool> struct __static_assert_test;
                       ^
src/hashtable_test.cc:614:8: error: no viable conversion from
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator' to 'const
      google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::const_iterator'
  ci = this->ht_.begin();
       ^~~~~~~~~~~~~~~~~
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableIntTest_Typedefs' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
./src/hash_test_interface.h:106:5: note: candidate constructor
    const_iterator(typename BaseHashtableInterface<HT>::iterator it)
    ^
./src/hash_test_interface.h:95:9: note: candidate constructor (the implicit copy
      constructor) not viable: no known conversion from
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator' to 'const
      google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::const_iterator &' for 1st argument
  class const_iterator : public HT::const_iterator {
        ^
./src/hash_test_interface.h:95:9: note: passing argument to parameter here
src/hashtable_test.cc:616:9: error: no viable conversion from
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::local_iterator' to 'const
      google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::const_local_iterator'
  cli = this->ht_.begin(0);
        ^~~~~~~~~~~~~~~~~~
./src/hash_test_interface.h:136:5: note: candidate constructor
    const_local_iterator(local_iterator it)
    ^
./src/hash_test_interface.h:127:9: note: candidate constructor (the implicit
      copy constructor) not viable: no known conversion from
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::local_iterator' to 'const
      google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::const_local_iterator &' for 1st argument
  class const_local_iterator : public HT::const_local_iterator {
        ^
./src/hash_test_interface.h:127:9: note: passing argument to parameter here
In file included from src/hashtable_test.cc:63:
In file included from ./src/hash_test_interface.h:50:
./src/sparsehash/internal/sparsehashtable.h:376:41: error: no matching
      constructor for initialization of 'iterator' (aka
      'sparse_hashtable_iterator<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >')
  iterator begin()             { return iterator(this, table.nonempty_begin(),
                                        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/sparsehash/sparse_hash_map:153:63: note: in instantiation of member
      function 'google::sparse_hashtable<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >::begin'
      requested here
  iterator begin()                               { return rep.begin(); }
                                                              ^
./src/hash_test_interface.h:144:25: note: in instantiation of member function
      'google::sparse_hash_map<int, int, <anonymous>::Hasher,
      <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned long,
      18446744073709551615> >::begin' requested here
    return iterator(ht_.begin(), this);
                        ^
src/hashtable_test.cc:614:18: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::begin' requested here
  ci = this->ht_.begin();
                 ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableIntTest_Typedefs' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
./src/sparsehash/internal/sparsehashtable.h:179:3: note: candidate constructor
      not viable: no known conversion from 'nonempty_iterator' (aka
      'two_d_iterator<std::vector<sparsegroup<value_type, 48, value_alloc_type>,
      vector_alloc> >') to 'st_iterator' (aka 'int') for 2nd argument
  sparse_hashtable_iterator(const sparse_hashtable<V,K,HF,ExK,SetK,EqK,A> *h,
  ^
./src/sparsehash/internal/sparsehashtable.h:182:3: note: candidate constructor
      not viable: requires 0 arguments, but 3 were provided
  sparse_hashtable_iterator() { }      // not ever used internally
  ^
./src/sparsehash/internal/sparsehashtable.h:161:8: note: candidate constructor
      (the implicit copy constructor) not viable: requires 1 argument, but 3
      were provided
struct sparse_hashtable_iterator {
       ^
In file included from src/hashtable_test.cc:63:
./src/hash_test_interface.h:88:15: error: type 'typename sparse_hash_map<int,
      int, Hasher, Hasher, Alloc<int, unsigned long, 18446744073709551615>
      >::iterator' (aka 'sparse_hashtable_iterator<std::__1::pair<const int,
      int>, int, <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >') is not a
      direct or virtual base of
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator'
        : HT::iterator(it), parent_(parent) { }
              ^~~~~~~~
./src/hash_test_interface.h:144:12: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator::iterator' requested here
    return iterator(ht_.begin(), this);
           ^
src/hashtable_test.cc:614:18: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::begin' requested here
  ci = this->ht_.begin();
                 ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableIntTest_Typedefs' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
In file included from src/hashtable_test.cc:63:
In file included from ./src/hash_test_interface.h:50:
./src/sparsehash/internal/sparsehashtable.h:394:14: error: no matching
      constructor for initialization of 'local_iterator' (aka
      'sparse_hashtable_iterator<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >')
      return local_iterator(this, table.get_iter(i), table.nonempty_end());
             ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/sparsehash/sparse_hash_map:159:63: note: in instantiation of member
      function 'google::sparse_hashtable<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >::begin'
      requested here
  local_iterator begin(size_type i)              { return rep.begin(i); }
                                                              ^
./src/hash_test_interface.h:156:31: note: in instantiation of member function
      'google::sparse_hash_map<int, int, <anonymous>::Hasher,
      <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned long,
      18446744073709551615> >::begin' requested here
    return local_iterator(ht_.begin(i), this);
                              ^
src/hashtable_test.cc:616:19: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::begin' requested here
  cli = this->ht_.begin(0);
                  ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:571:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableIntTest_Typedefs<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableIntTest_Typedefs' requested here
TYPED_TEST(HashtableIntTest, Typedefs) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
./src/sparsehash/internal/sparsehashtable.h:179:3: note: candidate constructor
      not viable: no known conversion from 'nonempty_iterator' (aka
      'two_d_iterator<std::vector<sparsegroup<value_type, 48, value_alloc_type>,
      vector_alloc> >') to 'st_iterator' (aka 'int') for 2nd argument
  sparse_hashtable_iterator(const sparse_hashtable<V,K,HF,ExK,SetK,EqK,A> *h,
  ^
./src/sparsehash/internal/sparsehashtable.h:182:3: note: candidate constructor
      not viable: requires 0 arguments, but 3 were provided
  sparse_hashtable_iterator() { }      // not ever used internally
  ^
./src/sparsehash/internal/sparsehashtable.h:161:8: note: candidate constructor
      (the implicit copy constructor) not viable: requires 1 argument, but 3
      were provided
struct sparse_hashtable_iterator {
       ^
src/hashtable_test.cc:620:33: error: invalid operands to binary expression
      ('google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator' and
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator')
  EXPECT_TRUE(this->ht_.begin() == this->ht_.end());
              ~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableAllTest_NormalIterators' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
./src/sparsehash/internal/libc_allocator_with_realloc.h:106:13: note: candidate
      template ignored: could not match
      'libc_allocator_with_realloc<type-parameter-0-0>' against
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator'
inline bool operator==(const libc_allocator_with_realloc<T>&,
            ^
src/hashtable_test.cc:624:20: error: invalid operands to binary expression
      ('typename HashtableInterface_SparseHashMap<int, int, Hasher, Hasher,
      Alloc<int, unsigned long, 18446744073709551615> >::iterator' and
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator')
    EXPECT_TRUE(it != this->ht_.end());
                ~~ ^  ~~~~~~~~~~~~~~~
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
./src/sparsehash/internal/libc_allocator_with_realloc.h:112:13: note: candidate
      template ignored: could not match
      'libc_allocator_with_realloc<type-parameter-0-0>' against
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator'
inline bool operator!=(const libc_allocator_with_realloc<T>&,
            ^
src/hashtable_test.cc:625:5: error: cannot increment value of type 'typename
      HashtableInterface_SparseHashMap<int, int, Hasher, Hasher, Alloc<int,
      unsigned long, 18446744073709551615> >::iterator'
    ++it;
    ^ ~~
src/hashtable_test.cc:626:20: error: invalid operands to binary expression
      ('typename HashtableInterface_SparseHashMap<int, int, Hasher, Hasher,
      Alloc<int, unsigned long, 18446744073709551615> >::iterator' and
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator')
    EXPECT_TRUE(it == this->ht_.end());
                ~~ ^  ~~~~~~~~~~~~~~~
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
./src/sparsehash/internal/libc_allocator_with_realloc.h:106:13: note: candidate
      template ignored: could not match
      'libc_allocator_with_realloc<type-parameter-0-0>' against
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator'
inline bool operator==(const libc_allocator_with_realloc<T>&,
            ^
In file included from src/hashtable_test.cc:63:
./src/hash_test_interface.h:147:12: error: no matching constructor for
      initialization of
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::iterator'
    return iterator(ht_.end(), this);
           ^        ~~~~~~~~~~~~~~~
src/hashtable_test.cc:620:46: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::end' requested here
  EXPECT_TRUE(this->ht_.begin() == this->ht_.end());
                                             ^
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableAllTest_NormalIterators' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
./src/hash_test_interface.h:85:5: note: candidate constructor not viable:
      requires 0 arguments, but 2 were provided
    iterator() : parent_(NULL) { }   // this allows code like "iterator it;"
    ^
./src/hash_test_interface.h:83:9: note: candidate constructor (the implicit copy
      constructor) not viable: requires 1 argument, but 2 were provided
  class iterator : public HT::iterator {
        ^
In file included from src/hashtable_test.cc:63:
In file included from ./src/hash_test_interface.h:50:
./src/sparsehash/internal/sparsehashtable.h:378:41: error: no matching
      constructor for initialization of 'iterator' (aka
      'sparse_hashtable_iterator<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >')
  iterator end()               { return iterator(this, table.nonempty_end(),
                                        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/sparsehash/sparse_hash_map:154:63: note: in instantiation of member
      function 'google::sparse_hashtable<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >::end'
      requested here
  iterator end()                                 { return rep.end(); }
                                                              ^
./src/hash_test_interface.h:147:25: note: in instantiation of member function
      'google::sparse_hash_map<int, int, <anonymous>::Hasher,
      <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned long,
      18446744073709551615> >::end' requested here
    return iterator(ht_.end(), this);
                        ^
src/hashtable_test.cc:620:46: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::end' requested here
  EXPECT_TRUE(this->ht_.begin() == this->ht_.end());
                                             ^
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableAllTest_NormalIterators' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
./src/sparsehash/internal/sparsehashtable.h:179:3: note: candidate constructor
      not viable: no known conversion from 'nonempty_iterator' (aka
      'two_d_iterator<std::vector<sparsegroup<value_type, 48, value_alloc_type>,
      vector_alloc> >') to 'st_iterator' (aka 'int') for 2nd argument
  sparse_hashtable_iterator(const sparse_hashtable<V,K,HF,ExK,SetK,EqK,A> *h,
  ^
./src/sparsehash/internal/sparsehashtable.h:182:3: note: candidate constructor
      not viable: requires 0 arguments, but 3 were provided
  sparse_hashtable_iterator() { }      // not ever used internally
  ^
./src/sparsehash/internal/sparsehashtable.h:161:8: note: candidate constructor
      (the implicit copy constructor) not viable: requires 1 argument, but 3
      were provided
struct sparse_hashtable_iterator {
       ^
./src/sparsehash/internal/sparsehashtable.h:946:39: error: no matching
      constructor for initialization of 'iterator' (aka
      'sparse_hashtable_iterator<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >')
      return std::pair<iterator,bool>(iterator(this, table.get_iter(pos.first),
                                      ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/sparsehash/internal/sparsehashtable.h:979:12: note: in instantiation of
      member function 'google::sparse_hashtable<std::__1::pair<const int, int>,
      int, <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615>
      >::insert_noresize' requested here
    return insert_noresize(obj);
           ^
./src/sparsehash/sparse_hash_map:261:16: note: in instantiation of member
      function 'google::sparse_hashtable<std::__1::pair<const int, int>, int,
      <anonymous>::Hasher, google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> >::SelectKey, google::sparse_hash_map<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<int, unsigned long, 18446744073709551615> >::insert'
      requested here
    return rep.insert(obj);
               ^
./src/hash_test_interface.h:295:52: note: in instantiation of member function
      'google::sparse_hash_map<int, int, <anonymous>::Hasher,
      <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned long,
      18446744073709551615> >::insert' requested here
    std::pair<typename HT::iterator, bool> r = ht_.insert(obj);
                                                   ^
src/hashtable_test.cc:621:13: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<int, int,
      <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int, unsigned
      long, 18446744073709551615> > >::insert' requested here
  this->ht_.insert(this->UniqueObject(1));
            ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<int,
      int, <anonymous>::Hasher, <anonymous>::Hasher, <anonymous>::Alloc<int,
      unsigned long, 18446744073709551615> >
      >::TEST_onetype_HashtableAllTest_NormalIterators' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:181:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type1> t;   \
                                                                   ^
./src/sparsehash/internal/sparsehashtable.h:179:3: note: candidate constructor
      not viable: no known conversion from 'nonempty_iterator' (aka
      'two_d_iterator<std::vector<sparsegroup<value_type, 48, value_alloc_type>,
      vector_alloc> >') to 'st_iterator' (aka 'int') for 2nd argument
  sparse_hashtable_iterator(const sparse_hashtable<V,K,HF,ExK,SetK,EqK,A> *h,
  ^
./src/sparsehash/internal/sparsehashtable.h:182:3: note: candidate constructor
      not viable: requires 0 arguments, but 3 were provided
  sparse_hashtable_iterator() { }      // not ever used internally
  ^
./src/sparsehash/internal/sparsehashtable.h:161:8: note: candidate constructor
      (the implicit copy constructor) not viable: requires 1 argument, but 3
      were provided
struct sparse_hashtable_iterator {
       ^
In file included from src/hashtable_test.cc:60:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/vector:502:5: error:
      implicit instantiation of undefined template '__static_assert_test<false>'
    static_assert((is_same<typename allocator_type::value_type, value_ty...
    ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:498:35: note:
      expanded from macro 'static_assert'
    typedef __static_assert_check<sizeof(__static_assert_test<(__b)>)> \
                                  ^
./src/sparsehash/sparsetable:1447:20: note: in instantiation of template class
      'std::__1::vector<google::sparsegroup<std::__1::pair<const
      std::__1::basic_string<char>, std::__1::basic_string<char> >, 48,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >,
      <anonymous>::Alloc<google::sparsegroup<std::__1::pair<const
      std::__1::basic_string<char>, std::__1::basic_string<char> >, 48,
      <anonymous>::Alloc<std::__1::pair<const std::__1::basic_string<char>,
      std::__1::basic_string<char> >, unsigned long, 18446744073709551615> >,
      unsigned long, 18446744073709551615> >' requested here
  typedef typename group_vector_type::reference GroupsReference;
                   ^
./src/sparsehash/internal/sparsehashtable.h:168:20: note: in instantiation of
      template class 'google::sparsetable<std::__1::pair<const
      std::__1::basic_string<char>, std::__1::basic_string<char> >, 48,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >' requested here
  typedef typename sparsetable<V,DEFAULT_GROUP_SIZE,A>::nonempty_iterator
                   ^
./src/hash_test_interface.h:83:27: note: in instantiation of template class
      'google::sparse_hashtable_iterator<std::__1::pair<const
      std::__1::basic_string<char>, std::__1::basic_string<char> >,
      std::__1::basic_string<char>, <anonymous>::Hasher,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SelectKey,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >' requested here
  class iterator : public HT::iterator {
                          ^
src/hashtable_test.cc:620:25: note: in instantiation of member class
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::iterator' requested here
  EXPECT_TRUE(this->ht_.begin() == this->ht_.end());
                        ^
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::TEST_onetype_HashtableAllTest_NormalIterators'
      requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:205:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type7> t;   \
                                                                   ^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/__config:494:24: note:
      template is declared here
template <bool> struct __static_assert_test;
                       ^
src/hashtable_test.cc:624:20: error: invalid operands to binary expression
      ('typename HashtableInterface_SparseHashMap<basic_string<char>,
      basic_string<char>, Hasher, Hasher, Alloc<basic_string<char>, unsigned
      long, 18446744073709551615> >::iterator' and
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::iterator')
    EXPECT_TRUE(it != this->ht_.end());
                ~~ ^  ~~~~~~~~~~~~~~~
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::TEST_onetype_HashtableAllTest_NormalIterators'
      requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:205:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type7> t;   \
                                                                   ^
./src/sparsehash/internal/libc_allocator_with_realloc.h:112:13: note: candidate
      template ignored: could not match
      'libc_allocator_with_realloc<type-parameter-0-0>' against
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::iterator'
inline bool operator!=(const libc_allocator_with_realloc<T>&,
            ^
src/hashtable_test.cc:625:5: error: cannot increment value of type 'typename
      HashtableInterface_SparseHashMap<basic_string<char>, basic_string<char>,
      Hasher, Hasher, Alloc<basic_string<char>, unsigned long,
      18446744073709551615> >::iterator'
    ++it;
    ^ ~~
src/hashtable_test.cc:626:20: error: invalid operands to binary expression
      ('typename HashtableInterface_SparseHashMap<basic_string<char>,
      basic_string<char>, Hasher, Hasher, Alloc<basic_string<char>, unsigned
      long, 18446744073709551615> >::iterator' and
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::iterator')
    EXPECT_TRUE(it == this->ht_.end());
                ~~ ^  ~~~~~~~~~~~~~~~
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
./src/sparsehash/internal/libc_allocator_with_realloc.h:106:13: note: candidate
      template ignored: could not match
      'libc_allocator_with_realloc<type-parameter-0-0>' against
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::iterator'
inline bool operator==(const libc_allocator_with_realloc<T>&,
            ^
In file included from src/hashtable_test.cc:63:
In file included from ./src/hash_test_interface.h:50:
./src/sparsehash/internal/sparsehashtable.h:376:41: error: no matching
      constructor for initialization of 'iterator' (aka
      'sparse_hashtable_iterator<std::__1::pair<const
      std::__1::basic_string<char>, std::__1::basic_string<char> >,
      std::__1::basic_string<char>, <anonymous>::Hasher,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SelectKey,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >')
  iterator begin()             { return iterator(this, table.nonempty_begin(),
                                        ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/sparsehash/sparse_hash_map:153:63: note: in instantiation of member
      function 'google::sparse_hashtable<std::__1::pair<const
      std::__1::basic_string<char>, std::__1::basic_string<char> >,
      std::__1::basic_string<char>, <anonymous>::Hasher,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SelectKey,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::begin' requested here
  iterator begin()                               { return rep.begin(); }
                                                              ^
./src/hash_test_interface.h:144:25: note: in instantiation of member function
      'google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::begin' requested here
    return iterator(ht_.begin(), this);
                        ^
src/hashtable_test.cc:620:25: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::begin' requested here
  EXPECT_TRUE(this->ht_.begin() == this->ht_.end());
                        ^
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::TEST_onetype_HashtableAllTest_NormalIterators'
      requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:205:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type7> t;   \
                                                                   ^
./src/sparsehash/internal/sparsehashtable.h:179:3: note: candidate constructor
      not viable: no known conversion from 'nonempty_iterator' (aka
      'two_d_iterator<std::vector<sparsegroup<value_type, 48, value_alloc_type>,
      vector_alloc> >') to 'st_iterator' (aka 'int') for 2nd argument
  sparse_hashtable_iterator(const sparse_hashtable<V,K,HF,ExK,SetK,EqK,A> *h,
  ^
./src/sparsehash/internal/sparsehashtable.h:182:3: note: candidate constructor
      not viable: requires 0 arguments, but 3 were provided
  sparse_hashtable_iterator() { }      // not ever used internally
  ^
./src/sparsehash/internal/sparsehashtable.h:161:8: note: candidate constructor
      (the implicit copy constructor) not viable: requires 1 argument, but 3
      were provided
struct sparse_hashtable_iterator {
       ^
In file included from src/hashtable_test.cc:63:
./src/hash_test_interface.h:88:15: error: type 'typename
      sparse_hash_map<basic_string<char>, basic_string<char>, Hasher, Hasher,
      Alloc<basic_string<char>, unsigned long, 18446744073709551615>
      >::iterator' (aka 'sparse_hashtable_iterator<std::__1::pair<const
      std::__1::basic_string<char>, std::__1::basic_string<char> >,
      std::__1::basic_string<char>, <anonymous>::Hasher,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SelectKey,
      google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >::SetKey, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> >') is not a direct or virtual base of
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::iterator'
        : HT::iterator(it), parent_(parent) { }
              ^~~~~~~~
./src/hash_test_interface.h:144:12: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::iterator::iterator' requested here
    return iterator(ht_.begin(), this);
           ^
src/hashtable_test.cc:620:25: note: in instantiation of member function
      'google::BaseHashtableInterface<google::sparse_hash_map<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::begin' requested here
  EXPECT_TRUE(this->ht_.begin() == this->ht_.end());
                        ^
./src/testutil.h:51:9: note: expanded from macro 'EXPECT_TRUE'
  if (!(cond)) {                                        \
        ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::Run' requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:171:7: note: expanded from macro 'TYPED_TEST'
      Run();                                                            \
      ^
src/hashtable_test.cc:619:1: note: in instantiation of member function
      '<anonymous
      namespace>::TEST_onetype_HashtableAllTest_NormalIterators<google::HashtableInterface_SparseHashMap<std::__1::basic_string<char>,
      std::__1::basic_string<char>, <anonymous>::Hasher, <anonymous>::Hasher,
      <anonymous>::Alloc<std::__1::basic_string<char>, unsigned long,
      18446744073709551615> > >::TEST_onetype_HashtableAllTest_NormalIterators'
      requested here
TYPED_TEST(HashtableAllTest, NormalIterators) {
^
./src/testutil.h:205:68: note: expanded from macro 'TYPED_TEST'
        TEST_onetype_##superclass##_##testname<superclass##_type7> t;   \
                                                                   ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
make[2]: *** [hashtable_test.o] Error 1

make[1]: *** [all] Error 2
make: *** [sparsehash] Error 2




Reply all
Reply to author
Forward
0 new messages