LoopPerfect / buckaroo

The decentralized package manager for C++ and friends 🏝️
https://buckaroo.pm
MIT License
933 stars 33 forks source link

Broken imports #362

Open zoonman opened 4 years ago

zoonman commented 4 years ago

Include fails to import mongodb driver.

Description

I am unable to run or compile the project.

Expected Behavior

The project should run flawlessly.

Actual Behavior

 buck run :app
Using additional configuration options from .buckconfig.d/.buckconfig.buckaroo
Action graph will be rebuilt because files have been added or removed.
main.cpp:2:10: fatal error: 'bsoncxx/builder/stream/document.hpp' file not found
#include <bsoncxx/builder/stream/document.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Building: finished in 0.5 sec (100%) 79/80 jobs, 2 updated
  Total time: 0.7 sec
Command failed with exit code 1.

command: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++, @/Users/zoonman/Projects/cpp/pe/buck-out/bin/app#compile-main.cpp.oa5b6a1ba,macosx-x86_64/ppandcompile.argsfile]

stderr: main.cpp:2:10: fatal error: 'bsoncxx/builder/stream/document.hpp' file not found
#include <bsoncxx/builder/stream/document.hpp>
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
    When running <c++ preprocess_and_compile>.
    When building rule //:app#compile-main.cpp.oa5b6a1ba,macosx-x86_64.

Possible Fix

Steps to Reproduce

  1. buckaroo quickstart
  2. buckaroo add github.com/buckaroo-pm/mongo-cxx-driver
  3. Add to main.cpp
    
    #include <iostream>
    #include <bsoncxx/builder/stream/document.hpp>
    #include <bsoncxx/json.hpp>

include <mongocxx/client.hpp>

include <mongocxx/instance.hpp>

int main() { std::cout << "Hello, world. " << std::endl;

mongocxx::instance inst{};
mongocxx::client conn{mongocxx::uri{}};

bsoncxx::builder::stream::document document{};

auto collection = conn["testdb"]["testcollection"];
document << "hello" << "world";

collection.insert_one(document.view());
auto cursor = collection.find({});

for (auto&& doc : cursor) {
    std::cout << bsoncxx::to_json(doc) << std::endl;
}

return 0; }

4. `buck run :app`

## Context

I am trying to build my first application using PM for C++ code.
I have used `npm`, `composer`, `bundler` in the past and had no problems.

## Your Environment

buckaroo version 2.2.0

buck --version buck version 83546bc988fa848c1c2418a43395cbb09a864acd

uname -a Darwin zmMac.local 18.7.0 Darwin Kernel Version 18.7.0: Sun Dec 1 18:59:03 PST 2019; root:xnu-4903.278.19~1/RELEASE_X86_64 x86_64

macOS Mojave v10.14.6 (18G2022)

njlr commented 4 years ago

It looks like the mongo-cxx-driver package was not exporting any targets, so the link had to be done manually.

I have updated the package to with the exports now, so this should work after upgrading:

buckaroo upgrade

Unfortunately I don't have a Mac to verify the build is correct at the moment.

zoonman commented 4 years ago

It starts rebuilding but fails some time later (I run buck clean before actual compilation).

buck run :app
Using additional configuration options from .buckconfig.d/.buckconfig.buckaroo
Action graph will be rebuilt because files have been added or removed.
sed: 1: "/Users/zoonman/Projects ...": invalid command code z

sed: 1: "/Users/zoonman/Projects ...": invalid command code z

sed: 1: "/Users/zoonman/Projects ...": invalid command code z

sed: 1: "/Users/zoonman/Projects ...": invalid command code z

sed: 1: "/Users/zoonman/Projects ...": invalid command code z

sed: 1: "/Users/zoonman/Projects ...": invalid command code z

sed: 1: "/Users/zoonman/Projects ...": invalid command code z

Parsing buck files: finished in 1.9 sec
Building: finished in 0.8 sec (100%) 10/14 jobs, 10 updated
  Total time: 2.9 sec
Command failed with exit code 1.

command: [/bin/bash, -e, /Users/zoonman/Projects/cpp/pe/buckaroo/github/buckaroo-pm/mongo-c-driver/buck-out/tmp/genrule-758324758167708121.sh]

stderr: sed: 1: "/Users/zoonman/Projects ...": invalid command code z

    When running <genrule>.
    When building rule buckaroo.github.buckaroo-pm.mongo-c-driver//:bson-version.
zoonman commented 4 years ago

I think it is related to this issue https://github.com/andreafabrizi/Dropbox-Uploader/issues/117

zoonman commented 4 years ago

I had to replace bunch of sed -i with sed -i.bu in BUCK file to solve the errors but I still have a lot of compilation errors. I tried adding

[cxx]
  cxxflags = -std=c++14

and that also was unsuccessful. Not sure, what I need to do.

Here is the output:

zmMac:pe zoonman$ buck run :app 
Using additional configuration options from .buckconfig.d/.buckconfig.buckaroo
Action graph will be rebuilt because files have been added or removed.
In file included from main.cpp:2:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/document.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/key_context.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/value_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/array_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:17:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/array/view_or_value.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:19:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/stdx/optional.hpp:83:14: error: no member named 'optional' in namespace 'std'
using ::std::optional;
      ~~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/stdx/optional.hpp:84:14: error: no member named 'nullopt' in namespace 'std'
using ::std::nullopt;
      ~~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/stdx/optional.hpp:85:14: error: no member named 'make_optional' in namespace 'std'
using ::std::make_optional;
      ~~~~~~~^
In file included from main.cpp:2:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/document.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/key_context.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/value_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/array_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:17:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/array/view_or_value.hpp:20:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:137:11: error: no template named 'optional' in namespace 'bsoncxx::v_noabi::stdx'
    stdx::optional<Value> _value;
    ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:94:30: error: no member named 'nullopt' in namespace 'bsoncxx::v_noabi::stdx'
        other._value = stdx::nullopt;
                       ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:105:30: error: no member named 'nullopt' in namespace 'bsoncxx::v_noabi::stdx'
        other._value = stdx::nullopt;
                       ~~~~~~^
In file included from main.cpp:2:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/document.hpp:18:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/key_context.hpp:150:28: error: no viable conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const document::view'
        _core->concatenate(doc);
                           ^~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:43:20: note: candidate function
    BSONCXX_INLINE operator document::view() const {
                   ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const bsoncxx::v_noabi::document::view &' for 1st argument
class BSONCXX_API view {
                  ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'bsoncxx::v_noabi::document::view &&' for 1st argument
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/core.hpp:161:45: note: passing argument to parameter 'view' here
    core& concatenate(const document::view& view);
                                            ^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:19:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client_session.hpp:21:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/client_session.hpp:18:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/transaction.hpp:84:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<class read_concern> read_concern() const;
    ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/transaction.hpp:106:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<class write_concern> write_concern() const;
    ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/transaction.hpp:126:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<class read_preference> read_preference() const;
    ~~~~~~^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:19:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client_session.hpp:21:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/client_session.hpp:74:17: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    const stdx::optional<transaction>& default_transaction_opts() const;
          ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/client_session.hpp:78:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<transaction> _default_transaction_opts;
    ~~~~~~^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:19:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client_session.hpp:119:40: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    void start_transaction(const stdx::optional<options::transaction>& transaction_opts = {});
                                 ~~~~~~^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/database.hpp:21:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/string/view_or_value.hpp:56:11: error: type 'bsoncxx::view_or_value<stdx::string_view, std::string>' (aka 'view_or_value<basic_string_view<char>, basic_string<char, char_traits<char>, allocator<char> > >') is not a direct or virtual base of 'bsoncxx::v_noabi::string::view_or_value'
        : bsoncxx::view_or_value<stdx::string_view, std::string>(stdx::string_view(str)) {}
          ^~~~~~~~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/string/view_or_value.hpp:69:11: error: type 'bsoncxx::view_or_value<stdx::string_view, std::string>' (aka 'view_or_value<basic_string_view<char>, basic_string<char, char_traits<char>, allocator<char> > >') is not a direct or virtual base of 'bsoncxx::v_noabi::string::view_or_value'
        : bsoncxx::view_or_value<stdx::string_view, std::string>(stdx::string_view(str)) {}
          ^~~~~~~~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/string/view_or_value.hpp:101:16: error: no member named 'view' in 'bsoncxx::v_noabi::string::view_or_value'
    return lhs.view() == stdx::string_view(rhs);
           ~~~ ^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/database.hpp:23:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/collection.hpp:22:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/basic/array.hpp:19:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/basic/impl.hpp:18:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/basic/sub_document.hpp:94:28: error: no viable conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const document::view'
        _core->concatenate(doc);
                           ^~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:43:20: note: candidate function
    BSONCXX_INLINE operator document::view() const {
                   ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const bsoncxx::v_noabi::document::view &' for 1st argument
class BSONCXX_API view {
                  ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'bsoncxx::v_noabi::document::view &&' for 1st argument
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/core.hpp:161:45: note: passing argument to parameter 'view' here
    core& concatenate(const document::view& view);
                                            ^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/database.hpp:23:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/collection.hpp:30:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/bulk_write.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/model/write.hpp:20:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/model/delete_many.hpp:71:17: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    const stdx::optional<bsoncxx::document::view_or_value>& collation() const;
          ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/model/delete_many.hpp:76:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<bsoncxx::document::view_or_value> _collation;
    ~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
Parsing buck files: finished in 0.6 sec
Building: finished in 0.8 sec (100%) 119/121 jobs, 7 updated
  Total time: 1.4 sec
Command failed with exit code 1.

command: [/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++, @/Users/zoonman/Projects/cpp/pe/buck-out/bin/app#compile-main.cpp.oa5b6a1ba,macosx-x86_64/ppandcompile.argsfile]

stderr: In file included from main.cpp:2:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/document.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/key_context.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/value_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/array_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:17:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/array/view_or_value.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:19:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/stdx/optional.hpp:83:14: error: no member named 'optional' in namespace 'std'
using ::std::optional;
      ~~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/stdx/optional.hpp:84:14: error: no member named 'nullopt' in namespace 'std'
using ::std::nullopt;
      ~~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/stdx/optional.hpp:85:14: error: no member named 'make_optional' in namespace 'std'
using ::std::make_optional;
      ~~~~~~~^
In file included from main.cpp:2:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/document.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/key_context.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/value_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/array_context.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:17:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/array/view_or_value.hpp:20:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:137:11: error: no template named 'optional' in namespace 'bsoncxx::v_noabi::stdx'
    stdx::optional<Value> _value;
    ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:94:30: error: no member named 'nullopt' in namespace 'bsoncxx::v_noabi::stdx'
        other._value = stdx::nullopt;
                       ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/view_or_value.hpp:105:30: error: no member named 'nullopt' in namespace 'bsoncxx::v_noabi::stdx'
        other._value = stdx::nullopt;
                       ~~~~~~^
In file included from main.cpp:2:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/document.hpp:18:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/stream/key_context.hpp:150:28: error: no viable conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const document::view'
        _core->concatenate(doc);
                           ^~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:43:20: note: candidate function
    BSONCXX_INLINE operator document::view() const {
                   ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const bsoncxx::v_noabi::document::view &' for 1st argument
class BSONCXX_API view {
                  ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'bsoncxx::v_noabi::document::view &&' for 1st argument
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/core.hpp:161:45: note: passing argument to parameter 'view' here
    core& concatenate(const document::view& view);
                                            ^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:19:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client_session.hpp:21:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/client_session.hpp:18:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/transaction.hpp:84:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<class read_concern> read_concern() const;
    ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/transaction.hpp:106:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<class write_concern> write_concern() const;
    ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/transaction.hpp:126:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<class read_preference> read_preference() const;
    ~~~~~~^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:19:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client_session.hpp:21:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/client_session.hpp:74:17: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    const stdx::optional<transaction>& default_transaction_opts() const;
          ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/options/client_session.hpp:78:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<transaction> _default_transaction_opts;
    ~~~~~~^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:19:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client_session.hpp:119:40: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    void start_transaction(const stdx::optional<options::transaction>& transaction_opts = {});
                                 ~~~~~~^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/database.hpp:21:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/string/view_or_value.hpp:56:11: error: type 'bsoncxx::view_or_value<stdx::string_view, std::string>' (aka 'view_or_value<basic_string_view<char>, basic_string<char, char_traits<char>, allocator<char> > >') is not a direct or virtual base of 'bsoncxx::v_noabi::string::view_or_value'
        : bsoncxx::view_or_value<stdx::string_view, std::string>(stdx::string_view(str)) {}
          ^~~~~~~~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/string/view_or_value.hpp:69:11: error: type 'bsoncxx::view_or_value<stdx::string_view, std::string>' (aka 'view_or_value<basic_string_view<char>, basic_string<char, char_traits<char>, allocator<char> > >') is not a direct or virtual base of 'bsoncxx::v_noabi::string::view_or_value'
        : bsoncxx::view_or_value<stdx::string_view, std::string>(stdx::string_view(str)) {}
          ^~~~~~~~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/string/view_or_value.hpp:101:16: error: no member named 'view' in 'bsoncxx::v_noabi::string::view_or_value'
    return lhs.view() == stdx::string_view(rhs);
           ~~~ ^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/database.hpp:23:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/collection.hpp:22:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/basic/array.hpp:19:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/basic/impl.hpp:18:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/basic/sub_document.hpp:94:28: error: no viable conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const document::view'
        _core->concatenate(doc);
                           ^~~
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/concatenate.hpp:43:20: note: candidate function
    BSONCXX_INLINE operator document::view() const {
                   ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'const bsoncxx::v_noabi::document::view &' for 1st argument
class BSONCXX_API view {
                  ^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/document/view.hpp:33:19: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'bsoncxx::v_noabi::builder::concatenate_doc' to 'bsoncxx::v_noabi::document::view &&' for 1st argument
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/bsoncxx/builder/core.hpp:161:45: note: passing argument to parameter 'view' here
    core& concatenate(const document::view& view);
                                            ^
In file included from main.cpp:5:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/client.hpp:20:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/database.hpp:23:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/collection.hpp:30:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/bulk_write.hpp:18:
In file included from buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/model/write.hpp:20:
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/model/delete_many.hpp:71:17: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    const stdx::optional<bsoncxx::document::view_or_value>& collation() const;
          ~~~~~~^
buckaroo/github/buckaroo-pm/mongo-cxx-driver/src/mongocxx/model/delete_many.hpp:76:11: error: no template named 'optional' in namespace 'mongocxx::v_noabi::stdx'
    stdx::optional<bsoncxx::document::view_or_value> _collation;
    ~~~~~~^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
    When running <c++ preprocess_and_compile>.
    When building rule //:app#compile-main.cpp.oa5b6a1ba,macosx-x86_64.