| commit | 8a545eb46b6aae9c91861bb1104c7cdc530487ee | [log] [tgz] | 
|---|---|---|
| author | Sergiu Deitsch <sergiu.deitsch@gmail.com> | Sun Jun 08 12:57:49 2025 +0200 | 
| committer | Sergiu Deitsch <sergiu.deitsch@gmail.com> | Sun Jun 08 13:23:29 2025 +0200 | 
| tree | 02ab39dea99c17fb3c1d338022b94db14ac2578c | |
| parent | 83133357ddc4894639de3354c3b0fe3aff848819 [diff] | 
Update dependencies to support GCC 15
Previously, compiling using GCC failed with
  In file included from /usr/include/c++/15.1.1/cassert:46,
                   from <ceres-prefix>/third_party/abseil-cpp/absl/container/internal/container_memory.h:18,
                   from <ceres-prefix>/third_party/abseil-cpp/absl/container/flat_hash_map.h:40,
                   from <ceres-prefix>/third_party/abseil-cpp/absl/flags/reflection.h:29,
                   from <ceres-prefix>/third_party/abseil-cpp/absl/flags/reflection.cc:16:
  <ceres-prefix>/third_party/abseil-cpp/absl/container/internal/container_memory.h: In function ‘void* absl::lts_20240116::container_internal::Allocate(Alloc*, size_t)’:
  <ceres-prefix>/third_party/abseil-cpp/absl/container/internal/container_memory.h:66:27: error: ‘uintptr_t’ does not name a type [-Wtemplate-body]
     66 |   assert(reinterpret_cast<uintptr_t>(p) % Alignment == 0 &&
        |                           ^~~~~~~~~
  <ceres-prefix>/third_party/abseil-cpp/absl/container/internal/container_memory.h:31:1: note: ‘uintptr_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
     30 | #include "absl/utility/utility.h"
    +++ |+#include <cstdint>
     31 |
Additionally, the previous version of Abseil errouneously depends on
googletest when Ceres is consumed which results in issues with
downstream projects. We therefore update both dependencies to avoid
these issues.
Thanks to @adam-ce for figuring out the working versions of Abseil and
googletest.
Fixes #1140
Change-Id: Ie991da04491d42979d51b891a4565cabbb1c604b
Ceres Solver is an open source C++ library for modeling and solving large, complicated optimization problems. It is a feature rich, mature and performant library which has been used in production at Google since 2010. Ceres Solver can solve two kinds of problems.
Please see ceres-solver.org for more information.