Compile errors involving uint64 and absl

Skip to first unread message

Funk Bros

Jul 21, 2019, 6:23:36 AM7/21/19
to s2geometry-io
Compiling on g++ 6.3.0 I'm seeing these errors:

[  6%] Building CXX object CMakeFiles/s2.dir/src/s2/
In file included from /home/chateauferret/src/s2geometry/src/s2/encoded_uint_vector.h:23:0,
                 from /home/chateauferret/src/s2geometry/src/s2/encoded_s2cell_id_vector.h:22,
                 from /home/chateauferret/src/s2geometry/src/s2/
/home/chateauferret/src/s2geometry/src/s2/third_party/absl/base/internal/unaligned_access.h:289:8: error: ‘uint64’ does not name a type
 inline uint64 UnalignedLoad64(const void *p) {
/home/chateauferret/src/s2geometry/src/s2/third_party/absl/base/internal/unaligned_access.h:299:39: error: ‘uint64’ has not been declared
 inline void UnalignedStore64(void *p, uint64 v) { memcpy(p, &v, sizeof v); }
/home/chateauferret/src/s2geometry/src/s2/encoded_uint_vector.h: In function ‘T s2coding::GetUintWithLength(const char*, int)’:
/home/chateauferret/src/s2geometry/src/s2/third_party/absl/base/internal/unaligned_access.h:309:4: error: ‘UnalignedLoad64’ is not a member of ‘absl::base_internal’
/home/chateauferret/src/s2geometry/src/s2/encoded_uint_vector.h:166:32: note: in expansion of macro ‘ABSL_INTERNAL_UNALIGNED_LOAD64’
     if (sizeof(T) == 8) return ABSL_INTERNAL_UNALIGNED_LOAD64(ptr);

And a bunch of similar.

ABSL is included in the s2 archive and is being compiled as part of the build, but the build of ABSL is failing on declarations that I think it itself makes. If I download ABSL source from its github and compile that it builds with no issues so I can't see why it wouldn't build as part of s2. 

Anyone else seen this? 
Reply all
Reply to author
0 new messages