Update:
The issue is still unsolved. It seems that (at least) part of the problem possibly stems from building some of the tests, so from the FAQs [5.(a) and 5.(m)] I tried to disable the building of f8test and cleaned using:
make clean
./configure --enable-f8test=no --prefix=/usr/local
make
The same error still persists when make is ran, as seen below. If anyone has any suggestions on how I may resolve this, I would really appreciate any help.
I have pasted the terminal output from where the first error occurs (I can provide the full output if necessary):
../include/fix8/ff/mpmc/MPMCqueues.hpp:784:46: note: uses ‘void* operator new(std::size_t)’, which does not have an alignment parameter
../include/fix8/ff/mpmc/MPMCqueues.hpp:784:46: note: use ‘-faligned-new’ to enable C++17 over-aligned new support
In file included from Perf_types.cpp:77:0:
../include/fix8/logger.hpp: At global scope:
../include/fix8/logger.hpp:576:30: error: ‘function’ in namespace ‘std’ does not name a template type
using logger_function = std::function<bool(const std::string&, Logger::Level, const char *, const unsigned)>;
^~~~~~~~
../include/fix8/logger.hpp:580:2: error: ‘logger_function’ does not name a type; did you mean ‘__fortify_function’?
logger_function _logger;
^~~~~~~~~~~~~~~
__fortify_function
../include/fix8/logger.hpp:586:22: error: ‘_logger’ was not declared in this scope
log_stream(decltype(_logger) func, Logger::Level lev=Logger::Info, const char *loc=nullptr, unsigned value=0)
^~~~~~~
../include/fix8/logger.hpp:586:22: note: suggested alternative: ‘Logger’
log_stream(decltype(_logger) func, Logger::Level lev=Logger::Info, const char *loc=nullptr, unsigned value=0)
^~~~~~~
Logger
../include/fix8/logger.hpp:586:22: error: ‘_logger’ was not declared in this scope
../include/fix8/logger.hpp:586:22: note: suggested alternative: ‘Logger’
log_stream(decltype(_logger) func, Logger::Level lev=Logger::Info, const char *loc=nullptr, unsigned value=0)
^~~~~~~
Logger
../include/fix8/logger.hpp: In constructor ‘FIX8::log_stream::log_stream(int, FIX8::Logger::Level, const char*, unsigned int)’:
../include/fix8/logger.hpp:587:5: error: class ‘FIX8::log_stream’ does not have any field named ‘_logger’
: _logger(func), _lev(lev), _loc(loc), _value(value) {}
^~~~~~~
../include/fix8/logger.hpp: In destructor ‘virtual FIX8::log_stream::~log_stream()’:
../include/fix8/logger.hpp:588:18: error: ‘_logger’ was not declared in this scope
~log_stream() { _logger(_buf.get(), _lev, _loc, _value); }
^~~~~~~
../include/fix8/logger.hpp:588:18: note: suggested alternative: ‘Logger’
~log_stream() { _logger(_buf.get(), _lev, _loc, _value); }
^~~~~~~
Logger
In file included from Perf_types.cpp:80:0:
../include/fix8/message.hpp: At global scope:
../include/fix8/message.hpp:176:7: error: ‘function’ in namespace ‘std’ does not name a template type
std::function<Message *(bool)> _do;
^~~~~~~~
../include/fix8/message.hpp: In constructor ‘FIX8::Minst::Minst(FIX8::Type2Type<T, args ...>)’:
../include/fix8/message.hpp:184:35: error: class ‘FIX8::Minst’ does not have any field named ‘_do’
Minst(Type2Type<T, args...>) : _do(_gen::_make<T, args...>)
^~~
../include/fix8/message.hpp: At global scope:
../include/fix8/message.hpp:201:28: error: ‘function’ in namespace ‘std’ does not name a template type
using c_str_compare = std::function<bool(const char *, const char *)>;
^~~~~~~~
../include/fix8/message.hpp:202:25: error: ‘function’ in namespace ‘std’ does not name a template type
using msg_create = std::function<Message *(bool)>;
^~~~~~~~
../include/fix8/message.hpp:204:76: error: ‘c_str_compare’ was not declared in this scope
using ReverseMsgTable = std::map<const char * const, const BaseMsgEntry *, c_str_compare>;
^~~~~~~~~~~~~
../include/fix8/message.hpp:204:89: error: template argument 3 is invalid
using ReverseMsgTable = std::map<const char * const, const BaseMsgEntry *, c_str_compare>;
^
../include/fix8/message.hpp:206:75: error: ‘c_str_compare’ was not declared in this scope
using ReverseFieldTable = std::map<const char * const, const BaseEntry *, c_str_compare>;
^~~~~~~~~~~~~
../include/fix8/message.hpp:206:88: error: template argument 3 is invalid
using ReverseFieldTable = std::map<const char * const, const BaseEntry *, c_str_compare>;
^
../include/fix8/message.hpp:226:2: error: ‘msg_create’ does not name a type; did you mean ‘timer_create’?
msg_create _mk_hdr, _mk_trl;
^~~~~~~~~~
timer_create
../include/fix8/message.hpp:232:2: error: ‘ReverseMsgTable’ does not name a type; did you mean ‘MsgTable’?
ReverseMsgTable _reverse_msgtable;
^~~~~~~~~~~~~~~
MsgTable
../include/fix8/message.hpp:233:2: error: ‘ReverseFieldTable’ does not name a type; did you mean ‘FieldTable’?
ReverseFieldTable _reverse_fieldtable;
^~~~~~~~~~~~~~~~~
FieldTable
../include/fix8/message.hpp: In constructor ‘FIX8::F8MetaCntx::F8MetaCntx(unsigned int, const MsgTable&, const FieldTable&, const char**, const f8String&)’:
../include/fix8/message.hpp:245:3: error: class ‘FIX8::F8MetaCntx’ does not have any field named ‘_mk_hdr’
_mk_hdr(_bme.find_ref("header")._create._do), _mk_trl(_bme.find_ref("trailer")._create._do),
^~~~~~~
../include/fix8/message.hpp:245:43: error: ‘const class FIX8::Minst’ has no member named ‘_do’
_mk_hdr(_bme.find_ref("header")._create._do), _mk_trl(_bme.find_ref("trailer")._create._do),
^~~
../include/fix8/message.hpp:245:49: error: class ‘FIX8::F8MetaCntx’ does not have any field named ‘_mk_trl’
_mk_hdr(_bme.find_ref("header")._create._do), _mk_trl(_bme.find_ref("trailer")._create._do),
^~~~~~~
../include/fix8/message.hpp:245:90: error: ‘const class FIX8::Minst’ has no member named ‘_do’
_mk_hdr(_bme.find_ref("header")._create._do), _mk_trl(_bme.find_ref("trailer")._create._do),
^~~
../include/fix8/message.hpp:247:3: error: class ‘FIX8::F8MetaCntx’ does not have any field named ‘_reverse_msgtable’
_reverse_msgtable(_comp), _reverse_fieldtable(_comp)
^~~~~~~~~~~~~~~~~
../include/fix8/message.hpp:247:29: error: class ‘FIX8::F8MetaCntx’ does not have any field named ‘_reverse_fieldtable’
_reverse_msgtable(_comp), _reverse_fieldtable(_comp)
^~~~~~~~~~~~~~~~~~~
../include/fix8/message.hpp: In lambda function:
../include/fix8/message.hpp:256:6: error: ‘_reverse_fieldtable’ was not declared in this scope
{ _reverse_fieldtable.emplace(std::make_pair(pp.second()._name, &pp.second())); });
^~~~~~~~~~~~~~~~~~~
../include/fix8/message.hpp:256:6: note: suggested alternative: ‘reverse_find_be’
{ _reverse_fieldtable.emplace(std::make_pair(pp.second()._name, &pp.second())); });
^~~~~~~~~~~~~~~~~~~
reverse_find_be
../include/fix8/message.hpp: In lambda function:
../include/fix8/message.hpp:258:6: error: ‘_reverse_msgtable’ was not declared in this scope
{ _reverse_msgtable.emplace(std::make_pair(pp.second()._name, &pp.second())); });
^~~~~~~~~~~~~~~~~
../include/fix8/message.hpp:258:6: note: suggested alternative: ‘reverse_find_be’
{ _reverse_msgtable.emplace(std::make_pair(pp.second()._name, &pp.second())); });
^~~~~~~~~~~~~~~~~
reverse_find_be
../include/fix8/message.hpp: In member function ‘const FIX8::BaseEntry* FIX8::F8MetaCntx::reverse_find_be(const char*) const’:
../include/fix8/message.hpp:277:13: error: ‘_reverse_fieldtable’ was not declared in this scope
auto itr(_reverse_fieldtable.find(fieldstr));
^~~~~~~~~~~~~~~~~~~
../include/fix8/message.hpp:277:13: note: suggested alternative: ‘reverse_find_be’
auto itr(_reverse_fieldtable.find(fieldstr));
^~~~~~~~~~~~~~~~~~~
reverse_find_be
../include/fix8/message.hpp: In member function ‘short unsigned int FIX8::F8MetaCntx::reverse_find_fnum(const char*) const’:
../include/fix8/message.hpp:290:13: error: ‘_reverse_fieldtable’ was not declared in this scope
auto itr(_reverse_fieldtable.find(fieldstr));
^~~~~~~~~~~~~~~~~~~
../include/fix8/message.hpp:290:13: note: suggested alternative: ‘reverse_find_be’
auto itr(_reverse_fieldtable.find(fieldstr));
^~~~~~~~~~~~~~~~~~~
reverse_find_be
../include/fix8/message.hpp: In member function ‘const FIX8::BaseMsgEntry* FIX8::F8MetaCntx::reverse_find_bme(const char*) const’:
../include/fix8/message.hpp:326:12: error: ‘_reverse_msgtable’ was not declared in this scope
auto itr(_reverse_msgtable.find(msgstr));
^~~~~~~~~~~~~~~~~
../include/fix8/message.hpp:326:12: note: suggested alternative: ‘reverse_find_be’
auto itr(_reverse_msgtable.find(msgstr));
^~~~~~~~~~~~~~~~~
reverse_find_be
../include/fix8/message.hpp: In member function ‘FIX8::Message* FIX8::F8MetaCntx::create_msg_from_longname(const char*, bool) const’:
../include/fix8/message.hpp:337:29: error: ‘const class FIX8::Minst’ has no member named ‘_do’
return bme ? bme->_create._do(deepctor) : nullptr;
^~~
../include/fix8/message.hpp: In member function ‘FIX8::Message* FIX8::F8MetaCntx::create_msg(const char*, bool) const’:
../include/fix8/message.hpp:347:29: error: ‘const class FIX8::Minst’ has no member named ‘_do’
return bme ? bme->_create._do(deepctor) : nullptr;
^~~
../include/fix8/message.hpp: In constructor ‘FIX8::Message::Message(const FIX8::F8MetaCntx&, const f8String&, InputIterator, size_t, const FIX8::FieldTrait_Hash_Array*)’:
../include/fix8/message.hpp:1089:61: error: ‘const struct FIX8::F8MetaCntx’ has no member named ‘_mk_hdr’
: MessageBase(ctx, msgType, begin, cnt, ftha),_header(ctx._mk_hdr(true)),
^~~~~~~
../include/fix8/message.hpp:1090:18: error: ‘const struct FIX8::F8MetaCntx’ has no member named ‘_mk_trl’
_trailer(ctx._mk_trl(true)), _custom_seqnum(), _no_increment(), _end_of_batch(true)
^~~~~~~
Makefile:665: recipe for target 'libhftest_la-Perf_types.lo' failed
make[3]: *** [libhftest_la-Perf_types.lo] Error 1
make[3]: Leaving directory '/home/paddy/Documents/Business/Dev/FIX/fix8-1.4.1/test'
Makefile:481: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/paddy/Documents/Business/Dev/FIX/fix8-1.4.1/test'
Makefile:567: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/paddy/Documents/Business/Dev/FIX/fix8-1.4.1'
Makefile:472: recipe for target 'all' failed
make: *** [all] Error 2