Closed 0mp closed 4 years ago
Logs when building with GCC:
CXX src/libstore/s3-binary-cache-store.o
In file included from src/libutil/util.hh:4,
from src/libutil/serialise.hh:6,
from src/libutil/hash.hh:4,
from src/libstore/store-api.hh:3,
from src/libstore/binary-cache-store.hh:4,
from src/libstore/s3-binary-cache-store.hh:3,
from src/libstore/s3-binary-cache-store.cc:4:
src/libstore/s3-binary-cache-store.cc: In member function 'virtual void nix::AwsLogger::ProcessFormattedStatement(Aws::String&&)':
src/libstore/s3-binary-cache-store.cc:57:32: error: invalid initialization of reference of type 'const string&' {aka 'const std::__cxx11::basic_string<char>&'} from expression of type 'Aws::String' {aka 'std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >'}
57 | debug("AWS: %s", chomp(statement));
| ^~~~~~~~~
src/libutil/logging.hh:150:36: note: in definition of macro 'printMsg'
150 | logger->log(level, fmt(args)); \
| ^~~~
src/libstore/s3-binary-cache-store.cc:57:9: note: in expansion of macro 'debug'
57 | debug("AWS: %s", chomp(statement));
| ^~~~~
In file included from src/libutil/serialise.hh:6,
from src/libutil/hash.hh:4,
from src/libstore/store-api.hh:3,
from src/libstore/binary-cache-store.hh:4,
from src/libstore/s3-binary-cache-store.hh:3,
from src/libstore/s3-binary-cache-store.cc:4:
src/libutil/util.hh:353:29: note: in passing argument 1 of 'std::string nix::chomp(const string&)'
353 | string chomp(const string & s);
| ~~~~~~~~~~~~~~~^
src/libstore/s3-binary-cache-store.cc: In member function 'nix::S3Helper::DownloadResult nix::S3Helper::getObject(const string&, const string&)':
src/libstore/s3-binary-cache-store.cc:142:31: error: no matching function for call to 'Aws::S3::Model::GetObjectRequest::WithBucket(const string&)'
142 | .WithBucket(bucketName)
| ^
In file included from src/libstore/s3-binary-cache-store.cc:22:
/usr/local/include/aws/s3/model/GetObjectRequest.h:84:30: note: candidate: 'Aws::S3::Model::GetObjectRequest& Aws::S3::Model::GetObjectRequest::WithBucket(const String&)'
84 | inline GetObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/GetObjectRequest.h:84:60: note: no known conversion for argument 1 from 'const string' {aka 'const std::__cxx11::basic_string<char>'} to 'const String&' {aka 'const std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&'}
84 | inline GetObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/GetObjectRequest.h:89:30: note: candidate: 'Aws::S3::Model::GetObjectRequest& Aws::S3::Model::GetObjectRequest::WithBucket(Aws::String&&)'
89 | inline GetObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/GetObjectRequest.h:89:55: note: no known conversion for argument 1 from 'const string' {aka 'const std::__cxx11::basic_string<char>'} to 'Aws::String&&' {aka 'std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&&'}
89 | inline GetObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/GetObjectRequest.h:94:30: note: candidate: 'Aws::S3::Model::GetObjectRequest& Aws::S3::Model::GetObjectRequest::WithBucket(const char*)'
94 | inline GetObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/GetObjectRequest.h:94:53: note: no known conversion for argument 1 from 'const string' {aka 'const std::__cxx11::basic_string<char>'} to 'const char*'
94 | inline GetObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~^~~~~
src/libstore/s3-binary-cache-store.cc: In member function 'virtual bool nix::S3BinaryCacheStoreImpl::fileExists(const string&)':
src/libstore/s3-binary-cache-store.cc:241:35: error: no matching function for call to 'Aws::S3::Model::HeadObjectRequest::WithBucket(std::string&)'
241 | .WithBucket(bucketName)
| ^
In file included from src/libstore/s3-binary-cache-store.cc:23:
/usr/local/include/aws/s3/model/HeadObjectRequest.h:84:31: note: candidate: 'Aws::S3::Model::HeadObjectRequest& Aws::S3::Model::HeadObjectRequest::WithBucket(const String&)'
84 | inline HeadObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/HeadObjectRequest.h:84:61: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const String&' {aka 'const std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&'}
84 | inline HeadObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/HeadObjectRequest.h:89:31: note: candidate: 'Aws::S3::Model::HeadObjectRequest& Aws::S3::Model::HeadObjectRequest::WithBucket(Aws::String&&)'
89 | inline HeadObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/HeadObjectRequest.h:89:56: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'Aws::String&&' {aka 'std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&&'}
89 | inline HeadObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/HeadObjectRequest.h:94:31: note: candidate: 'Aws::S3::Model::HeadObjectRequest& Aws::S3::Model::HeadObjectRequest::WithBucket(const char*)'
94 | inline HeadObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/HeadObjectRequest.h:94:54: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const char*'
94 | inline HeadObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~^~~~~
src/libstore/s3-binary-cache-store.cc: In member function 'void nix::S3BinaryCacheStoreImpl::uploadFile(const string&, const string&, const string&, const string&)':
src/libstore/s3-binary-cache-store.cc:307:51: error: no matching function for call to 'Aws::Transfer::TransferManager::UploadFile(std::shared_ptr<basic_istringstream_nocopy<char> >&, std::string&, const string&, const string&, Aws::Map<std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> > >, std::nullptr_t)'
307 | nullptr /*, contentEncoding */);
| ^
In file included from src/libstore/s3-binary-cache-store.cc:26:
/usr/local/include/aws/transfer/TransferManager.h:139:45: note: candidate: 'std::shared_ptr<Aws::Transfer::TransferHandle> Aws::Transfer::TransferManager::UploadFile(const String&, const String&, const String&, const String&, Aws::Map<std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> > >&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)'
139 | std::shared_ptr<TransferHandle> UploadFile(const Aws::String& fileName,
| ^~~~~~~~~~
/usr/local/include/aws/transfer/TransferManager.h:139:75: note: no known conversion for argument 1 from 'std::shared_ptr<basic_istringstream_nocopy<char> >' to 'const String&' {aka 'const std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&'}
139 | std::shared_ptr<TransferHandle> UploadFile(const Aws::String& fileName,
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~
/usr/local/include/aws/transfer/TransferManager.h:150:45: note: candidate: 'std::shared_ptr<Aws::Transfer::TransferHandle> Aws::Transfer::TransferManager::UploadFile(const std::shared_ptr<std::basic_iostream<char> >&, const String&, const String&, const String&, Aws::Map<std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> > >&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&)'
150 | std::shared_ptr<TransferHandle> UploadFile(const std::shared_ptr<Aws::IOStream>& stream,
| ^~~~~~~~~~
/usr/local/include/aws/transfer/TransferManager.h:151:75: note: no known conversion for argument 2 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const String&' {aka 'const std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&'}
151 | const Aws::String& bucketName,
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
src/libstore/s3-binary-cache-store.cc:323:39: error: no matching function for call to 'Aws::S3::Model::PutObjectRequest::WithBucket(std::string&)'
323 | .WithBucket(bucketName)
| ^
In file included from src/libstore/s3-binary-cache-store.cc:25:
/usr/local/include/aws/s3/model/PutObjectRequest.h:119:30: note: candidate: 'Aws::S3::Model::PutObjectRequest& Aws::S3::Model::PutObjectRequest::WithBucket(const String&)'
119 | inline PutObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/PutObjectRequest.h:119:60: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const String&' {aka 'const std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&'}
119 | inline PutObjectRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/PutObjectRequest.h:124:30: note: candidate: 'Aws::S3::Model::PutObjectRequest& Aws::S3::Model::PutObjectRequest::WithBucket(Aws::String&&)'
124 | inline PutObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/PutObjectRequest.h:124:55: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'Aws::String&&' {aka 'std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&&'}
124 | inline PutObjectRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/PutObjectRequest.h:129:30: note: candidate: 'Aws::S3::Model::PutObjectRequest& Aws::S3::Model::PutObjectRequest::WithBucket(const char*)'
129 | inline PutObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/PutObjectRequest.h:129:53: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const char*'
129 | inline PutObjectRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~^~~~~
src/libstore/s3-binary-cache-store.cc: In member function 'virtual nix::PathSet nix::S3BinaryCacheStoreImpl::queryAllValidPaths()':
src/libstore/s3-binary-cache-store.cc:396:43: error: no matching function for call to 'Aws::S3::Model::ListObjectsRequest::WithBucket(std::string&)'
396 | .WithBucket(bucketName)
| ^
In file included from src/libstore/s3-binary-cache-store.cc:24:
/usr/local/include/aws/s3/model/ListObjectsRequest.h:84:32: note: candidate: 'Aws::S3::Model::ListObjectsRequest& Aws::S3::Model::ListObjectsRequest::WithBucket(const String&)'
84 | inline ListObjectsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/ListObjectsRequest.h:84:62: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const String&' {aka 'const std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&'}
84 | inline ListObjectsRequest& WithBucket(const Aws::String& value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/ListObjectsRequest.h:89:32: note: candidate: 'Aws::S3::Model::ListObjectsRequest& Aws::S3::Model::ListObjectsRequest::WithBucket(Aws::String&&)'
89 | inline ListObjectsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/ListObjectsRequest.h:89:57: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'Aws::String&&' {aka 'std::__cxx11::basic_string<char, std::char_traits<char>, Aws::Allocator<char> >&&'}
89 | inline ListObjectsRequest& WithBucket(Aws::String&& value) { SetBucket(std::move(value)); return *this;}
| ~~~~~~~~~~~~~~^~~~~
/usr/local/include/aws/s3/model/ListObjectsRequest.h:94:32: note: candidate: 'Aws::S3::Model::ListObjectsRequest& Aws::S3::Model::ListObjectsRequest::WithBucket(const char*)'
94 | inline ListObjectsRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ^~~~~~~~~~
/usr/local/include/aws/s3/model/ListObjectsRequest.h:94:55: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'const char*'
94 | inline ListObjectsRequest& WithBucket(const char* value) { SetBucket(value); return *this;}
| ~~~~~~~~~~~~^~~~~
src/libstore/s3-binary-cache-store.cc:405:32: error: unable to deduce 'auto&&' from 'contents'
405 | for (auto object : contents) {
| ^~~~~~~~
In file included from /usr/local/lib/gcc9/include/c++/x86_64-portbld-freebsd12.1/bits/c++allocator.h:33,
from /usr/local/lib/gcc9/include/c++/bits/allocator.h:46,
from /usr/local/lib/gcc9/include/c++/memory:63,
from src/libutil/ref.hh:3,
from src/libstore/s3.hh:5,
from src/libstore/s3-binary-cache-store.cc:3:
/usr/local/lib/gcc9/include/c++/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = nix::AwsLogger; _Args = {const Aws::Utils::Logging::LogLevel&}; _Tp = nix::AwsLogger]':
/usr/local/lib/gcc9/include/c++/bits/alloc_traits.h:482:2: required from 'static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = nix::AwsLogger; _Args = {const Aws::Utils::Logging::LogLevel&}; _Tp = nix::AwsLogger; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<nix::AwsLogger>]'
/usr/local/lib/gcc9/include/c++/bits/shared_ptr_base.h:548:39: required from 'std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {const Aws::Utils::Logging::LogLevel&}; _Tp = nix::AwsLogger; _Alloc = std::allocator<nix::AwsLogger>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
/usr/local/lib/gcc9/include/c++/bits/shared_ptr_base.h:679:16: required from 'std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = nix::AwsLogger; _Alloc = std::allocator<nix::AwsLogger>; _Args = {const Aws::Utils::Logging::LogLevel&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
/usr/local/lib/gcc9/include/c++/bits/shared_ptr_base.h:1344:71: required from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<nix::AwsLogger>; _Args = {const Aws::Utils::Logging::LogLevel&}; _Tp = nix::AwsLogger; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
/usr/local/lib/gcc9/include/c++/bits/shared_ptr.h:359:59: required from 'std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<nix::AwsLogger>; _Args = {const Aws::Utils::Logging::LogLevel&}; _Tp = nix::AwsLogger]'
/usr/local/lib/gcc9/include/c++/bits/shared_ptr.h:701:14: required from 'std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = nix::AwsLogger; _Alloc = std::allocator<nix::AwsLogger>; _Args = {const Aws::Utils::Logging::LogLevel&}]'
/usr/local/lib/gcc9/include/c++/bits/shared_ptr.h:717:39: required from 'std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = nix::AwsLogger; _Args = {const Aws::Utils::Logging::LogLevel&}]'
src/libstore/s3-binary-cache-store.cc:77:83: required from here
/usr/local/lib/gcc9/include/c++/ext/new_allocator.h:145:20: error: invalid new-expression of abstract class type 'nix::AwsLogger'
145 | noexcept(noexcept(::new((void *)__p)
| ^~~~~~~~~~~~~~~~~~
146 | _Up(std::forward<_Args>(__args)...)))
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libstore/s3-binary-cache-store.cc:51:7: note: because the following virtual functions are pure within 'nix::AwsLogger':
51 | class AwsLogger : public Aws::Utils::Logging::FormattedLogSystem
| ^~~~~~~~~
In file included from /usr/local/include/aws/core/Aws.h:18,
from src/libstore/s3-binary-cache-store.cc:12:
/usr/local/include/aws/core/utils/logging/LogSystemInterface.h:56:30: note: 'virtual void Aws::Utils::Logging::LogSystemInterface::Flush()'
56 | virtual void Flush() = 0;
| ^~~~~
gmake[1]: *** [mk/patterns.mk:3: src/libstore/s3-binary-cache-store.o] Error 1
gmake[1]: Leaving directory '/wrkdirs/usr/ports/sysutils/nix/work/nix-2.3.1'
*** Error code 1
Stop.
Patching src/libutil/logging.hh with
--- src/libutil/logging.hh.orig 2019-11-25 18:38:58 UTC
+++ src/libutil/logging.hh
@@ -147,7 +147,7 @@ extern Verbosity verbosity; /* suppress msgs > this */
#define printMsg(level, args...) \
do { \
if (level <= nix::verbosity) { \
- logger->log(level, fmt(args)); \
+ logger->log(level, fmt((const std::string &)args)); \
} \
} while (0)
results in
CXX src/libutil/serialise.o
src/libutil/archive.cc:93:21: error: C-style cast from rvalue to reference type 'const std::string &' (aka
'const basic_string<char, char_traits<char>, allocator<char> > &')
debug(format("removing case hack suffix from '%1%'") % (path + "/" + i.name));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libutil/logging.hh:157:24: note: expanded from macro 'debug'
#define debug(args...) printMsg(lvlDebug, args)
^~~~~~~~~~~~~~~~~~~~~~~~
src/libutil/logging.hh:150:36: note: expanded from macro 'printMsg'
logger->log(level, fmt((const std::string &)args)); \
^~~~~~~~~~~~~~~~~~~~~~~~~
src/libutil/archive.cc:257:29: error: C-style cast from rvalue to reference type 'const std::string &'
(aka 'const basic_string<char, char_traits<char>, allocator<char> > &')
debug(format("case collision between '%1%' and '%2%'") % i->first % name);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libutil/logging.hh:157:24: note: expanded from macro 'debug'
#define debug(args...) printMsg(lvlDebug, args)
^~~~~~~~~~~~~~~~~~~~~~~~
src/libutil/logging.hh:150:36: note: expanded from macro 'printMsg'
logger->log(level, fmt((const std::string &)args)); \
^~~~~~~~~~~~~~~~~~~~~~~~~
CXX src/libutil/thread-pool.o
2 errors generated.
gmake[1]: *** [mk/patterns.mk:3: src/libutil/archive.o] Error 1
gmake[1]: *** Waiting for unfinished jobs....
gmake[1]: Leaving directory '/wrkdirs/usr/ports/sysutils/nix/work/nix-2.3.1'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1
Stop.
make: stopped in /usr/ports/sysutils/nix
I've address many of those compilation erros by helping C++ to convert strings to char pointers with c_str()
.
Here are the remaining errors:
CXX src/libmain/common-args.o
In file included from src/libstore/s3-binary-cache-store.cc:3:
In file included from src/libstore/s3.hh:5:
In file included from src/libutil/ref.hh:3:
/usr/include/c++/v1/memory:4325:5: error: static_assert failed due to requirement 'is_constructible<nix::AwsLogger, const
Aws::Utils::Logging::LogLevel &>::value' "Can't construct object in make_shared"
static_assert( is_constructible<_Tp, _Args...>::value, "Can't construct object in make_shared" );
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/memory:4710:29: note: in instantiation of function template specialization
'std::__1::shared_ptr<nix::AwsLogger>::make_shared<const Aws::Utils::Logging::LogLevel &>' requested here
return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
^
src/libstore/s3-binary-cache-store.cc:77:29: note: in instantiation of function template specialization
'std::__1::make_shared<nix::AwsLogger, const Aws::Utils::Logging::LogLevel &>' requested here
return std::make_shared<AwsLogger>(options.loggingOptions.logLevel);
^
In file included from src/libstore/s3-binary-cache-store.cc:3:
In file included from src/libstore/s3.hh:5:
In file included from src/libutil/ref.hh:3:
/usr/include/c++/v1/memory:2168:7: error: field type 'nix::AwsLogger' is an abstract class
_Tp __value_;
^
/usr/include/c++/v1/memory:2212:35: note: in instantiation of template class 'std::__1::__compressed_pair_elem<nix::AwsLogger,
1, false>' requested here
private __compressed_pair_elem<_T2, 1> {
^
/usr/include/c++/v1/memory:3661:36: note: in instantiation of template class
'std::__1::__compressed_pair<std::__1::allocator<nix::AwsLogger>, nix::AwsLogger>' requested here
__compressed_pair<_Alloc, _Tp> __data_;
^
/usr/include/c++/v1/memory:4331:26: note: in instantiation of template class 'std::__1::__shared_ptr_emplace<nix::AwsLogger,
std::__1::allocator<nix::AwsLogger> >' requested here
::new(__hold2.get()) _CntrlBlk(__a2, _VSTD::forward<_Args>(__args)...);
^
/usr/include/c++/v1/memory:4710:29: note: in instantiation of function template specialization
'std::__1::shared_ptr<nix::AwsLogger>::make_shared<const Aws::Utils::Logging::LogLevel &>' requested here
return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
^
src/libstore/s3-binary-cache-store.cc:77:29: note: in instantiation of function template specialization
'std::__1::make_shared<nix::AwsLogger, const Aws::Utils::Logging::LogLevel &>' requested here
return std::make_shared<AwsLogger>(options.loggingOptions.logLevel);
^
/usr/local/include/aws/core/utils/logging/LogSystemInterface.h:56:30: note: unimplemented pure virtual method 'Flush' in
'AwsLogger'
virtual void Flush() = 0;
^
In file included from src/libstore/s3-binary-cache-store.cc:3:
In file included from src/libstore/s3.hh:5:
In file included from src/libutil/ref.hh:3:
/usr/include/c++/v1/memory:4334:28: error: assigning to 'std::__1::__shared_weak_count *' from incompatible type
'std::__1::unique_ptr<std::__1::__shared_ptr_emplace<nix::AwsLogger, std::__1::allocator<nix::AwsLogger> >,
std::__1::__allocator_destructor<std::__1::allocator<std::__1::__shared_ptr_emplace<nix::AwsLogger,
std::__1::allocator<nix::AwsLogger> > > > >::pointer' (aka 'std::__1::__shared_ptr_emplace<nix::AwsLogger,
std::__1::allocator<nix::AwsLogger> > *')
__r.__cntrl_ = __hold2.release();
~~~~~~~~^~~~~~~~~
/usr/include/c++/v1/memory:4710:29: note: in instantiation of function template specialization
'std::__1::shared_ptr<nix::AwsLogger>::make_shared<const Aws::Utils::Logging::LogLevel &>' requested here
return shared_ptr<_Tp>::make_shared(_VSTD::forward<_Args>(__args)...);
^
src/libstore/s3-binary-cache-store.cc:77:29: note: in instantiation of function template specialization
'std::__1::make_shared<nix::AwsLogger, const Aws::Utils::Logging::LogLevel &>' requested here
return std::make_shared<AwsLogger>(options.loggingOptions.logLevel);
^
CXX src/libmain/shared.o
3 errors generated.
gmake[1]: *** [mk/patterns.mk:3: src/libstore/s3-binary-cache-store.o] Error 1
gmake[1]: *** Waiting for unfinished jobs....
1 warning generated.
gmake[1]: Leaving directory '/wrkdirs/usr/ports/sysutils/nix/work/nix-2.3.1'
Fixed in 603396fe40fe50ac5e1f74390c73e6f025acebf6.
Adding
aws-sdk-cpp>0:devel/aws-sdk-cpp
toBUILD_DEPENDS
results in the following compilation errors: