diff --git a/Makefile b/Makefile
index 9c60c2c111..c90ae665bf 100644
--- a/Makefile
+++ b/Makefile
@@ -66,7 +66,9 @@ endif
 TEST_LIBS     := $(DEP_DIR)benchmark/src/libbenchmark.a $(DEP_DIR)protobuf/src/.libs/libprotobuf.a
 ABSL_LIBS     := \
 	$(DEP_DIR)abseil-cpp/absl/base/libabsl_*.a \
+	$(DEP_DIR)abseil-cpp/absl/container/libabsl_*.a \
 	$(DEP_DIR)abseil-cpp/absl/debugging/libabsl_*.a \
+	$(DEP_DIR)abseil-cpp/absl/hash/libabsl_*.a \
 	$(DEP_DIR)abseil-cpp/absl/numeric/libabsl_*.a \
 	$(DEP_DIR)abseil-cpp/absl/status/libabsl_*.a \
 	$(DEP_DIR)abseil-cpp/absl/strings/libabsl_*.a \
diff --git a/physics/discrete_trajectory_body.hpp b/physics/discrete_trajectory_body.hpp
index c0dfa22417..6a004b3665 100644
--- a/physics/discrete_trajectory_body.hpp
+++ b/physics/discrete_trajectory_body.hpp
@@ -185,7 +185,7 @@ DiscreteTrajectory<Frame>::NewSegment() {
 }
 
 template<typename Frame>
-typename DiscreteTrajectory<Frame>::DiscreteTrajectory
+DiscreteTrajectory<Frame>
 DiscreteTrajectory<Frame>::DetachSegments(SegmentIterator const begin) {
   DiscreteTrajectory detached(uninitialized);
 
diff --git a/physics/discrete_trajectory_segment_body.hpp b/physics/discrete_trajectory_segment_body.hpp
index 7bac64e275..aa2e68d183 100644
--- a/physics/discrete_trajectory_segment_body.hpp
+++ b/physics/discrete_trajectory_segment_body.hpp
@@ -517,7 +517,8 @@ void DiscreteTrajectorySegment<Frame>::WriteToMessage(
         serialized_downsampling_parameters->mutable_tolerance());
   }
   message->set_number_of_dense_points(
-      std::max(0LL, number_of_dense_points_ - number_of_points_to_skip_at_end));
+      std::max<std::int64_t>(
+          0, number_of_dense_points_ - number_of_points_to_skip_at_end));
 
   // Convert the |exact| vector into a set, and add the extremities.  This
   // ensures that we don't have redundancies.  The set is sorted by time to