sha1sum example?

604 views
Skip to first unread message

Caleb Cushing ( xenoterracide )

unread,
Sep 14, 2009, 3:18:26 PM9/14/09
to Crypto++ Users
can anyone give me an example of how to create a sha1sum given the
path? (fyi I'm using boost::filesystem for path's)

Peter Klotz

unread,
Sep 14, 2009, 4:01:37 PM9/14/09
to Crypto++ Users
Caleb Cushing ( xenoterracide ) wrote:
> can anyone give me an example of how to create a sha1sum given the
> path? (fyi I'm using boost::filesystem for path's)
>
Something like this should work:

#include <crypto++/sha.h>
#include <crypto++/hex.h>
#include <crypto++/files.h>

std::string getSHA1Hash(const boost::filesystem::path& p_file, bool
p_upperCase)
{
std::string result;
try
{
CryptoPP::SHA1 hash;
CryptoPP::FileSource(p_file.file_string().c_str(),true,new
CryptoPP::HashFilter(hash,new CryptoPP::HexEncoder(new
CryptoPP::StringSink(result),p_upperCase)));
}
catch (const std::exception& e) {
throw ... // some exception
}
return result;
}


Regards, Peter.

Caleb Cushing ( xenoterracide )

unread,
Sep 14, 2009, 9:43:55 PM9/14/09
to Crypto++ Users
what I ended up writing...

#include <cryptopp/sha.h>
#include <cryptopp/hex.h>
#include <cryptopp/files.h>
#include <boost/filesystem.hpp>
#include <string>
#include <iostream>

using namespace std;
using namespace boost::filesystem;

string getSha1Hash(const path &file, bool uppercase)
{
string result;
CryptoPP::SHA1 hash;
CryptoPP::FileSource(file.file_string().c_str(),true,
new CryptoPP::HashFilter(hash, new
CryptoPP::HexEncoder(
new CryptoPP::StringSink(result),uppercase)));
return result;
}

int main()
{
string sha1;
path file("test.txt");
sha1 = getSha1Hash(file, true);
cout << sha1 << endl;
}

It seems to have problems linking though...

g++ -lboost_filesystem -lcryptopp sha1.cpp

/tmp/cctxcX1W.o: In function `getSha1Hash
(boost::filesystem::basic_path<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
boost::filesystem::path_traits> const&,
bool)':
sha1.cpp:(.text+0x5a): undefined reference to
`CryptoPP::StringSinkTemplate<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >::StringSinkTemplate
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
>&)'
sha1.cpp:(.text+0x117): undefined reference to
`CryptoPP::DEFAULT_CHANNEL'
sha1.cpp:(.text+0x11d): undefined reference to
`CryptoPP::DEFAULT_CHANNEL'
sha1.cpp:(.text+0x133): undefined reference to
`CryptoPP::HashFilter::HashFilter(CryptoPP::HashTransformation&,
CryptoPP::BufferedTransformation*, bool, int, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)'
/tmp/cctxcX1W.o: In function
`CryptoPP::BufferedTransformation::BufferedTransformation
()':
sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationC2Ev
[CryptoPP::BufferedTransformation::BufferedTransformation()]+0x19):
undefined reference to `CryptoPP::Algorithm::Algorithm
(bool)'
sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationC2Ev
[CryptoPP::BufferedTransformation::BufferedTransformation()]+0x34):
undefined reference to `vtable for
CryptoPP::BufferedTransformation'
sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationC2Ev
[CryptoPP::BufferedTransformation::BufferedTransformation()]+0x40):
undefined reference to `vtable for
CryptoPP::BufferedTransformation'
/tmp/cctxcX1W.o: In function
`CryptoPP::BufferedTransformation::~BufferedTransformation
()':
sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationD2Ev
[CryptoPP::BufferedTransformation::~BufferedTransformation()]+0x13):
undefined reference to `vtable for
CryptoPP::BufferedTransformation'
sha1.cpp:(.text._ZN8CryptoPP22BufferedTransformationD2Ev
[CryptoPP::BufferedTransformation::~BufferedTransformation()]+0x1f):
undefined reference to `vtable for
CryptoPP::BufferedTransformation'
/tmp/cctxcX1W.o: In function `CryptoPP::Store::Store
()':
sha1.cpp:(.text._ZN8CryptoPP5StoreC2Ev[CryptoPP::Store::Store()]
+0x24): undefined reference to `vtable for
CryptoPP::Store'
sha1.cpp:(.text._ZN8CryptoPP5StoreC2Ev[CryptoPP::Store::Store()]
+0x30): undefined reference to `vtable for
CryptoPP::Store'
/tmp/cctxcX1W.o: In function `CryptoPP::Filter::~Filter
()':
sha1.cpp:(.text._ZN8CryptoPP6FilterD2Ev[CryptoPP::Filter::~Filter()]
+0x16): undefined reference to `vtable for
CryptoPP::Filter'
sha1.cpp:(.text._ZN8CryptoPP6FilterD2Ev[CryptoPP::Filter::~Filter()]
+0x22): undefined reference to `vtable for
CryptoPP::Filter'
/tmp/cctxcX1W.o: In function
`CryptoPP::Bufferless<CryptoPP::Filter>::Bufferless
()':
sha1.cpp:(.text._ZN8CryptoPP10BufferlessINS_6FilterEEC2Ev
[CryptoPP::Bufferless<CryptoPP::Filter>::Bufferless()]+0x19):
undefined reference to `CryptoPP::Filter::Filter
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o: In function `CryptoPP::FilterWithBufferedInput::Put2
(unsigned char const*, unsigned long, int,
bool)':
sha1.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInput4Put2EPKhmib
[CryptoPP::FilterWithBufferedInput::Put2(unsigned char const*,
unsigned long, int, bool)]+0x41): undefined reference to
`CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(unsigned char*,
unsigned long, int, bool, bool)'
/tmp/cctxcX1W.o: In function
`CryptoPP::FilterWithBufferedInput::PutModifiable2(unsigned char*,
unsigned long, int, bool)':
sha1.cpp:
(.text._ZN8CryptoPP23FilterWithBufferedInput14PutModifiable2EPhmib
[CryptoPP::FilterWithBufferedInput::PutModifiable2(unsigned char*,
unsigned long, int, bool)]+0x41): undefined reference to
`CryptoPP::FilterWithBufferedInput::PutMaybeModifiable(unsigned char*,
unsigned long, int, bool, bool)'
/tmp/cctxcX1W.o: In function
`CryptoPP::Unflushable<CryptoPP::Filter>::Unflushable
()':
sha1.cpp:(.text._ZN8CryptoPP11UnflushableINS_6FilterEEC2Ev
[CryptoPP::Unflushable<CryptoPP::Filter>::Unflushable()]+0x19):
undefined reference to `CryptoPP::Filter::Filter
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o: In function
`CryptoPP::FilterWithBufferedInput::~FilterWithBufferedInput
()':
sha1.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInputD2Ev
[CryptoPP::FilterWithBufferedInput::~FilterWithBufferedInput()]+0x16):
undefined reference to `vtable for
CryptoPP::FilterWithBufferedInput'
sha1.cpp:(.text._ZN8CryptoPP23FilterWithBufferedInputD2Ev
[CryptoPP::FilterWithBufferedInput::~FilterWithBufferedInput()]+0x22):
undefined reference to `vtable for
CryptoPP::FilterWithBufferedInput'
/tmp/cctxcX1W.o: In function `CryptoPP::ProxyFilter::~ProxyFilter
()':
sha1.cpp:(.text._ZN8CryptoPP11ProxyFilterD2Ev
[CryptoPP::ProxyFilter::~ProxyFilter()]+0x16): undefined reference to
`vtable for CryptoPP::ProxyFilter'
sha1.cpp:(.text._ZN8CryptoPP11ProxyFilterD2Ev
[CryptoPP::ProxyFilter::~ProxyFilter()]+0x22): undefined reference to
`vtable for CryptoPP::ProxyFilter'
/tmp/cctxcX1W.o: In function
`CryptoPP::SimpleProxyFilter::SimpleProxyFilter
(CryptoPP::BufferedTransformation*,
CryptoPP::BufferedTransformation*)':
sha1.cpp:
(.text._ZN8CryptoPP17SimpleProxyFilterC2EPNS_22BufferedTransformationES2_
[CryptoPP::SimpleProxyFilter::SimpleProxyFilter
(CryptoPP::BufferedTransformation*, CryptoPP::BufferedTransformation*)]
+0x35): undefined reference to `CryptoPP::ProxyFilter::ProxyFilter
(CryptoPP::BufferedTransformation*, unsigned long, unsigned long,
CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o: In function `CryptoPP::Store::~Store
()':
sha1.cpp:(.text._ZN8CryptoPP5StoreD2Ev[CryptoPP::Store::~Store()]
+0x13): undefined reference to `vtable for
CryptoPP::Store'
sha1.cpp:(.text._ZN8CryptoPP5StoreD2Ev[CryptoPP::Store::~Store()]
+0x1f): undefined reference to `vtable for
CryptoPP::Store'
/tmp/cctxcX1W.o: In function
`CryptoPP::AlgorithmParameters::~AlgorithmParameters
()':
sha1.cpp:(.text._ZN8CryptoPP19AlgorithmParametersD1Ev
[CryptoPP::AlgorithmParameters::~AlgorithmParameters()]+0x16):
undefined reference to `vtable for
CryptoPP::AlgorithmParameters'
/tmp/cctxcX1W.o: In function
`CryptoPP::InputRejecting<CryptoPP::Filter>::InputRejecting
()':
sha1.cpp:(.text._ZN8CryptoPP14InputRejectingINS_6FilterEEC2Ev
[CryptoPP::InputRejecting<CryptoPP::Filter>::InputRejecting()]+0x19):
undefined reference to `CryptoPP::Filter::Filter
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o: In function `CryptoPP::Source::Source
(CryptoPP::BufferedTransformation*)':
sha1.cpp:(.text._ZN8CryptoPP6SourceC2EPNS_22BufferedTransformationE
[CryptoPP::Source::Source(CryptoPP::BufferedTransformation*)]+0x26):
undefined reference to `vtable for
CryptoPP::Source'
sha1.cpp:(.text._ZN8CryptoPP6SourceC2EPNS_22BufferedTransformationE
[CryptoPP::Source::Source(CryptoPP::BufferedTransformation*)]+0x32):
undefined reference to `vtable for
CryptoPP::Source'
sha1.cpp:(.text._ZN8CryptoPP6SourceC2EPNS_22BufferedTransformationE
[CryptoPP::Source::Source(CryptoPP::BufferedTransformation*)]+0x45):
undefined reference to `CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o: In function `CryptoPP::Source::~Source
()':
sha1.cpp:(.text._ZN8CryptoPP6SourceD2Ev[CryptoPP::Source::~Source()]
+0x13): undefined reference to `vtable for
CryptoPP::Source'
sha1.cpp:(.text._ZN8CryptoPP6SourceD2Ev[CryptoPP::Source::~Source()]
+0x1f): undefined reference to `vtable for
CryptoPP::Source'
/tmp/cctxcX1W.o: In function `CryptoPP::BaseN_Encoder::BaseN_Encoder
(CryptoPP::BufferedTransformation*)':
sha1.cpp:
(.text._ZN8CryptoPP13BaseN_EncoderC1EPNS_22BufferedTransformationE
[CryptoPP::BaseN_Encoder::BaseN_Encoder
(CryptoPP::BufferedTransformation*)]+0x26): undefined reference to
`vtable for CryptoPP::BaseN_Encoder'
sha1.cpp:
(.text._ZN8CryptoPP13BaseN_EncoderC1EPNS_22BufferedTransformationE
[CryptoPP::BaseN_Encoder::BaseN_Encoder
(CryptoPP::BufferedTransformation*)]+0x32): undefined reference to
`vtable for CryptoPP::BaseN_Encoder'
sha1.cpp:
(.text._ZN8CryptoPP13BaseN_EncoderC1EPNS_22BufferedTransformationE
[CryptoPP::BaseN_Encoder::BaseN_Encoder
(CryptoPP::BufferedTransformation*)]+0x5a): undefined reference to
`CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o: In function `CryptoPP::Grouper::Grouper
(CryptoPP::BufferedTransformation*)':
sha1.cpp:(.text._ZN8CryptoPP7GrouperC1EPNS_22BufferedTransformationE
[CryptoPP::Grouper::Grouper(CryptoPP::BufferedTransformation*)]+0x26):
undefined reference to `vtable for
CryptoPP::Grouper'
sha1.cpp:(.text._ZN8CryptoPP7GrouperC1EPNS_22BufferedTransformationE
[CryptoPP::Grouper::Grouper(CryptoPP::BufferedTransformation*)]+0x32):
undefined reference to `vtable for
CryptoPP::Grouper'
sha1.cpp:(.text._ZN8CryptoPP7GrouperC1EPNS_22BufferedTransformationE
[CryptoPP::Grouper::Grouper(CryptoPP::BufferedTransformation*)]+0x6f):
undefined reference to `CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o: In function `CryptoPP::HexEncoder::HexEncoder
(CryptoPP::BufferedTransformation*, bool, int, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&)':
sha1.cpp:
(.text._ZN8CryptoPP10HexEncoderC1EPNS_22BufferedTransformationEbiRKSsS4_
[CryptoPP::HexEncoder::HexEncoder(CryptoPP::BufferedTransformation*,
bool, int, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)]+0xbf):
undefined reference to `vtable for
CryptoPP::HexEncoder'
sha1.cpp:
(.text._ZN8CryptoPP10HexEncoderC1EPNS_22BufferedTransformationEbiRKSsS4_
[CryptoPP::HexEncoder::HexEncoder(CryptoPP::BufferedTransformation*,
bool, int, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)]+0xce):
undefined reference to `vtable for
CryptoPP::HexEncoder'
sha1.cpp:
(.text._ZN8CryptoPP10HexEncoderC1EPNS_22BufferedTransformationEbiRKSsS4_
[CryptoPP::HexEncoder::HexEncoder(CryptoPP::BufferedTransformation*,
bool, int, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)]+0x1a9):
undefined reference to `CryptoPP::HexEncoder::IsolatedInitialize
(CryptoPP::NameValuePairs
const&)'
/tmp/cctxcX1W.o: In function `CryptoPP::FileStore::FileStore
()':
sha1.cpp:(.text._ZN8CryptoPP9FileStoreC1Ev
[CryptoPP::FileStore::FileStore()]+0x3e): undefined reference to
`vtable for CryptoPP::FileStore'
sha1.cpp:(.text._ZN8CryptoPP9FileStoreC1Ev
[CryptoPP::FileStore::FileStore()]+0x4a): undefined reference to
`vtable for CryptoPP::FileStore'
/tmp/cctxcX1W.o: In function `CryptoPP::FileStore::~FileStore
()':
sha1.cpp:(.text._ZN8CryptoPP9FileStoreD1Ev
[CryptoPP::FileStore::~FileStore()]+0x1c): undefined reference to
`vtable for CryptoPP::FileStore'
sha1.cpp:(.text._ZN8CryptoPP9FileStoreD1Ev
[CryptoPP::FileStore::~FileStore()]+0x28): undefined reference to
`vtable for CryptoPP::FileStore'
/tmp/cctxcX1W.o: In function
`CryptoPP::HashTransformation::~HashTransformation
()':
sha1.cpp:(.text._ZN8CryptoPP18HashTransformationD2Ev
[CryptoPP::HashTransformation::~HashTransformation()]+0x13): undefined
reference to `vtable for
CryptoPP::HashTransformation'
/tmp/cctxcX1W.o: In function `CryptoPP::SecBlock<unsigned char,
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::SecBlock
(unsigned long)':
sha1.cpp:
(.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEEC1Em
[CryptoPP::SecBlock<unsigned char,
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::SecBlock
(unsigned long)]+0x30): undefined reference to
`CryptoPP::AllocatorWithCleanup<unsigned char, false>::allocate
(unsigned long, void const*)'
/tmp/cctxcX1W.o: In function `CryptoPP::SecBlock<unsigned char,
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::~SecBlock
()':
sha1.cpp:
(.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEED1Ev
[CryptoPP::SecBlock<unsigned char,
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::~SecBlock()]
+0x27): undefined reference to
`CryptoPP::AllocatorWithCleanup<unsigned char, false>::deallocate
(void*, unsigned long)'
/tmp/cctxcX1W.o: In function `CryptoPP::SecBlock<unsigned char,
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::New(unsigned
long)':
sha1.cpp:
(.text._ZN8CryptoPP8SecBlockIhNS_20AllocatorWithCleanupIhLb0EEEE3NewEm
[CryptoPP::SecBlock<unsigned char,
CryptoPP::AllocatorWithCleanup<unsigned char, false> >::New(unsigned
long)]+0x36): undefined reference to
`CryptoPP::AllocatorWithCleanup<unsigned char, false>::reallocate
(unsigned char*, unsigned long, unsigned long,
bool)'
/tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters
CryptoPP::MakeParameters<bool>(char const*, bool const&,
bool)':
sha1.cpp:
(.text._ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b
[CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<bool>(char
const*, bool const&, bool)]+0x2d): undefined reference to
`CryptoPP::AlgorithmParameters::AlgorithmParameters
()'
sha1.cpp:
(.text._ZN8CryptoPP14MakeParametersIbEENS_19AlgorithmParametersEPKcRKT_b
[CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<bool>(char
const*, bool const&, bool)]+0x4f): undefined reference to
`CryptoPP::AlgorithmParameters::AlgorithmParameters
(CryptoPP::AlgorithmParameters const&)'
/tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters
CryptoPP::MakeParameters<char const*>(char const*, char const* const&,
bool)':
sha1.cpp:
(.text._ZN8CryptoPP14MakeParametersIPKcEENS_19AlgorithmParametersES2_RKT_b
[CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<char const*>
(char const*, char const* const&, bool)]+0x2d): undefined reference to
`CryptoPP::AlgorithmParameters::AlgorithmParameters
()'
sha1.cpp:
(.text._ZN8CryptoPP14MakeParametersIPKcEENS_19AlgorithmParametersES2_RKT_b
[CryptoPP::AlgorithmParameters CryptoPP::MakeParameters<char const*>
(char const*, char const* const&, bool)]+0x4f): undefined reference to
`CryptoPP::AlgorithmParameters::AlgorithmParameters
(CryptoPP::AlgorithmParameters const&)'
/tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters&
CryptoPP::AlgorithmParameters::operator()
<CryptoPP::ConstByteArrayParameter>(char const*,
CryptoPP::ConstByteArrayParameter const&,
bool)':
sha1.cpp:
(.text._ZN8CryptoPP19AlgorithmParametersclINS_23ConstByteArrayParameterEEERS0_PKcRKT_b
[CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator
()<CryptoPP::ConstByteArrayParameter>(char const*,
CryptoPP::ConstByteArrayParameter const&, bool)]+0x3e): undefined
reference to
`CryptoPP::AlgorithmParametersTemplate<CryptoPP::ConstByteArrayParameter>::AlgorithmParametersTemplate
(char const*, CryptoPP::ConstByteArrayParameter const&,
bool)'
/tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters&
CryptoPP::AlgorithmParameters::operator()<int>(char const*, int
const&, bool)':
sha1.cpp:(.text._ZN8CryptoPP19AlgorithmParametersclIiEERS0_PKcRKT_b
[CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator
()<int>(char const*, int const&, bool)]+0x3e): undefined reference to
`CryptoPP::AlgorithmParametersTemplate<int>::AlgorithmParametersTemplate
(char const*, int const&, bool)'
/tmp/cctxcX1W.o: In function `CryptoPP::AlgorithmParameters&
CryptoPP::AlgorithmParameters::operator()<bool>(char const*, bool
const&, bool)':
sha1.cpp:(.text._ZN8CryptoPP19AlgorithmParametersclIbEERS0_PKcRKT_b
[CryptoPP::AlgorithmParameters& CryptoPP::AlgorithmParameters::operator
()<bool>(char const*, bool const&, bool)]+0x3e): undefined reference
to
`CryptoPP::AlgorithmParametersTemplate<bool>::AlgorithmParametersTemplate
(char const*, bool const&, bool)'
/tmp/cctxcX1W.o: In function
`CryptoPP::HashTransformation::HashTransformation
()':
sha1.cpp:(.text._ZN8CryptoPP18HashTransformationC2Ev
[CryptoPP::HashTransformation::HashTransformation()]+0x19): undefined
reference to `CryptoPP::Algorithm::Algorithm
(bool)'
sha1.cpp:(.text._ZN8CryptoPP18HashTransformationC2Ev
[CryptoPP::HashTransformation::HashTransformation()]+0x24): undefined
reference to `vtable for
CryptoPP::HashTransformation'
/tmp/cctxcX1W.o: In function
`CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>::Init
()':
sha1.cpp:
(.text._ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EE4InitEv
[CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>::Init()]+0x20): undefined reference to
`CryptoPP::SHA1::InitState(unsigned
int*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x50): undefined reference to
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x58): undefined reference to
`CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x78): undefined reference to
`CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&,
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x80): undefined reference to
`CryptoPP::Filter::Flush(bool, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x88): undefined reference to
`CryptoPP::Filter::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xa0): undefined reference to
`CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xa8): undefined reference to
`CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xb0): undefined reference to
`CryptoPP::BufferedTransformation::Get(unsigned
char&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xb8): undefined reference to
`CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xc0): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xc8): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xd0): undefined reference to
`CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xd8): undefined reference to
`CryptoPP::BufferedTransformation::TotalBytesRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xe0): undefined reference to
`CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xe8): undefined reference to
`CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xf0): undefined reference to
`CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0xf8): undefined reference to
`CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x100): undefined reference to
`CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x120): undefined reference to
`CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&,
unsigned long long&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x128): undefined reference to
`CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&,
unsigned long long&, unsigned long long, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x130): undefined reference to
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned
long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x140): undefined reference to
`CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x148): undefined reference to
`CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x158): undefined reference to
`CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
>
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x168): undefined reference to
`CryptoPP::Filter::AttachedTransformation
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x170): undefined reference to
`CryptoPP::Filter::AttachedTransformation()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x178): undefined reference to
`CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x180): undefined reference to
`CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x188): undefined reference to
`CryptoPP::Filter::NewDefaultAttachment()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x1e0): undefined reference to `non-virtual
thunk to CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10FileSourceE[vtable for
CryptoPP::FileSource]+0x1e8): undefined reference to `non-virtual
thunk to CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x50): undefined
reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount
() const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x58): undefined
reference to `CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x78): undefined
reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs
const&, int)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x80): undefined
reference to `CryptoPP::Filter::Flush(bool, int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x88): undefined
reference to `CryptoPP::Filter::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xa0): undefined
reference to `CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xa8): undefined
reference to `CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xb0): undefined
reference to `CryptoPP::BufferedTransformation::Get(unsigned
char&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xb8): undefined
reference to `CryptoPP::BufferedTransformation::Get(unsigned char*,
unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xc0): undefined
reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xc8): undefined
reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*,
unsigned long) const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xd0): undefined
reference to `CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xd8): undefined
reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable
() const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xe0): undefined
reference to `CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xe8): undefined
reference to `CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xf0): undefined
reference to `CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0xf8): undefined
reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x100): undefined
reference to `CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x120): undefined
reference to `CryptoPP::Filter::TransferTo2
(CryptoPP::BufferedTransformation&, unsigned long long&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x128): undefined
reference to `CryptoPP::Filter::CopyRangeTo2
(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long
long, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, bool)
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x130): undefined
reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x140): undefined
reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x148): undefined
reference to `CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int, bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x158): undefined
reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x168): undefined
reference to `CryptoPP::Filter::AttachedTransformation
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x170): undefined
reference to `CryptoPP::Filter::AttachedTransformation()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x178): undefined
reference to `CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x180): undefined
reference to `CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x188): undefined
reference to `CryptoPP::Filter::NewDefaultAttachment()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x1e0): undefined
reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14SourceTemplateINS_9FileStoreEEE[vtable for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x1e8): undefined
reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x50):
undefined reference to
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x58):
undefined reference to
`CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x78):
undefined reference to `CryptoPP::Filter::Initialize
(CryptoPP::NameValuePairs const&, int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x80):
undefined reference to `CryptoPP::Filter::Flush(bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x88):
undefined reference to `CryptoPP::Filter::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xa0):
undefined reference to
`CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xa8):
undefined reference to
`CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xb0):
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned
char&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xb8):
undefined reference to `CryptoPP::BufferedTransformation::Get(unsigned
char*, unsigned long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xc0):
undefined reference to `CryptoPP::BufferedTransformation::Peek
(unsigned char&) const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xc8):
undefined reference to `CryptoPP::BufferedTransformation::Peek
(unsigned char*, unsigned long) const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xd0):
undefined reference to `CryptoPP::BufferedTransformation::Skip
(unsigned long long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xd8):
undefined reference to
`CryptoPP::BufferedTransformation::TotalBytesRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xe0):
undefined reference to
`CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xe8):
undefined reference to `CryptoPP::BufferedTransformation::AnyMessages
() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xf0):
undefined reference to
`CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0xf8):
undefined reference to `CryptoPP::BufferedTransformation::SkipMessages
(unsigned int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x100):
undefined reference to `CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x120):
undefined reference to `CryptoPP::Filter::TransferTo2
(CryptoPP::BufferedTransformation&, unsigned long long&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x128):
undefined reference to `CryptoPP::Filter::CopyRangeTo2
(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long
long, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, bool)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x130):
undefined reference to
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x140):
undefined reference to
`CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x148):
undefined reference to `CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x158):
undefined reference to
`CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x168):
undefined reference to `CryptoPP::Filter::AttachedTransformation
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x170):
undefined reference to `CryptoPP::Filter::AttachedTransformation()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x178):
undefined reference to `CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x180):
undefined reference to `CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x188):
undefined reference to `CryptoPP::Filter::NewDefaultAttachment()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x1c0):
undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP14InputRejectingINS_6FilterEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x1c8):
undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x50): undefined reference to
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x58): undefined reference to
`CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x60): undefined reference to
`CryptoPP::FilterWithBufferedInput::IsolatedInitialize
(CryptoPP::NameValuePairs const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x68): undefined reference to
`CryptoPP::ProxyFilter::IsolatedFlush(bool,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x78): undefined reference to
`CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs const&,
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x80): undefined reference to
`CryptoPP::Filter::Flush(bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x88): undefined reference to
`CryptoPP::Filter::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xa0): undefined reference to
`CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xa8): undefined reference to
`CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xb0): undefined reference to
`CryptoPP::BufferedTransformation::Get(unsigned
char&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xb8): undefined reference to
`CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xc0): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xc8): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xd0): undefined reference to
`CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xd8): undefined reference to
`CryptoPP::BufferedTransformation::TotalBytesRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xe0): undefined reference to
`CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xe8): undefined reference to
`CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xf0): undefined reference to
`CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0xf8): undefined reference to
`CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x100): undefined reference to
`CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x120): undefined reference to
`CryptoPP::Filter::TransferTo2(CryptoPP::BufferedTransformation&,
unsigned long long&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x128): undefined reference to
`CryptoPP::Filter::CopyRangeTo2(CryptoPP::BufferedTransformation&,
unsigned long long&, unsigned long long, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x130): undefined reference to
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x138): undefined reference to
`CryptoPP::BufferedTransformation::ChannelPut2(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, unsigned char
const*, unsigned long, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x140): undefined reference to
`CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x148): undefined reference to
`CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x150): undefined reference to
`CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x158): undefined reference to
`CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x168): undefined reference to
`CryptoPP::Filter::AttachedTransformation
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x170): undefined reference to
`CryptoPP::Filter::AttachedTransformation()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x178): undefined reference to
`CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x180): undefined reference to
`CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x188): undefined reference to
`CryptoPP::Filter::NewDefaultAttachment()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x1c0): undefined reference to
`CryptoPP::ProxyFilter::NextPutMultiple(unsigned char const*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x1c8): undefined reference to
`CryptoPP::ProxyFilter::NextPutModifiable(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x208): undefined reference to `non-
virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP17SimpleProxyFilterE[vtable for
CryptoPP::SimpleProxyFilter]+0x210): undefined reference to `non-
virtual thunk to CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x50): undefined
reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount
() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x58): undefined
reference to `CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x78): undefined
reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs
const&, int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x88): undefined
reference to `CryptoPP::Filter::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xa0): undefined
reference to `CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xa8): undefined
reference to `CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xb0): undefined
reference to `CryptoPP::BufferedTransformation::Get(unsigned
char&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xb8): undefined
reference to `CryptoPP::BufferedTransformation::Get(unsigned char*,
unsigned long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xc0): undefined
reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xc8): undefined
reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*,
unsigned long) const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xd0): undefined
reference to `CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xd8): undefined
reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable
() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xe0): undefined
reference to `CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xe8): undefined
reference to `CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xf0): undefined
reference to `CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0xf8): undefined
reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x100): undefined
reference to `CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x120): undefined
reference to `CryptoPP::Filter::TransferTo2
(CryptoPP::BufferedTransformation&, unsigned long long&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x128): undefined
reference to `CryptoPP::Filter::CopyRangeTo2
(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long
long, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, bool)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x130): undefined
reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x138): undefined
reference to `CryptoPP::BufferedTransformation::ChannelPut2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char const*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x140): undefined
reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x150): undefined
reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x158): undefined
reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x168): undefined
reference to `CryptoPP::Filter::AttachedTransformation
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x170): undefined
reference to `CryptoPP::Filter::AttachedTransformation()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x178): undefined
reference to `CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x180): undefined
reference to `CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x188): undefined
reference to `CryptoPP::Filter::NewDefaultAttachment()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x1c8): undefined
reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP11UnflushableINS_6FilterEEE
[vtable for CryptoPP::Unflushable<CryptoPP::Filter>]+0x1d0): undefined
reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x50): undefined
reference to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount
() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x58): undefined
reference to `CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x78): undefined
reference to `CryptoPP::Filter::Initialize(CryptoPP::NameValuePairs
const&, int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x80): undefined
reference to `CryptoPP::Filter::Flush(bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x88): undefined
reference to `CryptoPP::Filter::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xa0): undefined
reference to `CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xa8): undefined
reference to `CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xb0): undefined
reference to `CryptoPP::BufferedTransformation::Get(unsigned
char&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xb8): undefined
reference to `CryptoPP::BufferedTransformation::Get(unsigned char*,
unsigned long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xc0): undefined
reference to `CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xc8): undefined
reference to `CryptoPP::BufferedTransformation::Peek(unsigned char*,
unsigned long) const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xd0): undefined
reference to `CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xd8): undefined
reference to `CryptoPP::BufferedTransformation::TotalBytesRetrievable
() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xe0): undefined
reference to `CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xe8): undefined
reference to `CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xf0): undefined
reference to `CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0xf8): undefined
reference to `CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x100): undefined
reference to `CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x120): undefined
reference to `CryptoPP::Filter::TransferTo2
(CryptoPP::BufferedTransformation&, unsigned long long&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x128): undefined
reference to `CryptoPP::Filter::CopyRangeTo2
(CryptoPP::BufferedTransformation&, unsigned long long&, unsigned long
long, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&, bool)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x130): undefined
reference to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x138): undefined
reference to `CryptoPP::BufferedTransformation::ChannelPut2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char const*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x140): undefined
reference to `CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x148): undefined
reference to `CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x150): undefined
reference to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x158): undefined
reference to `CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x168): undefined
reference to `CryptoPP::Filter::AttachedTransformation
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x170): undefined
reference to `CryptoPP::Filter::AttachedTransformation()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x178): undefined
reference to `CryptoPP::Filter::Detach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x180): undefined
reference to `CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x188): undefined
reference to `CryptoPP::Filter::NewDefaultAttachment()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x1c0): undefined
reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_6FilterEEE
[vtable for CryptoPP::Bufferless<CryptoPP::Filter>]+0x1c8): undefined
reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for
CryptoPP::SHA1]+0x30): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for
CryptoPP::SHA1]+0x38): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned
long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for
CryptoPP::SHA1]+0x48): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Restart
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for
CryptoPP::SHA1]+0x88): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for
CryptoPP::SHA1]+0x98): undefined reference to
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*,
unsigned long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SHA1E[vtable for
CryptoPP::SHA1]+0xc0): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*,
unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE
[vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>]+0x30): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE
[vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>]+0x38): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned
long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE
[vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>]+0x48): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Restart
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE
[vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>]+0x88): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE
[vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>]+0x98): undefined reference to
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*,
unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EEE
[vtable for CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>]+0xc0): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*,
unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE
[vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1,
CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x30): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE
[vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1,
CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x38): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned
long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE
[vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1,
CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x48): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Restart
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE
[vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1,
CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x88): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE
[vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1,
CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0x98): undefined
reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned
char const*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12ClonableImplINS_4SHA1ENS_13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEES1_EEEE
[vtable for CryptoPP::ClonableImpl<CryptoPP::SHA1,
CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1> >]+0xc0): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*,
unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE
[vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned
int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x30): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE
[vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned
int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x38): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned
long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE
[vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned
int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x48): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Restart
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE
[vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned
int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x88): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE
[vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned
int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0x98): undefined
reference to `CryptoPP::HashTransformation::TruncatedVerify(unsigned
char const*, unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AlgorithmImplINS_12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEENS_4SHA1EEE
[vtable for CryptoPP::AlgorithmImpl<CryptoPP::IteratedHash<unsigned
int, CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>, CryptoPP::SHA1>]+0xc0): undefined
reference to `CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*,
unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>]+0x30): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>]+0x38): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned
long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>]+0x48): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Restart
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>]+0x88): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>]+0x98): undefined reference to
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*,
unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP12IteratedHashIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ENS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHash<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u,
CryptoPP::HashTransformation>]+0xc0): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*,
unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>]+0x30): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Update(unsigned char const*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>]+0x38): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::CreateUpdateSpace(unsigned
long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>]+0x48): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::Restart
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>]+0x88): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::TruncatedFinal(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>]+0x98): undefined reference to
`CryptoPP::HashTransformation::TruncatedVerify(unsigned char const*,
unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE
[vtable for CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>]+0xc0): undefined reference to
`CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>::HashMultipleBlocks(unsigned int const*,
unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x50): undefined reference
to `CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x58): undefined reference
to `CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x78): undefined reference
to `CryptoPP::BufferedTransformation::Initialize
(CryptoPP::NameValuePairs const&, int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x80): undefined reference
to `CryptoPP::BufferedTransformation::Flush(bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x88): undefined reference
to `CryptoPP::BufferedTransformation::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xa0): undefined reference
to `CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xa8): undefined reference
to `CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xb0): undefined reference
to `CryptoPP::BufferedTransformation::Get(unsigned
char&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xb8): undefined reference
to `CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xc0): undefined reference
to `CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xc8): undefined reference
to `CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned
long) const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xd0): undefined reference
to `CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xd8): undefined reference
to `CryptoPP::BufferedTransformation::TotalBytesRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xe0): undefined reference
to `CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xe8): undefined reference
to `CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xf0): undefined reference
to `CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0xf8): undefined reference
to `CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x100): undefined reference
to `CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x130): undefined reference
to `CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x138): undefined reference
to `CryptoPP::BufferedTransformation::ChannelPut2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char const*, unsigned long, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x140): undefined reference
to `CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x148): undefined reference
to `CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x150): undefined reference
to `CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, int, bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x158): undefined reference
to `CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x180): undefined reference
to `CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x1a8): undefined reference
to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP10BufferlessINS_4SinkEEE[vtable
for CryptoPP::Bufferless<CryptoPP::Sink>]+0x1b0): undefined reference
to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x50): undefined reference to
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x58): undefined reference to
`CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x78): undefined reference to
`CryptoPP::BufferedTransformation::Initialize(CryptoPP::NameValuePairs
const&, int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x80): undefined reference to
`CryptoPP::BufferedTransformation::Flush(bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x88): undefined reference to
`CryptoPP::BufferedTransformation::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xa0): undefined reference to
`CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xa8): undefined reference to
`CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xb0): undefined reference to
`CryptoPP::BufferedTransformation::Get(unsigned char&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xb8): undefined reference to
`CryptoPP::BufferedTransformation::Get(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xc0): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xc8): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long)
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xd0): undefined reference to
`CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xd8): undefined reference to
`CryptoPP::BufferedTransformation::TotalBytesRetrievable()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xe0): undefined reference to
`CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xe8): undefined reference to
`CryptoPP::BufferedTransformation::AnyMessages() const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xf0): undefined reference to
`CryptoPP::BufferedTransformation::GetNextMessage()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0xf8): undefined reference to
`CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x100): undefined reference to
`CryptoPP::BufferedTransformation::SkipAll()'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x130): undefined reference to
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned
long&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x138): undefined reference to
`CryptoPP::BufferedTransformation::ChannelPut2(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, unsigned char
const*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x140): undefined reference to
`CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x148): undefined reference to
`CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x150): undefined reference to
`CryptoPP::BufferedTransformation::ChannelMessageSeriesEnd
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, int,
bool)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x158): undefined reference to
`CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x180): undefined reference to
`CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x1a8): undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:(.rodata._ZTVN8CryptoPP4SinkE[vtable for
CryptoPP::Sink]+0x1b0): undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x50): undefined reference to
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x58): undefined reference to
`CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x78): undefined reference to
`CryptoPP::BufferedTransformation::Initialize(CryptoPP::NameValuePairs
const&, int)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x80): undefined reference to
`CryptoPP::BufferedTransformation::Flush(bool, int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x88): undefined reference to
`CryptoPP::BufferedTransformation::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xa0): undefined reference to
`CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xa8): undefined reference to
`CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get
(unsigned char&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get
(unsigned char*, unsigned long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xc0): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char&)
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xc8): undefined reference to
`CryptoPP::BufferedTransformation::Peek(unsigned char*, unsigned long)
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xd0): undefined reference to
`CryptoPP::BufferedTransformation::Skip(unsigned long
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xd8): undefined reference to
`CryptoPP::BufferedTransformation::TotalBytesRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xe0): undefined reference to
`CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xe8): undefined reference to
`CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xf0): undefined reference to
`CryptoPP::BufferedTransformation::GetNextMessage
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0xf8): undefined reference to
`CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x100): undefined reference to
`CryptoPP::BufferedTransformation::SkipAll
()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x130): undefined reference to
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x140): undefined reference to
`CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x148): undefined reference to
`CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int, bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x158): undefined reference to
`CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x180): undefined reference to
`CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x1a8): undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP13AutoSignalingINS_14InputRejectingINS_22BufferedTransformationEEEEE
[vtable for
CryptoPP::AutoSignaling<CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>
>]+0x1b0): undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x50): undefined reference to
`CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x58): undefined reference to
`CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack
const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x78): undefined reference to
`CryptoPP::BufferedTransformation::Initialize(CryptoPP::NameValuePairs
const&, int)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x80): undefined reference to `CryptoPP::BufferedTransformation::Flush
(bool, int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x88): undefined reference to
`CryptoPP::BufferedTransformation::MessageSeriesEnd(int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xa0): undefined reference to
`CryptoPP::BufferedTransformation::MaxRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xa8): undefined reference to
`CryptoPP::BufferedTransformation::AnyRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xb0): undefined reference to `CryptoPP::BufferedTransformation::Get
(unsigned
char&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xb8): undefined reference to `CryptoPP::BufferedTransformation::Get
(unsigned char*, unsigned
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xc0): undefined reference to `CryptoPP::BufferedTransformation::Peek
(unsigned char&)
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xc8): undefined reference to `CryptoPP::BufferedTransformation::Peek
(unsigned char*, unsigned long)
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xd0): undefined reference to `CryptoPP::BufferedTransformation::Skip
(unsigned long
long)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xd8): undefined reference to
`CryptoPP::BufferedTransformation::TotalBytesRetrievable()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xe0): undefined reference to
`CryptoPP::BufferedTransformation::NumberOfMessages()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xe8): undefined reference to
`CryptoPP::BufferedTransformation::AnyMessages()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xf0): undefined reference to
`CryptoPP::BufferedTransformation::GetNextMessage()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0xf8): undefined reference to
`CryptoPP::BufferedTransformation::SkipMessages(unsigned
int)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x100): undefined reference to
`CryptoPP::BufferedTransformation::SkipAll()'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x130): undefined reference to
`CryptoPP::BufferedTransformation::ChannelCreatePutSpace
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned
long&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x140): undefined reference to
`CryptoPP::BufferedTransformation::ChannelPutModifiable2
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, unsigned char*, unsigned long, int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x148): undefined reference to
`CryptoPP::BufferedTransformation::ChannelFlush
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
> const&, bool, int,
bool)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x158): undefined reference to
`CryptoPP::BufferedTransformation::SetRetrievalChannel
(std::basic_string<char, std::char_traits<char>, std::allocator<char>
>
const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x180): undefined reference to
`CryptoPP::BufferedTransformation::Attach
(CryptoPP::BufferedTransformation*)'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x1a8): undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetMaxWaitObjectCount()
const'
/tmp/cctxcX1W.o:
(.rodata._ZTVN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[vtable for CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]
+0x1b0): undefined reference to `non-virtual thunk to
CryptoPP::BufferedTransformation::GetWaitObjects
(CryptoPP::WaitObjectContainer&, CryptoPP::CallStack const&)'
/tmp/cctxcX1W.o:
(.rodata._ZTIN8CryptoPP14SourceTemplateINS_9FileStoreEEE[typeinfo for
CryptoPP::SourceTemplate<CryptoPP::FileStore>]+0x10): undefined
reference to `typeinfo for
CryptoPP::Source'
/tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP14InputRejectingINS_6FilterEEE
[typeinfo for CryptoPP::InputRejecting<CryptoPP::Filter>]+0x10):
undefined reference to `typeinfo for
CryptoPP::Filter'
/tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP17SimpleProxyFilterE[typeinfo
for CryptoPP::SimpleProxyFilter]+0x10): undefined reference to
`typeinfo for
CryptoPP::ProxyFilter'
/tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP11UnflushableINS_6FilterEEE
[typeinfo for CryptoPP::Unflushable<CryptoPP::Filter>]+0x10):
undefined reference to `typeinfo for
CryptoPP::Filter'
/tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP10BufferlessINS_6FilterEEE
[typeinfo for CryptoPP::Bufferless<CryptoPP::Filter>]+0x10): undefined
reference to `typeinfo for
CryptoPP::Filter'
/tmp/cctxcX1W.o:
(.rodata._ZTIN8CryptoPP16IteratedHashBaseIjNS_18HashTransformationEEE
[typeinfo for CryptoPP::IteratedHashBase<unsigned int,
CryptoPP::HashTransformation>]+0x10): undefined reference to `typeinfo
for
CryptoPP::HashTransformation'
/tmp/cctxcX1W.o:(.rodata._ZTIN8CryptoPP4SinkE[typeinfo for
CryptoPP::Sink]+0x10): undefined reference to `typeinfo for
CryptoPP::BufferedTransformation'
/tmp/cctxcX1W.o:
(.rodata._ZTIN8CryptoPP14InputRejectingINS_22BufferedTransformationEEE
[typeinfo for
CryptoPP::InputRejecting<CryptoPP::BufferedTransformation>]+0x10):
undefined reference to `typeinfo for
CryptoPP::BufferedTransformation'
/tmp/cctxcX1W.o: In function
`CryptoPP::AlgorithmParametersTemplate<char const*>::AssignValue(char
const*, std::type_info const&, void*) const':
sha1.cpp:
(.text._ZNK8CryptoPP27AlgorithmParametersTemplateIPKcE11AssignValueES2_RKSt9type_infoPv
[CryptoPP::AlgorithmParametersTemplate<char const*>::AssignValue(char
const*, std::type_info const&, void*) const]+0x1c): undefined
reference to
`CryptoPP::g_pAssignIntToInteger'
sha1.cpp:
(.text._ZNK8CryptoPP27AlgorithmParametersTemplateIPKcE11AssignValueES2_RKSt9type_infoPv
[CryptoPP::AlgorithmParametersTemplate<char const*>::AssignValue(char
const*, std::type_info const&, void*) const]+0x44): undefined
reference to
`CryptoPP::g_pAssignIntToInteger'
/tmp/cctxcX1W.o: In function
`CryptoPP::SourceTemplate<CryptoPP::FileStore>::Pump2(unsigned long
long&, bool)':
sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE5Pump2ERyb
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::Pump2(unsigned long
long&, bool)]+0x46): undefined reference to
`CryptoPP::DEFAULT_CHANNEL'
sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE5Pump2ERyb
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::Pump2(unsigned long
long&, bool)]+0x51): undefined reference to
`CryptoPP::FileStore::TransferTo2(CryptoPP::BufferedTransformation&,
unsigned long long&, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&,
bool)'
/tmp/cctxcX1W.o: In function
`CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpMessages2(unsigned
int&, bool)':
sha1.cpp:
(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE13PumpMessages2ERjb
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpMessages2(unsigned
int&, bool)]+0x46): undefined reference to
`CryptoPP::DEFAULT_CHANNEL'
sha1.cpp:
(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE13PumpMessages2ERjb
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpMessages2(unsigned
int&, bool)]+0x51): undefined reference to
`CryptoPP::BufferedTransformation::TransferMessagesTo2
(CryptoPP::BufferedTransformation&, unsigned int&,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >
const&, bool)'
/tmp/cctxcX1W.o: In function
`CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpAll2
(bool)':
sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE8PumpAll2Eb
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpAll2(bool)]+0x3a):
undefined reference to
`CryptoPP::DEFAULT_CHANNEL'
sha1.cpp:(.text._ZN8CryptoPP14SourceTemplateINS_9FileStoreEE8PumpAll2Eb
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::PumpAll2(bool)]+0x42):
undefined reference to
`CryptoPP::BufferedTransformation::TransferAllTo2
(CryptoPP::BufferedTransformation&, std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
bool)'
/tmp/cctxcX1W.o: In function
`CryptoPP::SourceTemplate<CryptoPP::FileStore>::SourceExhausted()
const':
sha1.cpp:
(.text._ZNK8CryptoPP14SourceTemplateINS_9FileStoreEE15SourceExhaustedEv
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::SourceExhausted()
const]+0x18): undefined reference to
`CryptoPP::BufferedTransformation::AnyRetrievable()
const'
sha1.cpp:
(.text._ZNK8CryptoPP14SourceTemplateINS_9FileStoreEE15SourceExhaustedEv
[CryptoPP::SourceTemplate<CryptoPP::FileStore>::SourceExhausted()
const]+0x2f): undefined reference to
`CryptoPP::BufferedTransformation::AnyMessages() const'
/tmp/cctxcX1W.o: In function
`CryptoPP::Unflushable<CryptoPP::Filter>::Flush(bool, int,
bool)':
sha1.cpp:(.text._ZN8CryptoPP11UnflushableINS_6FilterEE5FlushEbib
[CryptoPP::Unflushable<CryptoPP::Filter>::Flush(bool, int, bool)]
+0x3d): undefined reference to
`CryptoPP::DEFAULT_CHANNEL'
/tmp/cctxcX1W.o: In function
`CryptoPP::HashTransformation::HashTransformation
(CryptoPP::HashTransformation
const&)':
sha1.cpp:(.text._ZN8CryptoPP18HashTransformationC2ERKS0_
[CryptoPP::HashTransformation::HashTransformation
(CryptoPP::HashTransformation const&)]+0x2a): undefined reference to
`vtable for CryptoPP::HashTransformation'
/tmp/cctxcX1W.o: In function
`CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>::HashEndianCorrectedBlock(unsigned int
const*)':
sha1.cpp:
(.text._ZN8CryptoPP31IteratedHashWithStaticTransformIjNS_10EnumToTypeINS_9ByteOrderELi1EEELj64ELj20ENS_4SHA1ELj0ELb0EE24HashEndianCorrectedBlockEPKj
[CryptoPP::IteratedHashWithStaticTransform<unsigned int,
CryptoPP::EnumToType<CryptoPP::ByteOrder, 1>, 64u, 20u,
CryptoPP::SHA1, 0u, false>::HashEndianCorrectedBlock(unsigned int
const*)]+0x2b): undefined reference to `CryptoPP::SHA1::Transform
(unsigned int*, unsigned int const*)'
collect2: ld returned 1 exit status

Peter Klotz

unread,
Sep 15, 2009, 12:37:58 PM9/15/09
to Crypto++ Users
Caleb Cushing ( xenoterracide ) wrote:
>
> It seems to have problems linking though...
>
> g++ -lboost_filesystem -lcryptopp sha1.cpp

On Ubuntu 9.04 your program compiles and links using this command line:

g++ -lboost_filesystem-mt -lcryptopp sha1.cpp

Ubuntu uses Crypto++ 5.5.2 and Boost 1.37.0.

Regards, Peter.

Caleb Cushing ( xenoterracide )

unread,
Sep 17, 2009, 6:20:15 PM9/17/09
to Crypto++ Users
can anyone validate that my code works with 5.6.0? built with gcc
4.4.1? I'm pretty sure boost isn't the problem since the linker is
complaining about crypto++ and I've got code working with just boost
1.39.0. not trying to call bug here. just trying to figure out where
my problem is. I did start a discussion about it on the archlinux
mailing list.

Peter Klotz

unread,
Sep 18, 2009, 12:42:19 AM9/18/09
to Crypto++ Users

Ubuntu 9.10 Alpha uses gcc 4.4.1, Crypto++ 5.6.0 and Boost 1.38.0 so I
can assure you that the code compiles and links.

Your example also works on Red Hat Enterprise Linux 5.4 using gcc 4.1.2,
Crypto++ 5.6.0 and Boost 1.40.0.

Regards, Peter.

Peter Klotz

unread,
Sep 18, 2009, 1:11:51 AM9/18/09
to Crypto++ Users
Caleb Cushing ( xenoterracide ) wrote:
> what I ended up writing...
...

>
> It seems to have problems linking though...
>
> g++ -lboost_filesystem -lcryptopp sha1.cpp
>
> /tmp/cctxcX1W.o: In function `getSha1Hash
> (boost::filesystem::basic_path<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> boost::filesystem::path_traits> const&,
> bool)':
> sha1.cpp:(.text+0x5a): undefined reference to
> `CryptoPP::StringSinkTemplate<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > >::StringSinkTemplate
> (std::basic_string<char, std::char_traits<char>, std::allocator<char>
>> &)'
...


Did you check (using nm) that your Crypto++ library actually provides
the symbols the linker is complaining about?

Maybe on Arch Linux Crypto++ is divided into several libraries and you
have to link against more than one?

Regards, Peter.

Caleb Cushing ( xenoterracide )

unread,
Sep 18, 2009, 10:47:19 AM9/18/09
to Crypto++ Users

> Did you check (using nm) that your Crypto++ library actually provides
> the symbols the linker is complaining about?

I've never used nm before (not heard of it before) so... here's just
part of it's output for missing StringSinkTemplate


nm /usr/lib/libcryptopp.a |grep StringSinkTemplate
nm: algebra.o: no symbols
nm: cryptlib_bds.o: no symbols
0000000000000000 W
_ZN8CryptoPP18StringSinkTemplateISsE18IsolatedInitializeERKNS_14NameValuePairsE
0000000000000000 W _ZN8CryptoPP18StringSinkTemplateISsE4Put2EPKhmib
0000000000000000 W _ZN8CryptoPP18StringSinkTemplateISsEC1ERSs
0000000000000000 W _ZN8CryptoPP18StringSinkTemplateISsEC2ERSs
0000000000000010 W _ZN8CryptoPP18StringSinkTemplateISsED0Ev
0000000000000010 W _ZN8CryptoPP18StringSinkTemplateISsED1Ev
0000000000000000 V _ZTIN8CryptoPP18StringSinkTemplateISsEE
0000000000000000 V _ZTSN8CryptoPP18StringSinkTemplateISsEE
0000000000000000 V _ZTVN8CryptoPP18StringSinkTemplateISsEE
0000000000000000 W _ZThn8_N8CryptoPP18StringSinkTemplateISsED0Ev
0000000000000000 W _ZThn8_N8CryptoPP18StringSinkTemplateISsED1Ev
nm: eccrypto.o: no symbols
nm: eprecomp.o: no symbols
U _ZTVN8CryptoPP18StringSinkTemplateISsEE
nm: pch.o: no symbols
nm: simple.o: no symbols
nm: strciphr.o: no symbols
nm: winpipes.o: no symbols

> Maybe on Arch Linux Crypto++ is divided into several libraries and you
> have to link against more than one?

no. it only provides a single .a

Peter Klotz

unread,
Sep 18, 2009, 2:14:36 PM9/18/09
to Crypto++ Users
Caleb Cushing ( xenoterracide ) wrote:
>
>> Did you check (using nm) that your Crypto++ library actually provides
>> the symbols the linker is complaining about?
>
> I've never used nm before (not heard of it before) so... here's just
> part of it's output for missing StringSinkTemplate

Your setup on Arch Linux is more sensitive than Ubuntu and RHEL when it
comes to command line library order.

I installed Arch Linux in a Virtual Machine and these two commands work
for me.

g++ -c -o sha1.o sha1.cpp
g++ -o sha1 sha1.o -lcryptopp -lboost_filesystem


Since sha1.o requires symbols from libcryptopp.a it should appear first
on the command line. For some reason not all systems are that strict
when it comes to library order.

Hope that helps.

Regards, Peter.

Caleb Cushing ( xenoterracide )

unread,
Sep 18, 2009, 7:38:34 PM9/18/09
to Crypto++ Users
Thanks... I'm not sure why that is I never would have figured it out
if it weren't for you help. I've compiled other ones without issue...
just boost or boost and pqcxx I'm not sure why it was different in
this matter...
Reply all
Reply to author
Forward
0 new messages