Skip to content

error: ‘shared_ptr’ in namespace ‘std’ does not name a template type

Context

I'm trying to build buildbox-common 0.44 on Arch Linux 64-bit (gcc 11.1.0) but it fails with:

In file included from /build/buildbox-common/src/buildbox-common/buildbox-common/buildboxcommonmetrics/buildboxcommonmetrics_metricsconfigurator.cpp:17:
/build/buildbox-common/src/buildbox-common/buildbox-common/buildboxcommonmetrics/buildboxcommonmetrics_metricsconfigurator.h:74:17: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type
   74 |     static std::shared_ptr<PublisherType>
      |                 ^~~~~~~~~~
/build/buildbox-common/src/buildbox-common/buildbox-common/buildboxcommonmetrics/buildboxcommonmetrics_metricsconfigurator.h:28:1: note: ‘std::shared_ptr’ is defined in header ‘<memory>’; did you forget to ‘#include <memory>’?
   27 | #include <buildboxcommonmetrics_totaldurationmetricvalue.h>
  +++ |+#include <memory>
   28 | 
[ 37%] Building CXX object CMakeFiles/buildboxcommon.dir/protos/build/bazel/remote/asset/v1/remote_asset.pb.cc.o
make[2]: *** [CMakeFiles/buildboxcommon.dir/build.make:762: CMakeFiles/buildboxcommon.dir/buildbox-common/buildboxcommonmetrics/buildboxcommonmetrics_metricsconfigurator.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:780: CMakeFiles/buildboxcommon.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

Task Description

Describe the steps to take / implementation plan. If it's a bug, do you know how it may be tackled?

  • A check-list could be used here.

Acceptance Criteria

Identify how this is to be proven done before the issues can be closed, eg. links to the relevant documentation completed or demo location, whatever it is that is that is being 'delivered' here.

Consider whether the following are required, and complete if so:

  • Unit tests
  • Metrics
  • Documentation update(s)