boostorg / log Goto Github PK
View Code? Open in Web Editor NEWBoost Logging library
Home Page: https://www.boost.org/libs/log/
Boost Logging library
Home Page: https://www.boost.org/libs/log/
When initializing a sinks::text_file_backend
, an attached collector
won't delete files that exceed max_files
unless the file_name
ends with a static (non-pattern) character.
This works fine:
keywords::file_name = "logs/file.%Y%m%d-%H%M%S.log"
but this doesn't:
keywords::file_name = "logs/file.%Y%m%d-%H%M%S"
in that any number of files in the second case can exist, beyond the limit set by the collector
's max_files
.
In the 1.67rc2 candidate an empty file called stdcerr is created at runtime in my unit tests.
Using boost log in 1.64 this file is not there.
It would be great to get rid of boost::date_time or at least use it as an optional component. For programs using std::chrono from c++11 or boost::chrono this boost::date_time dependency is just a waste of space in final product binaries.
Hi! I was trying to use the boost log to write into a file and append to it when the application restarts (and not to create a new rotating file) with a basic text_file_backend
like the following, but it seems that it doesnt work - which means that nothing changes when boostlog_keywords::open_mode = std::ios_base::app
is added.
typedef boostlog_sinks::synchronous_sink< boostlog_sinks::text_file_backend > file_sink;
boost::shared_ptr< file_sink > sink(new file_sink(
boostlog_keywords::auto_flush = true,
boostlog_keywords::auto_flush = true,
boostlog_keywords::file_name = "file-%m%d%Y_%H%M_%2N.log",
boostlog_keywords::rotation_size = 5 * 1024 * 1024,
boostlog_keywords::format = "[%TimeStamp%][%ThreadID%] *%Severity%* %Message%",
boostlog_keywords::open_mode = std::ios_base::app
));
The full code is here.
I posted a thread on stackoverflow few months ago, no one answered it. It's not very urgent since it is only log file name so I just left it.
Recently I noticed that the changelog of 1.66.0 said it has been fixed.
For me I still have some issues about the file name. I can see some log file names after I upgrade boost to 1.66.0 just like it behaves in 1.65.1.
Here's the code:
logging::wsettings settings;
settings["Core"]["Filter"] = L"%Severity% >= debug";
settings["Core"]["DisableLogging"] = false;
settings["Sinks.File"]["Destination"] = L"TextFile";
settings["Sinks.File"]["FileName"] = L"App_%Y-%m-%d.%N.log";
settings["Sinks.File"]["Format"] = L"%TimeStamp% [%ThreadID%] %Severity(format=\"%-7s\")% - %Message%";
settings["Sinks.File"]["AutoFlush"] = true;
settings["Sinks.File"]["RotationTimePoint"] = L"00:00:00";
settings["Sinks.File"]["RotationSize"] = 10 * 1024 * 1024;
settings["Sinks.File"]["Target"] = filePath_;
settings["Sinks.File"]["ScanForFiles"] = L"All";
settings["Sinks.File"]["Append"] = true;
Here's some log file examples:
App_2018-01-09.7.log
App_2018-01-10.8.log
App_2018-01-10.0.log
App_2018-01-11.1.log
App_2018-01-11.0.log
(Sorted by creation time ASC)
My understanding is that the counter and date-time part are unrelated, the counter increases whenever a new file is being created. Is my understanding correct?
But this makes the file names confusing. For example:
Is this the current behavior?
If so, my suggestion is to reset the file counter for a new day like this:
Does this make sense?
Hi,
While all (almost all?) boost libs respect definition BOOST_ + libname + _BUILD_DLL
when building shared library itself, boost.log uses it own BOOST_LOG_DLL
definition to say we're compiling a shared library.
See https://github.com/boostorg/log/blob/develop/include/boost/log/detail/config.hpp#L252 and other occurences of BOOST_LOG_DLL
.
For reference see boost.thread https://github.com/boostorg/thread/blob/develop/include/boost/thread/detail/config.hpp#L402
Is it possible to fix this to use common boost behavior?
It will be useful in custom (not b2) boost builds like in my case.
See https://travis-ci.org/boostorg/boost/builds/292271102
testing.capture-output bin.v2/libs/log/test/form_max_size_decor.test/gcc-gnu-4.8/debug/cxxstd-11/threadapi-pthread/threading-multi/form_max_size_decor.run
====== BEGIN OUTPUT ======
Running 3 test cases...
Left: "При�"
Right: "При"
libs/log/test/run/form_max_size_decor.cpp(163): error: in "character_boundary_maintenance": check equal_strings(strm1.str(), strm2.str()) has failed
Left: "П�>>>"
Right: "П>>>"
libs/log/test/run/form_max_size_decor.cpp(175): error: in "character_boundary_maintenance": check equal_strings(strm1.str(), strm2.str()) has failed
*** 2 failures are detected in the test module "form_max_size_decor"
EXIT STATUS: 201
====== END OUTPUT ======
https://travis-ci.org/boostorg/boost/jobs/292271110#L2500
https://travis-ci.org/boostorg/boost/jobs/292271111#L2615
My application needs to create 1 syslog
sink for each thread and each thread wants to send data independently.
class AlertsForSyslog
{
string hostname;
string message;
src::severity_logger<> lg;
boost::shared_ptr< sinks::synchronous_sink< sinks::syslog_backend > > sink;
public :
public :
AlertsForSyslog(string hostname);
int sendMessageToSyslog(string message);
void dd();
};
AlertsForSyslog::AlertsForSyslog(string hostname)
{
this->hostname = hostname;
sink = boost::make_shared<sinks::synchronous_sink< sinks::syslog_backend >>();
}
int AlertsForSyslog::sendMessageToSyslog(string message)
{
this->message = message;
sink->set_formatter
(
expr::format("%1%")
%expr::smessage
);
sink->locked_backend()->set_target_address(hostname);
// Add the sink to the core
logging::core::get()->add_sink(sink);
return 0;
}
void AlertsForSyslog::dd()
{
BOOST_LOG_SEV(lg, sinks::syslog::alert) << message ;
}
int main()
{
cout << "hello";
AlertsForSyslog n1 = AlertsForSyslog("172.16.72.239");
n1.sendMessageToSyslog("from n1");
AlertsForSyslog n2 = AlertsForSyslog("172.16.72.239");
n2.sendMessageToSyslog("from n2");
AlertsForSyslog n3 = AlertsForSyslog("172.16.72.239");
n3.sendMessageToSyslog("from n3");
n1.dd();
n2.dd();
n3.dd();
return 0;
}
Above code gives me this output :
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n3
Apr 4 21:33:58 mypc from n3
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n3
But ideally it should be this right?
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n3
How should I improve my code? I want to send logs using different threads on a remote syslog machine.
Hi. At the moment all of Boost subprojects (that we use) support non-RTTI builds, inlcuding Boost.TypeIndex and Boost.ProgramOptions. It would be nice to make all of them usable without RTTI support.
My application needs to create 1 syslog
sink for each thread and each thread wants to send data independently.
class AlertsForSyslog
{
string hostname;
string message;
src::severity_logger<> lg;
boost::shared_ptr< sinks::synchronous_sink< sinks::syslog_backend > > sink;
public :
public :
AlertsForSyslog(string hostname);
int sendMessageToSyslog(string message);
void dd();
};
AlertsForSyslog::AlertsForSyslog(string hostname)
{
this->hostname = hostname;
sink = boost::make_shared<sinks::synchronous_sink< sinks::syslog_backend >>();
}
int AlertsForSyslog::sendMessageToSyslog(string message)
{
this->message = message;
sink->set_formatter
(
expr::format("%1%")
%expr::smessage
);
sink->locked_backend()->set_target_address(hostname);
// Add the sink to the core
logging::core::get()->add_sink(sink);
return 0;
}
void AlertsForSyslog::dd()
{
BOOST_LOG_SEV(lg, sinks::syslog::alert) << message ;
}
int main()
{
cout << "hello";
AlertsForSyslog n1 = AlertsForSyslog("172.16.72.239");
n1.sendMessageToSyslog("from n1");
AlertsForSyslog n2 = AlertsForSyslog("172.16.72.239");
n2.sendMessageToSyslog("from n2");
AlertsForSyslog n3 = AlertsForSyslog("172.16.72.239");
n3.sendMessageToSyslog("from n3");
n1.dd();
n2.dd();
n3.dd();
return 0;
}
Above code gives me this output :
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n3
Apr 4 21:33:58 mypc from n3
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n3
But ideally it should be this right?
Apr 4 21:33:58 mypc from n1
Apr 4 21:33:58 mypc from n2
Apr 4 21:33:58 mypc from n3
How should I improve my code? I want to send logs using different threads on a remote syslog machine.
I am testing upgrading from boost 1.64 to 1.67 and I am getting a compilation error under GCC 5.4:
error: 'boost::log::v2s_mt_posix::aux::locking_ptr<boost::log::v2s_mt_posix::sinks::text_file_backend, boost::recursive_mutex>::element_type {aka class boost::log::v2s_mt_posix::sinks::text_file_backend}' has no member named 'get_current_file_name'
It doesn't really make sense to me because using the rotate_file() function and some others works fine, and they are defined in the same class. I thought it was a precompile/obj issue so I cleaned out the entire project and recompiled but that did not fix it.
Hi guys i'm using boost log for rotation by day and file size, i also set max log size store in logdir
my log file are :
log_2018-02-20_000.log
log_2018-02-20_001.log
log_2018-02-20_002.log
log_2018-02-21_003.log
log_2018-02-21_004.log
How to reset log file number to zero when new day come ? of course i'm still need log max_size limit
something like :
log_2018-02-20_000.log
log_2018-02-20_001.log
log_2018-02-20_002.log
log_2018-02-21_000.log
log_2018-02-21_001.log
Here is my code
` log_file_path = LOGS_PATH + L"/log_%Y-%m-%d_%3N.log";
sink = boost::log::add_file_log
(
keywords::file_name = log_file_path,
keywords::rotation_size = LOG_ROTATION_SIZE * 1024 * 1024,
keywords::time_based_rotation = sinks::file::rotation_at_time_point(0, 0, 0), /*< ...or at midnight >*/
keywords::format = log_format,
keywords::filter = boost::log::trivial::severity >= level && (expr::has_attr(a_channel) && a_channel == LOG_NAME),
//keywords::open_mode = std::ios::app,
//keywords::scan_method = boost::log::sinks::file::scan_matching,
keywords::auto_flush = true,
keywords::target = LOGS_PATH,
keywords::channel = LOG_NAME
);
std::locale loc = boost::locale::generator()("ja_JP.UTF-8");
sink->imbue(loc);
boost::log::add_common_attributes();
if (LOG_MAX_SIZE > 0) {
sink->locked_backend()->set_file_collector(sinks::file::make_collector(
keywords::target = LOGS_PATH,
keywords::max_size = LOG_MAX_SIZE * 1024 * 1024
//,keywords::min_free_space = 100 * 1024 * 1024,
//keywords::max_files = 512
));
}
`
The program
#include <boost/log/trivial.hpp>
int main()
{
BOOST_LOG_TRIVIAL(info) << "An informational message";
}
under msvc-8.0 yields
1>c:\boost-git\develop\boost\parameter\aux_\arg_list.hpp(227) : error C2064: term does not evaluate to a function taking 1 arguments
1> c:\boost-git\develop\boost\parameter\aux_\arg_list.hpp(390) : see reference to class template instantiation 'boost::parameter::aux::arg_list<TaggedArg,Next>' being compiled
No idea if anyone does, or ought to, care about msvc-8.0 at this point; I just came across this and thought I'd mention it.
The library uses boost::asio but did not update to the new ASIO API. For example io_service -> io_context.
For example:
libs/log/src/syslog_backend.cpp:300:52: error: expected « ) » before « & » token
explicit syslog_udp_socket(asio::io_service& service, asio::ip::udp const& protocol, asio::ip::udp::endpoint const& local_address) :
~ ^
)
libs/log/src/syslog_backend.cpp:332:15: error: « io_service » dans l'espace de noms « boost::asio » ne nomme pas un type
asio::io_service m_IOService;
^~~~~~~~~~
The new API was introduced in 1.66.0 which deprecated the old interface.
I'm on boost 1.63 as installed by homebrew on OS X 10.11.6 and Xcode Version 8.2.1 (8C1002). I'm getting a crash on the following line available at this link:
BOOST_LOG_TRIVIAL(info) << "Inverse Kinematics plugin initialized. Build date/time: " << __DATE__ << " " << __TIME__ <<"\n";
This worked correctly on previous versions of Boost, and I'm building my source using cmake's xcode generator. I tested reverting back to boost 1.60 and this code runs correctly, so I believe it is due to a regression between boost 1.60 and boost 1.63. I also tried building 1.63 from source and was able to reproduce the crash.
Test I ran to switch libraries:
brew install boost
# clean, recompile, run, test crashed
brew reinstall boost --build-from-source
# clean, recompile, run, test crashed
brew uninstall boost
brew install boost160
brew link boost160 --force
# clean, recompile, run, test succeeded
Stack Trace:
#0 0x00007fff8d680981 in std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) ()
#1 0x000000012234ea9d in boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::sentry::sentry(boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) at /usr/local/include/boost/log/utility/formatting_ostream.hpp:127
#2 0x000000012234e5cd in boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::sentry::sentry(boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) at /usr/local/include/boost/log/utility/formatting_ostream.hpp:128
#3 0x000000012234e442 in boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::formatted_write(char const*, long) at /usr/local/include/boost/log/utility/formatting_ostream.hpp:630
#4 0x000000012234e3fc in boost::log::v2_mt_posix::basic_formatting_ostream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator<<(char const*) at /usr/local/include/boost/log/utility/formatting_ostream.hpp:403
#5 0x0000000122327b18 in boost::log::v2_mt_posix::aux::enable_if_record_ostream<boost::log::v2_mt_posix::basic_record_ostream<char>, boost::log::v2_mt_posix::basic_record_ostream<char>&>::type boost::log::v2_mt_posix::operator<<<boost::log::v2_mt_posix::basic_record_ostream<char>, char [57]>(boost::log::v2_mt_posix::basic_record_ostream<char>&, char const (&) [57]) at /usr/local/include/boost/log/sources/record_ostream.hpp:203
#6 0x0000000122320374 in ::v_repStart(void *, int) at /Users/athundt/source/robonetracker/modules/grl/src/v_repExtGrlInverseKinematics/v_repExtGrlInverseKinematics.cpp:188
#7 0x00000001023efa0c in CPlugin::load() ()
#8 0x00000001023f05c8 in CPluginContainer::addPlugin(char const*, char const*) ()
#9 0x00000001023946a8 in CUiThread::__executeCommandViaUiThread(SUIThreadCommand*, SUIThreadCommand*) ()
#10 0x00000001023945f2 in CUiThread::executeCommandViaUiThread(SUIThreadCommand*, SUIThreadCommand*) ()
#11 0x000000010224d964 in simLoadModule_internal(char const*, char const*) ()
#12 0x000000010000203a in loadPlugin(char const*, char const*) ()
#13 0x000000010000262c in simulatorInit() ()
#14 0x00000001023bd2a8 in App::_runInitializationCallback(void (*)()) ()
#15 0x00000001023bd439 in App::run(void (*)(), void (*)(), void (*)()) ()
#16 0x000000010223a047 in simRunSimulator_internal(char const*, int, void (*)(), void (*)(), void (*)()) ()
#17 0x0000000100003d2c in main ()
#18 0x0000000100001fa4 in start ()
Also of note, when I compile I define:
ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK)
Linker output
./3rdparty/boost/stage/lib/libboost_log.a(record_ostream.o): In function `boost::thread_specific_ptr<boost::log::v2s_mt_posix::aux::(anonymous namespace)::stream_compound_pool<char> >::~thread_specific_ptr()':
record_ostream.cpp:(.text+0x1b5): undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
../3rdparty/boost/stage/lib/libboost_log.a(record_ostream.o): In function `boost::thread_specific_ptr<boost::log::v2s_mt_posix::aux::(anonymous namespace)::stream_compound_pool<wchar_t> >::~thread_specific_ptr()':
record_ostream.cpp:(.text+0x2a5): undefined reference to `boost::detail::set_tss_data(void const*, boost::shared_ptr<boost::detail::tss_cleanup_function>, void*, bool)'
../3rdparty/boost/stage/lib/libboost_log.a(record_ostream.o): In function `boost::log::v2s_mt_posix::aux::stream_provider<char>::release_compound(boost::log::v2s_mt_posix::aux::stream_provider<char>::stream_compound*)':
...
indicates a dependency on Boost.Thread.
Expected result:
Boost.Log compiled with BOOST_LOG_USE_COMPILER_TLS does not have a dependency on Boost.Thread.
I have been studying the library for 2 weeks resulting in considerable disappointment both in the readability of documents and inconvenience of the lib. Here are some inquiry and suggestion.
expr::format_date_time<boost::posix_time::ptime>("TimeStamp", "%Y-%m-%d %H:%M:%S")
could not be used with lambda style formatter which is not illustrated. I suggest the document should give a clear example to show how to formatting TimeStamp in lambda style formatter and place the most notably marked notification.2.The relationship of the headers are complex. In the tutorial, I strongly recommend to indicate which part each header is responsible for.
3.A very important requirement in log system is not given an example in the tutorial. How can I assign different loggers to different sinks or streams added to the sink backend? For example:
I have 3 modules(A B C) in my system. My requirement is all information of A are printed in the console, all info of B logged in B.log and all info of C logged in C.log.
I wish the document could be designed more friendly and with more consideration in practical user scenario. Thanks for any response.
Hi,
I am trying to compile Boost 1.64.0 using android NDK 16b for arm64 using gcc (since we have specific requirement for gcc compilation)
It fails to compile boost_log and results in below error .
boost/boost_1_64_0/libs/log/src/dump_avx2.cpp:21:23: fatal error: immintrin.h: No such file or directory
#include <immintrin.h>
compilation terminated.
CMakeFiles/boost_log.dir/build.make:278: recipe for target 'CMakeFiles/boost_log.dir/boost_1_64_0/libs/log/src/dump_avx2.cpp.o' failed
make[2]: *** [CMakeFiles/boost_log.dir/boost_1_64_0/libs/log/src/dump_avx2.cpp.o] Error 1
make[2]: *** Waiting for unfinished
My build environment:
Android NDK - android-ndk16b
NDK API level - 24
C Compiler - GCC (GNU 4.9.0)
Cmake - 3.9.4
STL - gnustl_static
Host - Ubuntu 16.04.4
Please help me in resolving this. Thank you.
error has came after switching to boost 1.60
maybe related On Windows, the configuration macro BOOST_LOG_USE_WINNT6_API is no longer used by the library. The target Windows version should be configured by defining macro BOOST_USE_WINAPI_VERSION
it seems like it's using v2_mt_nt6
I'm using BOOST_LOG_DYN_LINK
But it's still not clear for me what is using that and how can I change it
I'm using BOOST_LOG_STREAM_SEV
and boost::log::sources::severity_logger< boost::log::trivial::severity_level > lg;
full log:
Error 4 error LNK2019: unresolved external symbol "__declspec(dllimport) private: void __cdecl boost::log::v2_mt_nt6::core::push_record_move(class boost::log::v2_mt_nt6::record &)" (__imp_?push_record_move@core@v2_mt_nt6@log@boost@@AEAAXAEAVrecord@234@@Z) referenced in function "public: void __cdecl boost::log::v2_mt_nt6::core::push_record(class boost::log::v2_mt_nt6::record &&)" (?push_record@core@v2_mt_nt6@log@boost@@QEAAX$$QEAVrecord@234@@Z) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 2 error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __cdecl boost::log::v2_mt_nt6::core::get_logging_enabled(void)const " (__imp_?get_logging_enabled@core@v2_mt_nt6@log@boost@@QEBA_NXZ) referenced in function "public: class boost::log::v2_mt_nt6::record __cdecl boost::log::v2_mt_nt6::sources::basic_composite_logger<char,class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level>,struct boost::log::v2_mt_nt6::sources::single_thread_model,struct boost::log::v2_mt_nt6::sources::features<struct boost::log::v2_mt_nt6::sources::severity<enum boost::log::v2_mt_nt6::trivial::severity_level> > >::open_record<struct boost::parameter::aux::tagged_argument<struct boost::log::v2_mt_nt6::keywords::tag::severity,enum boost::log::v2_mt_nt6::trivial::severity_level const > >(struct boost::parameter::aux::tagged_argument<struct boost::log::v2_mt_nt6::keywords::tag::severity,enum boost::log::v2_mt_nt6::trivial::severity_level const > const &)" (??$open_record@U?$tagged_argument@Useverity@tag@keywords@v2_mt_nt6@log@boost@@$$CBW4severity_level@trivial@456@@aux@parameter@boost@@@?$basic_composite_logger@DV?$severity_logger@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@v2_mt_nt6@log@boost@@Usingle_thread_model@2345@U?$features@U?$severity@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@v2_mt_nt6@log@boost@@@2345@@sources@v2_mt_nt6@log@boost@@QEAA?AVrecord@234@AEBU?$tagged_argument@Useverity@tag@keywords@v2_mt_nt6@log@boost@@$$CBW4severity_level@trivial@456@@aux@parameter@4@@Z) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 3 error LNK2019: unresolved external symbol "__declspec(dllimport) public: class boost::log::v2_mt_nt6::record __cdecl boost::log::v2_mt_nt6::core::open_record(class boost::log::v2_mt_nt6::attribute_set const &)" (__imp_?open_record@core@v2_mt_nt6@log@boost@@QEAA?AVrecord@234@AEBVattribute_set@234@@Z) referenced in function "protected: class boost::log::v2_mt_nt6::record __cdecl boost::log::v2_mt_nt6::sources::basic_logger<char,class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level>,struct boost::log::v2_mt_nt6::sources::single_thread_model>::open_record_unlocked<struct boost::parameter::aux::tagged_argument<struct boost::log::v2_mt_nt6::keywords::tag::severity,enum boost::log::v2_mt_nt6::trivial::severity_level const > >(struct boost::parameter::aux::tagged_argument<struct boost::log::v2_mt_nt6::keywords::tag::severity,enum boost::log::v2_mt_nt6::trivial::severity_level const > const &)" (??$open_record_unlocked@U?$tagged_argument@Useverity@tag@keywords@v2_mt_nt6@log@boost@@$$CBW4severity_level@trivial@456@@aux@parameter@boost@@@?$basic_logger@DV?$severity_logger@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@v2_mt_nt6@log@boost@@Usingle_thread_model@2345@@sources@v2_mt_nt6@log@boost@@IEAA?AVrecord@234@AEBU?$tagged_argument@Useverity@tag@keywords@v2_mt_nt6@log@boost@@$$CBW4severity_level@trivial@456@@aux@parameter@4@@Z) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 7 error LNK2019: unresolved external symbol "__declspec(dllimport) public: class boost::shared_ptr<class boost::log::v2_mt_nt6::sinks::basic_text_ostream_backend<char> > __cdecl Logger::Log::getDataBackend(void)const " (__imp_?getDataBackend@Log@Logger@@QEBA?AV?$shared_ptr@V?$basic_text_ostream_backend@D@sinks@v2_mt_nt6@log@boost@@@boost@@XZ) referenced in function "public: virtual bool __cdecl mitk::SceneIO::SaveScene(class itk::SmartPointer<class itk::VectorContainer<unsigned int,class itk::SmartPointer<class mitk::DataNode> > const >,class mitk::DataStorage const *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?SaveScene@SceneIO@mitk@@UEAA_NV?$SmartPointer@$$CBV?$VectorContainer@IV?$SmartPointer@VDataNode@mitk@@@itk@@@itk@@@itk@@PEBVDataStorage@2@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 8 error LNK2019: unresolved external symbol "__declspec(dllimport) public: static struct boost::log::v2_mt_nt6::aux::stream_provider<char>::stream_compound * __cdecl boost::log::v2_mt_nt6::aux::stream_provider<char>::allocate_compound(class boost::log::v2_mt_nt6::record &)" (__imp_?allocate_compound@?$stream_provider@D@aux@v2_mt_nt6@log@boost@@SAPEAUstream_compound@12345@AEAVrecord@345@@Z) referenced in function "public: __cdecl boost::log::v2_mt_nt6::aux::record_pump<class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level> >::record_pump<class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level> >(class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level> &,class boost::log::v2_mt_nt6::record &)" (??0?$record_pump@V?$severity_logger@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@v2_mt_nt6@log@boost@@@aux@v2_mt_nt6@log@boost@@QEAA@AEAV?$severity_logger@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@234@AEAVrecord@234@@Z) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 9 error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl boost::log::v2_mt_nt6::aux::stream_provider<char>::release_compound(struct boost::log::v2_mt_nt6::aux::stream_provider<char>::stream_compound *)" (__imp_?release_compound@?$stream_provider@D@aux@v2_mt_nt6@log@boost@@SAXPEAUstream_compound@12345@@Z) referenced in function "public: __cdecl boost::log::v2_mt_nt6::aux::record_pump<class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level> >::auto_release::~auto_release(void)" (??1auto_release@?$record_pump@V?$severity_logger@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@v2_mt_nt6@log@boost@@@aux@v2_mt_nt6@log@boost@@QEAA@XZ) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 1 error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void __cdecl boost::log::v2_mt_nt6::record_view::public_data::destroy(struct boost::log::v2_mt_nt6::record_view::public_data const *)" (__imp_?destroy@public_data@record_view@v2_mt_nt6@log@boost@@SAXPEBU12345@@Z) referenced in function "public: void __cdecl boost::log::v2_mt_nt6::record::reset(void)" (?reset@record@v2_mt_nt6@log@boost@@QEAAXXZ) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 5 error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned __int64 & __cdecl boost::log::v2_mt_nt6::sources::aux::get_severity_level(void)" (__imp_?get_severity_level@aux@sources@v2_mt_nt6@log@boost@@YAAEA_KXZ) referenced in function "public: void __cdecl boost::log::v2_mt_nt6::sources::aux::severity_level<enum boost::log::v2_mt_nt6::trivial::severity_level>::set_value(enum boost::log::v2_mt_nt6::trivial::severity_level)" (?set_value@?$severity_level@W40trivial@v2_mt_nt6@log@boost@@@aux@sources@v2_mt_nt6@log@boost@@QEAAXW4severity_level@trivial@456@@Z) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
Error 6 error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl boost::log::v2_mt_nt6::aux::unhandled_exception_count(void)" (__imp_?unhandled_exception_count@aux@v2_mt_nt6@log@boost@@YAIXZ) referenced in function "public: __cdecl boost::log::v2_mt_nt6::aux::record_pump<class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level> >::record_pump<class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level> >(class boost::log::v2_mt_nt6::sources::severity_logger<enum boost::log::v2_mt_nt6::trivial::severity_level> &,class boost::log::v2_mt_nt6::record &)" (??0?$record_pump@V?$severity_logger@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@v2_mt_nt6@log@boost@@@aux@v2_mt_nt6@log@boost@@QEAA@AEAV?$severity_logger@W4severity_level@trivial@v2_mt_nt6@log@boost@@@sources@234@AEAVrecord@234@@Z) D:\D\SB\MITK-superbuild\MITK-build\Modules\SceneSerialization\mitkSceneIO.obj
The compiler detection when upgrading from 1.65 to 1.68, now sets the flag compiler-supports-avx2 which is then used to build in avx2 instructions into the library within the log library. There appears to be no way to disable this other than modifying the log library (or changing the jam file after the failure).
I only noticed this as I upgraded to gcc-4.9.4 with C++11 support but the binutils does not support avx2 instructions, so I can't build boost 1.68 on the target host as delivered.
We've got an extremely large, dynamic environment where we might decide to unload a component (a set of shared libraries). After unloading a component that included Boost.Log (i.e. Boost.Log got unloaded along with application code), we're often seeing a crash from the Boost.Thread library (which remains resident). The problem appears to be that boost::log::core::implementation contains a non-static instance of thread_specific_ptr: m_thread_data.
Instances of thread_specific_ptr install cleanup functions into Boost.Thread; these cleanup functions are called when threads exit. Destroying an instance of thread_specific_ptr removes the cleanup functions so they are not called in the future.
We cannot guarantee that the singleton instance of boost::log::core::implementation is destroyed before Boost.Log gets unloaded. (We do go to fairly heroic lengths to ensure that sinks, attributes, etc. that may have been installed are all removed.) If Boost.Log gets unloaded without destroying the core singleton, Boost.Thread is left holding a dangling cleanup function pointer for m_thread_data. This results in a crash the next time any thread in the process exits.
Since the core is a singleton and thread_specific_ptr is ... per thread ... , there is no need for this to be a regular member variable. It could be a static member. (And in fact the related m_thread_data_cache that's used when compiler TLS is enabled is declared static.) If m_thread_data was declared static, it would be destructed at the time Boost.Log was unloaded, and there would be no dangling cleanup function in Boost.Thread.
I've verified that the following simple patch has resolved all of the remaining crashes we've observed during our unloading stress test. If this is a reasonable solution, I'm happy to submit as a pull request.
@@ -271,7 +271,7 @@
attribute_set m_global_attributes;
#if !defined(BOOST_LOG_NO_THREADS)
//! Thread-specific data
- thread_specific_ptr< thread_data > m_thread_data;
+ static thread_specific_ptr< thread_data > m_thread_data;
#if defined(BOOST_LOG_USE_COMPILER_TLS)
//! Cached pointer to the thread-specific data
@@ -465,6 +465,11 @@
}
};
+#if !defined(BOOST_LOG_NO_THREADS)
+//! Thread-specific data
+thread_specific_ptr< core::implementation::thread_data > core::implementation::m_thread_data;
+#endif
+
#if defined(BOOST_LOG_USE_COMPILER_TLS)
//! Cached pointer to the thread-specific data
BOOST_LOG_TLS core::implementation::thread_data* core::implementation::m_thread_data_cache = NULL;
Version 1.62.0 will not compile on android due to the fact that the android bionic runtime does not have a getsid
function. This is referenced at https://github.com/boostorg/log/blob/boost-1.62.0/src/posix/object_name.cpp#L71
I am willing to work up a PR and submit it - but am wondering what the best approach to do for android would be. Should I #ifndef
just the format_id
call there - and use something else instead of getsid
? Or should I #ifndef
the access to object_name::session
altogether so that scope isn't even available? Or is there some other approach that would be better (I don't believe there is an alternative to getsid
on android - you just aren't allowed to access it at all).
I am using BOOST LOG in my multi-threaded(maximum 3 at a time) application to send logs to remote rsyslog. I am using singleton class to maintain only 1 sink and using different loggers for each thread. Logs are being sent to remote syslog but many times I am facing this issue : If I send 5(more than 1) logs from a thread, 6 (more than 1) logs from another thread ,then
CODE:
header file
class BaseHelper
{
vector<string>sendlogs;
};
class SysLogSink
{
static SysLogSink* _instance;
boost::shared_ptr< sinks::synchronous_sink< sinks::syslog_backend > > sink;
public:
static SysLogSink* getInstance();
SysLogSink();
int initialize(string hostname);
};
class SysLogHelper : public BaseHelper
{
string tag;
SysLogSink* sysLogSink;
src::severity_logger<> lg;
public:
SysLogHelper();
int initialize(string hostname);
int sendLogstoSyslog(string message);
void setPropertiesMessage(string tag);
};
Cpp file:
BaseHelper::BaseHelper()
{
sendLogs.clear();
}
void BaseHelper::addMessagesToVectorAndSend()
{
//It will do some processing and add messages to sendLogs vector.
for(each record in vector)
sendLogstoSyslog(1 record at a time);
//Here if I send 6(more than 1) messages, I am able to see only last message in rsyslog's /var/log/messages, Is it because of some thread issue or am I doing something wrong here?
}
SysLogSink * SysLogSink::_instance = NULL;
SysLogSink* SysLogSink::getInstance()
{
if (_instance == NULL)
{
_instance = new SysLogSink();
}
return _instance;
}
SysLogSink::SysLogSink()
{
sink = boost::shared_ptr<sinks::synchronous_sink< sinks::syslog_backend >>(new sinks::synchronous_sink< sinks::syslog_backend >());
}
int SysLogSink::initialize(string hostname)
{
try
{
sink->set_formatter
(
expr::format("%1%")
% expr::smessage
);
sink->locked_backend()->set_target_address(hostname);
logging::core::get()->add_sink(sink);
}
catch (std::exception& e)
{
return 1;
}
return 0;
}
SysLogHelper::SysLogHelper()
{
tag = "";
sysLogSink = NULL;
}
void SysLogHelper::setPropertiesMessage(string tag)
{
this->tag = tag;
}
int SysLogHelper::sendLogstoSyslog(string message)
{
try
{
message = tag + message;
BOOST_LOG_SEV(lg, sinks::syslog::alert) << message;
}
catch (std::exception& e)
{
return 1;
}
return 0;
}
int SysLogHelper::initialize(string hostname)
{
try
{
sysLogSink = SysLogSink::getInstance();
if (sysLogSink)
{
sysLogSink->initialize(hostname);
}
}
catch(std::exception& e)
{
return 1;
}
return 0;
}
void startprocessing()
{
SysLogHelper sh;
sh.initialize("172.16.56.233");
string tag1 = "some unique tag for each thread";
sh.setPropertiesMessage(/*add unique tag for each thread*/ tag1);
sh.addMessagesToVectorAndSend();
}
int main()
{
//creating multiple threads t1, t2,and t3.
//each thread calls startprocessing function.
}
Build of boost log included into boost 1.63.0 with gcc 4.9.2 fails.
Boost build config:
using gcc
: cxx11
: "/work/bin/g++"
: <compileflags>"-m64 -Wall -O3 -fPIC" <cxxflags>"-std=gnu++11" <linkflags>"-static-libgcc -static-libstdc++"
b2 invocation:
./b2 toolset=gcc-cxx11
Error message:
gcc.compile.c++ bin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi/dump_avx2.o
/tmp/ccGl5frD.s: Assembler messages:
/tmp/ccGl5frD.s:395: Error: suffix or operands invalid forvpsrlw' /tmp/ccGl5frD.s:396: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:397: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:398: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:399: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:400: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:401: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:402: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:403: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:404: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:405: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:406: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccGl5frD.s:407: Error: suffix or operands invalid forvpunpckhbw' /tmp/ccGl5frD.s:408: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:409: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:410: Error: suffix or operands invalid for
vpalignr'
/tmp/ccGl5frD.s:411: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:412: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:414: Error: no such instruction:vextracti128 $0x1,%ymm2,-48(%rax)' /tmp/ccGl5frD.s:415: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:416: Error: no such instruction:vextracti128 $0x1,%ymm1,-16(%rax)' /tmp/ccGl5frD.s:418: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:420: Error: no such instruction:vextracti128 $0x1,%ymm0,-32(%rax)' /tmp/ccGl5frD.s:466: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccGl5frD.s:468: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:470: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:472: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:473: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:474: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:475: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:476: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:477: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:479: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:480: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:481: Error: suffix or operands invalid forvpunpcklbw' /tmp/ccGl5frD.s:482: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccGl5frD.s:483: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:484: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:485: Error: suffix or operands invalid forvpalignr' /tmp/ccGl5frD.s:486: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:487: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:489: Error: no such instruction:
vextracti128 $0x1,%ymm2,48(%r13)'
/tmp/ccGl5frD.s:490: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:491: Error: no such instruction:
vextracti128 $0x1,%ymm1,80(%r13)'
/tmp/ccGl5frD.s:492: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:495: Error: no such instruction:
vextracti128 $0x1,%ymm0,64(%r13)'
/tmp/ccGl5frD.s:543: Error: no such instruction:vinserti128 $0x1,%xmm1,%ymm0,%ymm1' /tmp/ccGl5frD.s:544: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:545: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:546: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:547: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:548: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:550: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:551: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccGl5frD.s:552: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:553: Error: no such instruction:
vextracti128 $0x1,%ymm1,-16(%r13)'
/tmp/ccGl5frD.s:702: Error: suffix or operands invalid forvpsrlw' /tmp/ccGl5frD.s:703: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:704: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:705: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:706: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:707: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:708: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:709: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:710: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:711: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:712: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:713: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccGl5frD.s:714: Error: suffix or operands invalid forvpunpckhbw' /tmp/ccGl5frD.s:715: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:716: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:717: Error: suffix or operands invalid for
vpalignr'
/tmp/ccGl5frD.s:718: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:719: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:721: Error: no such instruction:vextracti128 $0x1,%ymm2,%xmm2' /tmp/ccGl5frD.s:722: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:723: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:725: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:727: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:730: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccGl5frD.s:732: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:734: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:737: Error: no such instruction:vextracti128 $0x1,%ymm0,%xmm0' /tmp/ccGl5frD.s:739: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:741: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:744: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:746: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:749: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:751: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:754: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:756: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:801: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccGl5frD.s:803: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:805: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:807: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:808: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:809: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:810: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:811: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:812: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:814: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:815: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:816: Error: suffix or operands invalid forvpunpcklbw' /tmp/ccGl5frD.s:817: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccGl5frD.s:818: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:819: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:820: Error: suffix or operands invalid forvpalignr' /tmp/ccGl5frD.s:821: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:822: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:824: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm2'
/tmp/ccGl5frD.s:825: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:826: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:828: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:830: Error: no such instruction:
vextracti128 $0x1,%ymm3,16(%r13)'
/tmp/ccGl5frD.s:831: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:833: Error: no such instruction:
vextracti128 $0x1,%ymm3,48(%r13)'
/tmp/ccGl5frD.s:835: Error: no such instruction:vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccGl5frD.s:837: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:839: Error: no such instruction:vextracti128 $0x1,%ymm3,80(%r13)' /tmp/ccGl5frD.s:840: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:842: Error: no such instruction:vextracti128 $0x1,%ymm3,112(%r13)' /tmp/ccGl5frD.s:844: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccGl5frD.s:846: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:848: Error: no such instruction:
vextracti128 $0x1,%ymm3,144(%r13)'
/tmp/ccGl5frD.s:849: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:851: Error: no such instruction:
vextracti128 $0x1,%ymm3,176(%r13)'
/tmp/ccGl5frD.s:853: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:855: Error: no such instruction:
vextracti128 $0x1,%ymm2,208(%r13)'
/tmp/ccGl5frD.s:856: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:858: Error: no such instruction:
vextracti128 $0x1,%ymm2,240(%r13)'
/tmp/ccGl5frD.s:860: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:862: Error: no such instruction:
vextracti128 $0x1,%ymm1,272(%r13)'
/tmp/ccGl5frD.s:863: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:865: Error: no such instruction:
vextracti128 $0x1,%ymm1,304(%r13)'
/tmp/ccGl5frD.s:867: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:869: Error: no such instruction:
vextracti128 $0x1,%ymm0,336(%r13)'
/tmp/ccGl5frD.s:870: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:872: Error: no such instruction:
vextracti128 $0x1,%ymm0,368(%r13)'
/tmp/ccGl5frD.s:913: Error: no such instruction:vinserti128 $0x1,%xmm1,%ymm0,%ymm1' /tmp/ccGl5frD.s:914: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:915: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:916: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:917: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:918: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:920: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:921: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccGl5frD.s:922: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:927: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:928: Error: no such instruction:vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccGl5frD.s:931: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:934: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:936: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:939: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:940: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:1771: Error: suffix or operands invalid forvpsrlw' /tmp/ccGl5frD.s:1772: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:1773: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:1774: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:1775: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:1776: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:1777: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:1778: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:1779: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:1780: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:1781: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:1782: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccGl5frD.s:1783: Error: suffix or operands invalid forvpunpckhbw' /tmp/ccGl5frD.s:1784: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:1785: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:1786: Error: suffix or operands invalid for
vpalignr'
/tmp/ccGl5frD.s:1787: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:1788: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:1790: Error: no such instruction:vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccGl5frD.s:1791: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:1792: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1793: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:1794: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1798: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm1'
/tmp/ccGl5frD.s:1799: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1800: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm0'
/tmp/ccGl5frD.s:1803: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1804: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccGl5frD.s:1805: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1852: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccGl5frD.s:1854: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:1856: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:1858: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:1859: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:1860: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:1861: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:1862: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:1863: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:1865: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:1866: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:1867: Error: suffix or operands invalid forvpunpcklbw' /tmp/ccGl5frD.s:1868: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccGl5frD.s:1869: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:1870: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:1871: Error: suffix or operands invalid forvpalignr' /tmp/ccGl5frD.s:1872: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:1873: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:1875: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm2'
/tmp/ccGl5frD.s:1876: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:1877: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccGl5frD.s:1878: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:1879: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccGl5frD.s:1881: Error: no such instruction:vextracti128 $0x1,%ymm3,16(%r13)' /tmp/ccGl5frD.s:1883: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccGl5frD.s:1885: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1886: Error: no such instruction:
vextracti128 $0x1,%ymm2,112(%r13)'
/tmp/ccGl5frD.s:1887: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1889: Error: no such instruction:
vextracti128 $0x1,%ymm0,144(%r13)'
/tmp/ccGl5frD.s:1891: Error: no such instruction:vextracti128 $0x1,%ymm1,%xmm0' /tmp/ccGl5frD.s:1892: Error: no such instruction:
vextracti128 $0x1,%ymm3,48(%r13)'
/tmp/ccGl5frD.s:1894: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1895: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccGl5frD.s:1897: Error: no such instruction:vextracti128 $0x1,%ymm3,80(%r13)' /tmp/ccGl5frD.s:1899: Error: no such instruction:
vextracti128 $0x1,%ymm0,176(%r13)'
/tmp/ccGl5frD.s:1940: Error: no such instruction:vinserti128 $0x1,%xmm1,%ymm0,%ymm1' /tmp/ccGl5frD.s:1941: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:1942: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:1943: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:1944: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:1945: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:1947: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:1948: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccGl5frD.s:1949: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:1953: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccGl5frD.s:1955: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:1956: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccGl5frD.s:1958: Error: suffix or operands invalid forvpmovzxbw' /tmp/ccGl5frD.s:2621: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccGl5frD.s:2622: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:2623: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:2624: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:2625: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:2626: Error: suffix or operands invalid forvpcmpgtb' /tmp/ccGl5frD.s:2627: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:2628: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:2629: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:2630: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:2631: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:2632: Error: suffix or operands invalid forvpunpcklbw' /tmp/ccGl5frD.s:2633: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccGl5frD.s:2634: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:2635: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:2636: Error: suffix or operands invalid forvpalignr' /tmp/ccGl5frD.s:2637: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:2638: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:2640: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm2'
/tmp/ccGl5frD.s:2641: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:2642: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:2644: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2646: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2649: Error: no such instruction:vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccGl5frD.s:2651: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2653: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2656: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccGl5frD.s:2658: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2660: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2663: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2665: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2668: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2670: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2673: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2675: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2720: Error: suffix or operands invalid forvpsrlw' /tmp/ccGl5frD.s:2722: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:2724: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:2726: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:2727: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:2728: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:2729: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:2730: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:2731: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:2733: Error: suffix or operands invalid for
vpaddb'
/tmp/ccGl5frD.s:2734: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:2735: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccGl5frD.s:2736: Error: suffix or operands invalid forvpunpckhbw' /tmp/ccGl5frD.s:2737: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:2738: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:2739: Error: suffix or operands invalid for
vpalignr'
/tmp/ccGl5frD.s:2740: Error: suffix or operands invalid forvpshufb' /tmp/ccGl5frD.s:2741: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:2743: Error: no such instruction:vextracti128 $0x1,%ymm2,%xmm2' /tmp/ccGl5frD.s:2744: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:2745: Error: suffix or operands invalid forvpmaxub' /tmp/ccGl5frD.s:2747: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2749: Error: no such instruction:vextracti128 $0x1,%ymm3,16(%r13)' /tmp/ccGl5frD.s:2750: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2752: Error: no such instruction:vextracti128 $0x1,%ymm3,48(%r13)' /tmp/ccGl5frD.s:2754: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccGl5frD.s:2756: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2758: Error: no such instruction:
vextracti128 $0x1,%ymm3,80(%r13)'
/tmp/ccGl5frD.s:2759: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2761: Error: no such instruction:
vextracti128 $0x1,%ymm3,112(%r13)'
/tmp/ccGl5frD.s:2763: Error: no such instruction:vextracti128 $0x1,%ymm0,%xmm0' /tmp/ccGl5frD.s:2765: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2767: Error: no such instruction:vextracti128 $0x1,%ymm3,144(%r13)' /tmp/ccGl5frD.s:2768: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2770: Error: no such instruction:vextracti128 $0x1,%ymm3,176(%r13)' /tmp/ccGl5frD.s:2772: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2774: Error: no such instruction:vextracti128 $0x1,%ymm2,208(%r13)' /tmp/ccGl5frD.s:2775: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2777: Error: no such instruction:vextracti128 $0x1,%ymm2,240(%r13)' /tmp/ccGl5frD.s:2779: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2781: Error: no such instruction:vextracti128 $0x1,%ymm1,272(%r13)' /tmp/ccGl5frD.s:2782: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2784: Error: no such instruction:vextracti128 $0x1,%ymm1,304(%r13)' /tmp/ccGl5frD.s:2786: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2788: Error: no such instruction:vextracti128 $0x1,%ymm0,336(%r13)' /tmp/ccGl5frD.s:2789: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2791: Error: no such instruction:vextracti128 $0x1,%ymm0,368(%r13)' /tmp/ccGl5frD.s:2832: Error: no such instruction:
vinserti128 $0x1,%xmm1,%ymm0,%ymm1'
/tmp/ccGl5frD.s:2833: Error: suffix or operands invalid forvpand' /tmp/ccGl5frD.s:2834: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccGl5frD.s:2835: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:2836: Error: suffix or operands invalid for
vpand'
/tmp/ccGl5frD.s:2837: Error: suffix or operands invalid forvpaddb' /tmp/ccGl5frD.s:2839: Error: suffix or operands invalid for
vpshufb'
/tmp/ccGl5frD.s:2840: Error: no such instruction:vextracti128 $0x1,%ymm0,%xmm0' /tmp/ccGl5frD.s:2841: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccGl5frD.s:2846: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2847: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccGl5frD.s:2850: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2853: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2855: Error: suffix or operands invalid forvpmovzxbd' /tmp/ccGl5frD.s:2858: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccGl5frD.s:2859: Error: suffix or operands invalid for `vpmovzxbd'
"/work/bin/g++" -ftemplate-depth-128 -std=gnu++11 -O3 -finline-functions -Wno-inline -Wall -m64 -Wall -O3 -fPIC -pthread -m64 -fno-strict-aliasing -ftemplate-depth-1024 -fvisibility=hidden -mavx -mavx2 -fabi-version=0 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_STATIC_LINK=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_FILESYSTEM_STATIC_LINK=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -D_XOPEN_SOURCE=600 -D__STDC_CONSTANT_MACROS -I"." -I"libs/log/src" -c -o "bin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi/dump_avx2.o" "libs/log/src/dump_avx2.cpp"
...failed gcc.compile.c++ bin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi/dump_avx2.o...
...skipped <pbin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi>libboost_log.a(clean) for lack of <pbin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi>dump_avx2.o...
...skipped <pbin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi>libboost_log.a for lack of <pbin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi>dump_avx2.o...
...skipped <pstage/lib>libboost_log.a for lack of <pbin.v2/libs/log/build/gcc-cxx11/release/link-static/threading-multi>libboost_log.a...
gcc.compile.c++ bin.v2/libs/log/build/gcc-cxx11/release/threading-multi/dump_avx2.o
/tmp/ccjZXH2u.s: Assembler messages:
/tmp/ccjZXH2u.s:395: Error: suffix or operands invalid for vpsrlw' /tmp/ccjZXH2u.s:396: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:397: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:398: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:399: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:400: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:401: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:402: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:403: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:404: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:405: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:406: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccjZXH2u.s:407: Error: suffix or operands invalid for vpunpckhbw' /tmp/ccjZXH2u.s:408: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:409: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:410: Error: suffix or operands invalid for
vpalignr'
/tmp/ccjZXH2u.s:411: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:412: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:414: Error: no such instruction: vextracti128 $0x1,%ymm2,-48(%rax)' /tmp/ccjZXH2u.s:415: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:416: Error: no such instruction: vextracti128 $0x1,%ymm1,-16(%rax)' /tmp/ccjZXH2u.s:418: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:420: Error: no such instruction: vextracti128 $0x1,%ymm0,-32(%rax)' /tmp/ccjZXH2u.s:466: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccjZXH2u.s:468: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:470: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:472: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:473: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:474: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:475: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:476: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:477: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:479: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:480: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:481: Error: suffix or operands invalid for vpunpcklbw' /tmp/ccjZXH2u.s:482: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccjZXH2u.s:483: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:484: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:485: Error: suffix or operands invalid for vpalignr' /tmp/ccjZXH2u.s:486: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:487: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:489: Error: no such instruction:
vextracti128 $0x1,%ymm2,48(%r13)'
/tmp/ccjZXH2u.s:490: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:491: Error: no such instruction:
vextracti128 $0x1,%ymm1,80(%r13)'
/tmp/ccjZXH2u.s:492: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:495: Error: no such instruction:
vextracti128 $0x1,%ymm0,64(%r13)'
/tmp/ccjZXH2u.s:543: Error: no such instruction: vinserti128 $0x1,%xmm1,%ymm0,%ymm1' /tmp/ccjZXH2u.s:544: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:545: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:546: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:547: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:548: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:550: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:551: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccjZXH2u.s:552: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:553: Error: no such instruction:
vextracti128 $0x1,%ymm1,-16(%r13)'
/tmp/ccjZXH2u.s:702: Error: suffix or operands invalid for vpsrlw' /tmp/ccjZXH2u.s:703: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:704: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:705: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:706: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:707: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:708: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:709: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:710: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:711: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:712: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:713: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccjZXH2u.s:714: Error: suffix or operands invalid for vpunpckhbw' /tmp/ccjZXH2u.s:715: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:716: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:717: Error: suffix or operands invalid for
vpalignr'
/tmp/ccjZXH2u.s:718: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:719: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:721: Error: no such instruction: vextracti128 $0x1,%ymm2,%xmm2' /tmp/ccjZXH2u.s:722: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:723: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:725: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:727: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:730: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccjZXH2u.s:732: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:734: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:737: Error: no such instruction: vextracti128 $0x1,%ymm0,%xmm0' /tmp/ccjZXH2u.s:739: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:741: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:744: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:746: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:749: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:751: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:754: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:756: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:801: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccjZXH2u.s:803: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:805: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:807: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:808: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:809: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:810: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:811: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:812: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:814: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:815: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:816: Error: suffix or operands invalid for vpunpcklbw' /tmp/ccjZXH2u.s:817: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccjZXH2u.s:818: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:819: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:820: Error: suffix or operands invalid for vpalignr' /tmp/ccjZXH2u.s:821: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:822: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:824: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm2'
/tmp/ccjZXH2u.s:825: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:826: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:828: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:830: Error: no such instruction:
vextracti128 $0x1,%ymm3,16(%r13)'
/tmp/ccjZXH2u.s:831: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:833: Error: no such instruction:
vextracti128 $0x1,%ymm3,48(%r13)'
/tmp/ccjZXH2u.s:835: Error: no such instruction: vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccjZXH2u.s:837: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:839: Error: no such instruction: vextracti128 $0x1,%ymm3,80(%r13)' /tmp/ccjZXH2u.s:840: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:842: Error: no such instruction: vextracti128 $0x1,%ymm3,112(%r13)' /tmp/ccjZXH2u.s:844: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccjZXH2u.s:846: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:848: Error: no such instruction:
vextracti128 $0x1,%ymm3,144(%r13)'
/tmp/ccjZXH2u.s:849: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:851: Error: no such instruction:
vextracti128 $0x1,%ymm3,176(%r13)'
/tmp/ccjZXH2u.s:853: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:855: Error: no such instruction:
vextracti128 $0x1,%ymm2,208(%r13)'
/tmp/ccjZXH2u.s:856: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:858: Error: no such instruction:
vextracti128 $0x1,%ymm2,240(%r13)'
/tmp/ccjZXH2u.s:860: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:862: Error: no such instruction:
vextracti128 $0x1,%ymm1,272(%r13)'
/tmp/ccjZXH2u.s:863: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:865: Error: no such instruction:
vextracti128 $0x1,%ymm1,304(%r13)'
/tmp/ccjZXH2u.s:867: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:869: Error: no such instruction:
vextracti128 $0x1,%ymm0,336(%r13)'
/tmp/ccjZXH2u.s:870: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:872: Error: no such instruction:
vextracti128 $0x1,%ymm0,368(%r13)'
/tmp/ccjZXH2u.s:913: Error: no such instruction: vinserti128 $0x1,%xmm1,%ymm0,%ymm1' /tmp/ccjZXH2u.s:914: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:915: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:916: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:917: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:918: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:920: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:921: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccjZXH2u.s:922: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:927: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:928: Error: no such instruction: vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccjZXH2u.s:931: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:934: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:936: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:939: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:940: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:1771: Error: suffix or operands invalid for vpsrlw' /tmp/ccjZXH2u.s:1772: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:1773: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:1774: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:1775: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:1776: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:1777: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:1778: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:1779: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:1780: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:1781: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:1782: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccjZXH2u.s:1783: Error: suffix or operands invalid for vpunpckhbw' /tmp/ccjZXH2u.s:1784: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:1785: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:1786: Error: suffix or operands invalid for
vpalignr'
/tmp/ccjZXH2u.s:1787: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:1788: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:1790: Error: no such instruction: vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccjZXH2u.s:1791: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:1792: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1793: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:1794: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1798: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm1'
/tmp/ccjZXH2u.s:1799: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1800: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm0'
/tmp/ccjZXH2u.s:1803: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1804: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccjZXH2u.s:1805: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1852: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccjZXH2u.s:1854: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:1856: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:1858: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:1859: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:1860: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:1861: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:1862: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:1863: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:1865: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:1866: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:1867: Error: suffix or operands invalid for vpunpcklbw' /tmp/ccjZXH2u.s:1868: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccjZXH2u.s:1869: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:1870: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:1871: Error: suffix or operands invalid for vpalignr' /tmp/ccjZXH2u.s:1872: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:1873: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:1875: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm2'
/tmp/ccjZXH2u.s:1876: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:1877: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccjZXH2u.s:1878: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:1879: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccjZXH2u.s:1881: Error: no such instruction: vextracti128 $0x1,%ymm3,16(%r13)' /tmp/ccjZXH2u.s:1883: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccjZXH2u.s:1885: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1886: Error: no such instruction:
vextracti128 $0x1,%ymm2,112(%r13)'
/tmp/ccjZXH2u.s:1887: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1889: Error: no such instruction:
vextracti128 $0x1,%ymm0,144(%r13)'
/tmp/ccjZXH2u.s:1891: Error: no such instruction: vextracti128 $0x1,%ymm1,%xmm0' /tmp/ccjZXH2u.s:1892: Error: no such instruction:
vextracti128 $0x1,%ymm3,48(%r13)'
/tmp/ccjZXH2u.s:1894: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1895: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccjZXH2u.s:1897: Error: no such instruction: vextracti128 $0x1,%ymm3,80(%r13)' /tmp/ccjZXH2u.s:1899: Error: no such instruction:
vextracti128 $0x1,%ymm0,176(%r13)'
/tmp/ccjZXH2u.s:1940: Error: no such instruction: vinserti128 $0x1,%xmm1,%ymm0,%ymm1' /tmp/ccjZXH2u.s:1941: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:1942: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:1943: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:1944: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:1945: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:1947: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:1948: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccjZXH2u.s:1949: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:1953: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccjZXH2u.s:1955: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:1956: Error: suffix or operands invalid for
vpmovzxbw'
/tmp/ccjZXH2u.s:1958: Error: suffix or operands invalid for vpmovzxbw' /tmp/ccjZXH2u.s:2621: Error: suffix or operands invalid for
vpsrlw'
/tmp/ccjZXH2u.s:2622: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:2623: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:2624: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:2625: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:2626: Error: suffix or operands invalid for vpcmpgtb' /tmp/ccjZXH2u.s:2627: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:2628: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:2629: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:2630: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:2631: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:2632: Error: suffix or operands invalid for vpunpcklbw' /tmp/ccjZXH2u.s:2633: Error: suffix or operands invalid for
vpunpckhbw'
/tmp/ccjZXH2u.s:2634: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:2635: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:2636: Error: suffix or operands invalid for vpalignr' /tmp/ccjZXH2u.s:2637: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:2638: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:2640: Error: no such instruction:
vextracti128 $0x1,%ymm2,%xmm2'
/tmp/ccjZXH2u.s:2641: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:2642: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:2644: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2646: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2649: Error: no such instruction: vextracti128 $0x1,%ymm1,%xmm1' /tmp/ccjZXH2u.s:2651: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2653: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2656: Error: no such instruction:
vextracti128 $0x1,%ymm0,%xmm0'
/tmp/ccjZXH2u.s:2658: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2660: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2663: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2665: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2668: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2670: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2673: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2675: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2720: Error: suffix or operands invalid for vpsrlw' /tmp/ccjZXH2u.s:2722: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:2724: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:2726: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:2727: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:2728: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:2729: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:2730: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:2731: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:2733: Error: suffix or operands invalid for
vpaddb'
/tmp/ccjZXH2u.s:2734: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:2735: Error: suffix or operands invalid for
vpunpcklbw'
/tmp/ccjZXH2u.s:2736: Error: suffix or operands invalid for vpunpckhbw' /tmp/ccjZXH2u.s:2737: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:2738: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:2739: Error: suffix or operands invalid for
vpalignr'
/tmp/ccjZXH2u.s:2740: Error: suffix or operands invalid for vpshufb' /tmp/ccjZXH2u.s:2741: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:2743: Error: no such instruction: vextracti128 $0x1,%ymm2,%xmm2' /tmp/ccjZXH2u.s:2744: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:2745: Error: suffix or operands invalid for vpmaxub' /tmp/ccjZXH2u.s:2747: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2749: Error: no such instruction: vextracti128 $0x1,%ymm3,16(%r13)' /tmp/ccjZXH2u.s:2750: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2752: Error: no such instruction: vextracti128 $0x1,%ymm3,48(%r13)' /tmp/ccjZXH2u.s:2754: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccjZXH2u.s:2756: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2758: Error: no such instruction:
vextracti128 $0x1,%ymm3,80(%r13)'
/tmp/ccjZXH2u.s:2759: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2761: Error: no such instruction:
vextracti128 $0x1,%ymm3,112(%r13)'
/tmp/ccjZXH2u.s:2763: Error: no such instruction: vextracti128 $0x1,%ymm0,%xmm0' /tmp/ccjZXH2u.s:2765: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2767: Error: no such instruction: vextracti128 $0x1,%ymm3,144(%r13)' /tmp/ccjZXH2u.s:2768: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2770: Error: no such instruction: vextracti128 $0x1,%ymm3,176(%r13)' /tmp/ccjZXH2u.s:2772: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2774: Error: no such instruction: vextracti128 $0x1,%ymm2,208(%r13)' /tmp/ccjZXH2u.s:2775: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2777: Error: no such instruction: vextracti128 $0x1,%ymm2,240(%r13)' /tmp/ccjZXH2u.s:2779: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2781: Error: no such instruction: vextracti128 $0x1,%ymm1,272(%r13)' /tmp/ccjZXH2u.s:2782: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2784: Error: no such instruction: vextracti128 $0x1,%ymm1,304(%r13)' /tmp/ccjZXH2u.s:2786: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2788: Error: no such instruction: vextracti128 $0x1,%ymm0,336(%r13)' /tmp/ccjZXH2u.s:2789: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2791: Error: no such instruction: vextracti128 $0x1,%ymm0,368(%r13)' /tmp/ccjZXH2u.s:2832: Error: no such instruction:
vinserti128 $0x1,%xmm1,%ymm0,%ymm1'
/tmp/ccjZXH2u.s:2833: Error: suffix or operands invalid for vpand' /tmp/ccjZXH2u.s:2834: Error: suffix or operands invalid for
vpcmpgtb'
/tmp/ccjZXH2u.s:2835: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:2836: Error: suffix or operands invalid for
vpand'
/tmp/ccjZXH2u.s:2837: Error: suffix or operands invalid for vpaddb' /tmp/ccjZXH2u.s:2839: Error: suffix or operands invalid for
vpshufb'
/tmp/ccjZXH2u.s:2840: Error: no such instruction: vextracti128 $0x1,%ymm0,%xmm0' /tmp/ccjZXH2u.s:2841: Error: suffix or operands invalid for
vpmaxub'
/tmp/ccjZXH2u.s:2846: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2847: Error: no such instruction:
vextracti128 $0x1,%ymm1,%xmm1'
/tmp/ccjZXH2u.s:2850: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2853: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2855: Error: suffix or operands invalid for vpmovzxbd' /tmp/ccjZXH2u.s:2858: Error: suffix or operands invalid for
vpmovzxbd'
/tmp/ccjZXH2u.s:2859: Error: suffix or operands invalid for `vpmovzxbd'
"/work/bin/g++" -ftemplate-depth-128 -std=gnu++11 -O3 -finline-functions -Wno-inline -Wall -m64 -Wall -O3 -fPIC -pthread -fPIC -m64 -fno-strict-aliasing -ftemplate-depth-1024 -fvisibility=hidden -mavx -mavx2 -fabi-version=0 -DBOOST_ALL_NO_LIB=1 -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_CHRONO_DYN_LINK=1 -DBOOST_DATE_TIME_DYN_LINK=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_LOG_BUILDING_THE_LIB=1 -DBOOST_LOG_DLL -DBOOST_LOG_HAS_PTHREAD_MUTEX_ROBUST -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_EVENT_LOG -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_THREAD_DONT_USE_CHRONO=1 -DBOOST_THREAD_POSIX -DBOOST_THREAD_USE_DLL=1 -DDATE_TIME_INLINE -DNDEBUG -D_XOPEN_SOURCE=600 -D__STDC_CONSTANT_MACROS -I"." -I"libs/log/src" -c -o "bin.v2/libs/log/build/gcc-cxx11/release/threading-multi/dump_avx2.o" "libs/log/src/dump_avx2.cpp"
...failed gcc.compile.c++ bin.v2/libs/log/build/gcc-cxx11/release/threading-multi/dump_avx2.o...
...skipped <pbin.v2/libs/log/build/gcc-cxx11/release/threading-multi>libboost_log.so.1.63.0 for lack of <pbin.v2/libs/log/build/gcc-cxx11/release/threading-multi>dump_avx2.o...
...skipped <pstage/lib>libboost_log.so.1.63.0 for lack of <pbin.v2/libs/log/build/gcc-cxx11/release/threading-multi>libboost_log.so.1.63.0...
...skipped <pstage/lib>libboost_log.so for lack of <pstage/lib>libboost_log.so.1.63.0...
...skipped <pbin.v2/libs/log/build/gcc-cxx11/release/threading-multi>libboost_log_setup.so.1.63.0 for lack of <pbin.v2/libs/log/build/gcc-cxx11/release/threading-multi>libboost_log.so.1.63.0...
...skipped <pstage/lib>libboost_log_setup.so.1.63.0 for lack of <pbin.v2/libs/log/build/gcc-cxx11/release/threading-multi>libboost_log_setup.so.1.63.0...
...skipped <pstage/lib>libboost_log_setup.so for lack of <pstage/lib>libboost_log_setup.so.1.63.0...
...failed updating 2 targets...
...skipped 9 targets...
Hello.
RFC 3164 implementation for udp_socket_based for syslog_backend broken.
Modified example https://github.com/boostorg/log/blob/develop/example/native_syslog/main.cpp
generate message:
<190> Oct 12 21:58:45 DESKTOP-G84C4JR native_syslog: 0: A syslog record with normal level
2 spaces between Oct & 12 (many thanks to github bugged editor)
1st:
The TIMESTAMP will immediately follow the trailing ">" from the PRI part
2nd:
The TIMESTAMP field is the local time and is in the format of "Mmm dd hh:mm:ss"
maybe another bugs, but I don't check
While building Boost 1.60.0 (with VS 2015), I get this message for syslog_backend.cpp and init_from_settings.cpp:
Please define _WIN32_WINNT or _WIN32_WINDOWS appropriately. For example:
- add -D_WIN32_WINNT=0x0501 to the compiler command line; or
- add _WIN32_WINNT=0x0501 to your project's Preprocessor Definitions.
Assuming _WIN32_WINNT=0x0501 (i.e. Windows XP target).
It comes from asio/detail/config.hpp, but is caused, I think, by detail/winapi/config.hpp getting its definitions wrong:
#if !defined(BOOST_USE_WINAPI_VERSION)
#if defined(_WIN32_WINNT)
#define BOOST_USE_WINAPI_VERSION _WIN32_WINNT
#elif defined(WINVER)
#define BOOST_USE_WINAPI_VERSION WINVER
#else
// By default use Windows Vista API on compilers that support it and XP on the others
#if (defined(_MSC_VER) && _MSC_VER <= 1400) || defined(BOOST_WINAPI_IS_MINGW)
#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WINXP
#else
#define BOOST_USE_WINAPI_VERSION BOOST_WINAPI_VERSION_WIN6
#endif
#endif
#endif
#if defined(BOOST_USE_WINDOWS_H)
// We have to define the version macros so that windows.h provides the necessary symbols
#if !defined(_WIN32_WINNT)
#define _WIN32_WINNT BOOST_USE_WINAPI_VERSION
#endif
#if !defined(WINVER)
#define WINVER BOOST_USE_WINAPI_VERSION
#endif
#endif
Note that the value of BOOST_USE_WINAPI_VERSION, defined or defaulted, is transferred to _WIN32_WINNT only if BOOST_USE_WINDOWS_H is defined. It is not defined in my build, and AFAICT I'm not doing anything that would remove it or prevent it from getting defined by whatever might be supposed to define it.
As of 1.70, boost in github breaks my cmake builds. This is not an issue in 1.69. It seems like boost now includes a bunch of cmake config files. Among other things, Boost_LIBRARIES from findboost no longer gets set, and boost::log does not find a library (causing the cmake to fail) unless BUILD_SHARED_LIBS is set to ON. It's not a huge problem for what I'm doing at the moment, but I imagine it could cause some trouble once more people start using this version.
The operator<< overloads will fail to find a result for basic_format<char, std::char_traits, std::allocator>
Please advise/provide a patch - I believe this might work but I do not have time to muck around this week on this
basic_formatting_ostream& operator<< (boost::basic_format< char_type, traits_type >* formatter)
{
m_stream << buf;
return *this;
}
Error compiling sample code in 1.59 & 1.58. At least 1.55 works fine
How to reproduce:
<< expr::if_(expr::contains(expr::smessage, "error"))
[
expr::stream << " an error msg: " << expr::csv_decor[expr::stream << expr::message]
]
.else_
[
expr::stream << expr::csv_decor[expr::stream << expr::message]
]
..\formatters\char_decorator.hpp(320) : error C2039 : 'flush' : is not a member of 'boost::log::v2s_mt_nt5::expressions::aux::stream_ref<boost::log::v2s_mt_nt5::basic_formatting_ostream<char,std::char_traits<char>,std::allocator<char>>>'
As stated in the title.
compile command line:
b2 --user-config=/tmp/portage/dev-libs/boost-1.65.0-r1/work/boost_1_65_0-abi_x86_32.x86/user-config.jam gentoorelease -j16 -q -d+2 -sICU_PATH=/usr --without-mpi --without-context --without-coroutine --without-fiber pch=off --boost-build=/usr/share/boost-build --prefix=/tmp/portage/dev-libs/boost-1.65.0-r1/image/usr --layout=system threading=multi link=shared -sNO_BZIP2=1 target-os=windows --without-python
user-config.jam:
using gcc : 6.4 : i686-w64-mingw32-g++ : <cflags>"-O2 -pipe -fomit-frame-pointer" <cxxflags>"-O2 -pipe -fomit-frame-pointer -std=c++14" <linkflags>"-Wl,-O1 -Wl,--as-needed" ;
build.log:
https://bpaste.net/show/0f4ad2771c83
if you need any other info, please let me know.
Hi,
I am not sure what is the root cause of the ${SUBJECT} problem, and i am not sure which component of boost
is crashing. From the gdb backtrace, I see the problem is with boost log and I am not sure whether it is the real problem.
I am attaching the back trace file, and in that file it is failing at the file dbActions.cpp:496
which is my code file, and the content of the file at that line number is
SLOG( debu ) << "executing query " << query; --> query is (const string&)
But, I am not facing this issue in visual studio 15.8.
Kindly let me know if I miss anything here.
back_trace.txt
Undefined symbols for architecture x86_64:
"boost::log::v2s_mt_posix::attribute_set::insert(boost::log::v2s_mt_posix::attribute_name, boost::log::v2s_mt_posix::attribute const&)", referenced from:
boost::log::v2s_mt_posix::sources::basic_logger<char, boost::log::v2s_mt_posix::sources::severity_loggerboost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::sources::single_thread_model>::add_attribute_unlocked(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)
$ gcc-7 --version
gcc-7 (Ubuntu 7.2.0-1ubuntu1~14.04) 7.2.0
In file included from ../../../boost/log/detail/custom_terminal_spec.hpp:25:0,
from core/custom_terminal.cpp:8:
../../../boost/log/detail/config.hpp:358:27: error: strong using is deprecated; use inline namespaces instead [-Werror=deprecated]
__attribute__((__strong__))
^
cc1plus: all warnings being treated as errors
"g++-7" -O3 -finline-functions -Wno-inline -Wall -Werror -pthread -fPIC -m64 -std=c++03 -DBOOST_ALL_NO_LIB=1 -DNDEBUG -I"../../.." -c -o "../../../bin.v2/libs/phoenix/test/custom_terminal.test/gcc-gnu-7/release/cxxstd-03-iso/threadapi-pthread/threading-multi/core/custom_terminal.o" "core/custom_terminal.cpp"
Hello:
I try to compile boost_log on CentOS 5.0, but it show the error:
./boost/type_traits/is_class.hpp:51: warning: lowering visibility of ‘boost::type_traits::no_type boost::detail::is_class_tester(...) [with U = long long unsigned int]’ to match its type
/usr/include/linux/futex.h:96: error: ‘u32’ was not declared in this scope
/usr/include/linux/futex.h:96: error: ‘uaddr’ was not declared in this scope
/usr/include/linux/futex.h:96: error: expected primary-expression before ‘int’
/usr/include/linux/futex.h:96: error: ‘u32’ was not declared in this scope
/usr/include/linux/futex.h:96: error: expected primary-expression before ‘unsigned’
/usr/include/linux/futex.h:97: error: ‘u32’ was not declared in this scope
/usr/include/linux/futex.h:97: error: ‘uaddr2’ was not declared in this scope
/usr/include/linux/futex.h:97: error: ‘u32’ was not declared in this scope
/usr/include/linux/futex.h:97: error: ‘u32’ was not declared in this scope
/usr/include/linux/futex.h:97: error: initializer expression list treated as compound expression
/usr/include/linux/futex.h:100: error: ‘u32’ was not declared in this scope
/usr/include/linux/futex.h:100: error: ‘uaddr’ was not declared in this scope
/usr/include/linux/futex.h:100: error: expected primary-expression before ‘struct’
/usr/include/linux/futex.h:100: error: expected primary-expression before ‘int’
/usr/include/linux/futex.h:100: error: initializer expression list treated as compound expression
./boost/type_traits/is_class.hpp: In instantiation of ‘const bool boost::detail::is_class_impl<uint32_t>::value’:
./boost/type_traits/is_class.hpp:105: instantiated from ‘boost::is_class<uint32_t>’
./boost/type_traits/is_enum.hpp:44: instantiated from ‘const bool boost::detail::is_class_or_union<uint32_t>::value’
./boost/type_traits/is_enum.hpp:108: instantiated from ‘const bool boost::detail::is_enum_impl<uint32_t>::selector’
Does this version do not compatible with such an old CentOS ? or there has some way to avoid it ?
For example, from boost::shared_ptr
to std::shared_ptr
. If not, are there any plans to generalize utility types and functions as template parameters, which would enable us to use both Boost and STL variants?
Like this issue issues/18.
I tried to solve this problem, but don't work.Also I found this from stackoverflow boost-logger-linking-issue. And still dont't work.
Platform: mac os 10.13.1
compiler: gcc version 4.9.4 (Homebrew GCC 4.9.4)
I installed boost 1.66.0 by this:
./bootstrap.sh --with-toolset=gcc --with-libraries=program_options,system,thread,regex,serialization,log,date_time
cmakelists:
set(REQUIRED_BOOST_LIBRARIES)
list(APPEND REQUIRED_BOOST_LIBRARIES "log_setup" "log" "serialization" "system" "filesystem" "date_time")
set(Boost_USE_MULTITHREADED ON)
find_package(Boost
COMPONENTS "${REQUIRED_BOOST_LIBRARIES}"
REQUIRED
)
Error
Undefined symbols for architecture x86_64:
"boost::log::v2s_mt_posix::attribute_name::get_id_from_string(char const*)", referenced from:
init_framework_logging(std::basic_string<char, std::char_traits, std::allocator > const&) in logger.cpp.o
"void boost::log::v2s_mt_posix::aux::put_integer(boost::log::v2s_mt_posix::aux::basic_ostringstreambuf<char, std::char_traits, std::allocator >&, unsigned int, unsigned int, char)", referenced from:
boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::format_fractional_seconds(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::context&) in logger.cpp.o
boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::format_seconds(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::context&) in logger.cpp.o
boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::format_minutes(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::context&) in logger.cpp.o
void boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::format_hours_12<(char)32>(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::context&) in logger.cpp.o
void boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::format_hours_12<(char)48>(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::context&) in logger.cpp.o
void boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::format_hours<(char)32>(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::context&) in logger.cpp.o
void boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::format_hours<(char)48>(boost::log::v2s_mt_posix::aux::date_time_formatter<boost::log::v2s_mt_posix::aux::decomposed_time_wrapperboost::posix_time::ptime, char>::context&) in logger.cpp.o
...
"boost::log::v2s_mt_posix::aux::this_thread::get_id()", referenced from:
boost::log::v2s_mt_posix::attributes::current_thread_id::impl::dispatch(boost::log::v2s_mt_posix::type_dispatcher&) in logger.cpp.o
boost::log::v2s_mt_posix::attributes::current_thread_id::impl::detach_from_thread() in logger.cpp.o
"boost::log::v2s_mt_posix::aux::this_process::get_id()", referenced from:
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
"boost::log::v2s_mt_posix::aux::code_convert_impl(wchar_t const*, unsigned long, std::basic_string<char, std::char_traits, std::allocator >&, unsigned long, std::locale const&)", referenced from:
void boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >::aligned_write<wchar_t>(wchar_t const*, long) in logger.cpp.o
void boost::log::v2s_mt_posix::type_dispatcher::callback_base::trampoline<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >&>, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > >(void*, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > const&) in logger.cpp.o
"boost::log::v2s_mt_posix::aux::once_block_sentry::commit()", referenced from:
boost::array<std::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2s_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::basic_string<char, std::char_traits, std::allocator >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >&> >() in logger.cpp.o
"boost::log::v2s_mt_posix::aux::once_block_sentry::rollback()", referenced from:
boost::array<std::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2s_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::basic_string<char, std::char_traits, std::allocator >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >&> >() in logger.cpp.o
"void boost::log::v2s_mt_posix::aux::parse_date_time_format(char const*, char const*, boost::log::v2s_mt_posix::aux::date_time_format_parser_callback&)", referenced from:
init_framework_logging(std::basic_string<char, std::char_traits, std::allocator > const&) in logger.cpp.o
"boost::log::v2s_mt_posix::aux::default_attribute_names::process_id()", referenced from:
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
"boost::log::v2s_mt_posix::aux::default_attribute_names::line_id()", referenced from:
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
"boost::log::v2s_mt_posix::aux::default_attribute_names::message()", referenced from:
init_framework_logging(std::basic_string<char, std::char_traits, std::allocator > const&) in logger.cpp.o
boost::log::v2s_mt_posix::sinks::basic_formatting_sink_frontend::basic_formatting_sink_frontend(bool) in logger.cpp.o
"boost::log::v2s_mt_posix::aux::default_attribute_names::thread_id()", referenced from:
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
"boost::log::v2s_mt_posix::aux::default_attribute_names::timestamp()", referenced from:
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
"boost::log::v2s_mt_posix::aux::attach_attribute_name_info(boost::exception&, boost::log::v2s_mt_posix::attribute_name const&)", referenced from:
boost::log::v2s_mt_posix::aux::light_function<bool (boost::log::v2s_mt_posix::attribute_value_set const&)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::greater_equal, boost::proto::argsns_::list2<boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::termboost::log::v2s_mt_posix::trivial::severity_level, 0l> > >, 2l> > >::invoke_impl(void*, boost::log::v2s_mt_posix::attribute_value_set const&) in logger.cpp.o
boost::log::v2s_mt_posix::value_extractor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const in logger.cpp.o
boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > >::invoke_impl(void*, boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >) in logger.cpp.o
boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >)>::implboost::log::v2s_mt_posix::expressions::aux::message_formatter::invoke_impl(void*, boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >) in logger.cpp.o
"boost::log::v2s_mt_posix::core::set_filter(boost::log::v2s_mt_posix::filter const&)", referenced from:
init_framework_logging(std::basic_string<char, std::char_traits, std::allocator > const&) in logger.cpp.o
"boost::log::v2s_mt_posix::core::add_global_attribute(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute const&)", referenced from:
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
"boost::log::v2s_mt_posix::core::get()", referenced from:
init_framework_logging(std::basic_string<char, std::char_traits, std::allocator > const&) in logger.cpp.o
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
boost::shared_ptr<boost::log::v2s_mt_posix::sinks::synchronous_sinkboost::log::v2s_mt_posix::sinks::text_file_backend > boost::log::v2s_mt_posix::aux::add_file_log<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::time_based_rotation, boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::auto_flush, bool const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::file_name, std::basic_string<char, std::char_traits, std::allocator > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::open_mode, std::Ios_Openmode const>, boost::parameter::aux::empty_arg_list> > > > > > >(boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::time_based_rotation, boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::auto_flush, bool const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::file_name, std::basic_string<char, std::char_traits, std::allocator > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::open_mode, std::Ios_Openmode const>, boost::parameter::aux::empty_arg_list> > > > > > const&) in logger.cpp.o
boost::shared_ptr<boost::log::v2s_mt_posix::sinks::synchronous_sink<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend > > boost::log::v2s_mt_posix::aux::add_console_log<char, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> >(std::basic_ostream<char, std::char_traits >&, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> const&) in logger.cpp.o
"boost::log::v2s_mt_posix::core::add_sink(boost::shared_ptrboost::log::v2s_mt_posix::sinks::sink const&)", referenced from:
boost::shared_ptr<boost::log::v2s_mt_posix::sinks::synchronous_sinkboost::log::v2s_mt_posix::sinks::text_file_backend > boost::log::v2s_mt_posix::aux::add_file_log<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::time_based_rotation, boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::auto_flush, bool const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::file_name, std::basic_string<char, std::char_traits, std::allocator > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::open_mode, std::Ios_Openmode const>, boost::parameter::aux::empty_arg_list> > > > > > >(boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::time_based_rotation, boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::auto_flush, bool const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::file_name, std::basic_string<char, std::char_traits, std::allocator > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::open_mode, std::Ios_Openmode const>, boost::parameter::aux::empty_arg_list> > > > > > const&) in logger.cpp.o
boost::shared_ptr<boost::log::v2s_mt_posix::sinks::synchronous_sink<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend > > boost::log::v2s_mt_posix::aux::add_console_log<char, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> >(std::basic_ostream<char, std::char_traits >&, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> const&) in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::text_file_backend::flush()", referenced from:
boost::log::v2s_mt_posix::sinks::synchronous_sinkboost::log::v2s_mt_posix::sinks::text_file_backend::flush() in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::text_file_backend::consume(boost::log::v2s_mt_posix::record_view const&, std::basic_string<char, std::char_traits, std::allocator > const&)", referenced from:
boost::log::v2s_mt_posix::sinks::synchronous_sinkboost::log::v2s_mt_posix::sinks::text_file_backend::try_consume(boost::log::v2s_mt_posix::record_view const&) in logger.cpp.o
boost::log::v2s_mt_posix::sinks::synchronous_sinkboost::log::v2s_mt_posix::sinks::text_file_backend::consume(boost::log::v2s_mt_posix::record_view const&) in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::text_file_backend::construct(boost::filesystem::path const&, std::Ios_Openmode, unsigned long, boost::log::v2s_mt_posix::aux::light_function<bool ()> const&, bool, bool)", referenced from:
boost::detail::sp_if_not_arrayboost::log::v2s_mt_posix::sinks::text_file_backend::type boost::make_shared<boost::log::v2s_mt_posix::sinks::text_file_backend, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::time_based_rotation, boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::auto_flush, bool const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::file_name, std::basic_string<char, std::char_traits, std::allocator > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::open_mode, std::Ios_Openmode const>, boost::parameter::aux::empty_arg_list> > > > > > const&>(boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::time_based_rotation, boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::rotation_size, int const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::auto_flush, bool const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::file_name, std::basic_string<char, std::char_traits, std::allocator > const>, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::open_mode, std::Ios_Openmode const>, boost::parameter::aux::empty_arg_list> > > > > > const&) in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::text_file_backend::~text_file_backend()", referenced from:
boost::detail::sp_counted_impl_pd<boost::log::v2s_mt_posix::sinks::text_file_backend*, boost::detail::sp_ms_deleterboost::log::v2s_mt_posix::sinks::text_file_backend >::~sp_counted_impl_pd() in logger.cpp.o
boost::detail::sp_counted_impl_pd<boost::log::v2s_mt_posix::sinks::text_file_backend*, boost::detail::sp_ms_deleterboost::log::v2s_mt_posix::sinks::text_file_backend >::~sp_counted_impl_pd() in logger.cpp.o
boost::detail::sp_counted_impl_pd<boost::log::v2s_mt_posix::sinks::text_file_backend*, boost::detail::sp_ms_deleterboost::log::v2s_mt_posix::sinks::text_file_backend >::dispose() in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::add_stream(boost::shared_ptr<std::basic_ostream<char, std::char_traits > > const&)", referenced from:
boost::shared_ptr<boost::log::v2s_mt_posix::sinks::synchronous_sink<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend > > boost::log::v2s_mt_posix::aux::add_console_log<char, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> >(std::basic_ostream<char, std::char_traits >&, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> const&) in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::auto_flush(bool)", referenced from:
boost::shared_ptr<boost::log::v2s_mt_posix::sinks::synchronous_sink<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend > > boost::log::v2s_mt_posix::aux::add_console_log<char, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> >(std::basic_ostream<char, std::char_traits >&, boost::parameter::aux::tagged_argument<boost::log::v2s_mt_posix::keywords::tag::format, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > const> const&) in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::flush()", referenced from:
boost::log::v2s_mt_posix::sinks::synchronous_sink<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend >::flush() in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::consume(boost::log::v2s_mt_posix::record_view const&, std::basic_string<char, std::char_traits, std::allocator > const&)", referenced from:
boost::log::v2s_mt_posix::sinks::synchronous_sink<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend >::consume(boost::log::v2s_mt_posix::record_view const&) in logger.cpp.o
boost::log::v2s_mt_posix::sinks::synchronous_sink<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend >::try_consume(boost::log::v2s_mt_posix::record_view const&) in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::basic_text_ostream_backend()", referenced from:
boost::detail::sp_if_not_array<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend >::type boost::make_shared<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend>() in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend::~basic_text_ostream_backend()", referenced from:
boost::detail::sp_counted_impl_pd<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend, boost::detail::sp_ms_deleter<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend > >::~sp_counted_impl_pd() in logger.cpp.o
boost::detail::sp_counted_impl_pd<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend, boost::detail::sp_ms_deleter<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend > >::~sp_counted_impl_pd() in logger.cpp.o
boost::detail::sp_counted_impl_pd<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend, boost::detail::sp_ms_deleter<boost::log::v2s_mt_posix::sinks::basic_text_ostream_backend > >::dispose() in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point::rotation_at_time_point(unsigned char, unsigned char, unsigned char)", referenced from:
init_framework_logging(std::basic_string<char, std::char_traits, std::allocator > const&) in logger.cpp.o
"boost::log::v2s_mt_posix::trivial::to_string(boost::log::v2s_mt_posix::trivial::severity_level)", referenced from:
boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > >::invoke_impl(void, boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >) in logger.cpp.o
"boost::log::v2s_mt_posix::attribute::impl::operator delete(void*, unsigned long)", referenced from:
boost::log::v2s_mt_posix::attributes::basic_clockboost::log::v2s_mt_posix::attributes::local_time_traits::impl::~impl() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::counter::impl::~impl() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::attribute_value_implboost::posix_time::ptime::~attribute_value_impl() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::attribute_value_impl::~attribute_value_impl() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::current_thread_id::impl::~impl() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::attribute_value_impl<boost::log::v2s_mt_posix::aux::idboost::log::v2s_mt_posix::aux::thread >::~attribute_value_impl() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::attribute_value_impl<boost::log::v2s_mt_posix::aux::idboost::log::v2s_mt_posix::aux::process >::~attribute_value_impl() in logger.cpp.o
...
"boost::log::v2s_mt_posix::attribute::impl::operator new(unsigned long)", referenced from:
boost::log::v2s_mt_posix::attributes::current_thread_id::impl::detach_from_thread() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::counter::impl::get_value() in logger.cpp.o
boost::log::v2s_mt_posix::add_common_attributes() in logger.cpp.o
boost::log::v2s_mt_posix::attributes::basic_clockboost::log::v2s_mt_posix::attributes::local_time_traits::impl::get_value() in logger.cpp.o
"boost::log::v2s_mt_posix::attribute_value_set::end() const", referenced from:
boost::log::v2s_mt_posix::aux::light_function<bool (boost::log::v2s_mt_posix::attribute_value_set const&)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::greater_equal, boost::proto::argsns_::list2<boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::termboost::log::v2s_mt_posix::trivial::severity_level, 0l> > >, 2l> > >::invoke_impl(void*, boost::log::v2s_mt_posix::attribute_value_set const&) in logger.cpp.o
boost::log::v2s_mt_posix::value_extractor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const in logger.cpp.o
boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > >::invoke_impl(void*, boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >) in logger.cpp.o
boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >)>::implboost::log::v2s_mt_posix::expressions::aux::message_formatter::invoke_impl(void*, boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >) in logger.cpp.o
"boost::log::v2s_mt_posix::attribute_value_set::find(boost::log::v2s_mt_posix::attribute_name) const", referenced from:
boost::log::v2s_mt_posix::aux::light_function<bool (boost::log::v2s_mt_posix::attribute_value_set const&)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::greater_equal, boost::proto::argsns_::list2<boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor>, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::termboost::log::v2s_mt_posix::trivial::severity_level, 0l> > >, 2l> > >::invoke_impl(void*, boost::log::v2s_mt_posix::attribute_value_set const&) in logger.cpp.o
boost::log::v2s_mt_posix::value_extractor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity>::operator()(boost::log::v2s_mt_posix::attribute_name const&, boost::log::v2s_mt_posix::attribute_value_set const&) const in logger.cpp.o
boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >)>::impl<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left, boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2s_mt_posix::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<boost::phoenix::argument<2> >, 0l> >, boost::posix_time::ptime, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator >&, boost::posix_time::ptime const&)> > >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [4]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<boost::log::v2s_mt_posix::trivial::severity_level, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::trivial::tag::severity, boost::phoenix::actor> >, 2l> >, boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal, boost::proto::argsns_::term<char [3]>, 0l> > >, 2l> >, boost::log::v2s_mt_posix::expressions::attribute_actor<std::basic_string<char, std::char_traits, std::allocator >, boost::log::v2s_mt_posix::fallback_to_none, boost::log::v2s_mt_posix::expressions::tag::smessage, boost::phoenix::actor> >, 2l> > >::invoke_impl(void*, boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >) in logger.cpp.o
boost::log::v2s_mt_posix::aux::light_function<void (boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >)>::implboost::log::v2s_mt_posix::expressions::aux::message_formatter::invoke_impl(void*, boost::log::v2s_mt_posix::record_view const&, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >) in logger.cpp.o
"boost::log::v2s_mt_posix::aux::once_block_sentry::enter_once_block() const", referenced from:
boost::array<std::pair<boost::typeindex::stl_type_index, void*>, 2ul> const& boost::log::v2s_mt_posix::aux::type_sequence_dispatcher<boost::mpl::vector2<std::basic_string<char, std::char_traits, std::allocator >, std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > > >::get_dispatching_map<boost::log::v2s_mt_posix::binder1st<boost::log::v2s_mt_posix::output_fun, boost::log::v2s_mt_posix::expressions::aux::stream_ref<boost::log::v2s_mt_posix::basic_formatting_ostream<char, std::char_traits, std::allocator > >&> >() in logger.cpp.o
"boost::log::v2s_mt_posix::sinks::file::rotation_at_time_point::operator()() const", referenced from:
boost::log::v2s_mt_posix::aux::light_function<bool ()>::implboost::log::v2s_mt_posix::sinks::file::rotation_at_time_point::invoke_impl(void*) in logger.cpp.o
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
boost log fails to compile with Clang on WIndows
libs\log\src\timestamp.cpp:60:8: error: 'alignas' attribute cannot be applied to types
static BOOST_ALIGNMENT(BOOST_LOG_CPU_CACHE_LINE_SIZE) boost::atomic< uint64_t > g_ticks;
^
.\boost/config/detail/suffix.hpp:681:32: note: expanded from macro 'BOOST_ALIGNMENT'
# define BOOST_ALIGNMENT(x) alignas(x)
^
6 warnings and 1 error generated.
my user-config.jam
using clang : 5.0 :
"C:/Program Files/LLVM/bin/clang.exe" :
<compileflags>"-fmsc-version=1910 -DBOOST_USE_WINAPI_VERSION=0x0502 -DBOOST_USE_WINDOWS_H=1 -Wno-c++11-narrowing -D_WIN32_WINNT=0x0502 -DNOMINMAX"
<ranlib>"C:/Program Files/LLVM/bin/llvm-ranlib.exe"
<archiver>"C:/Program Files/LLVM/bin/llvm-ar.exe"
<linkflags>-fuse-ld=lld ;
Environment:
VS 2017 + Windows Server 2016
Issue description:
We build and run test for boost and we found one tests failed to run after boost submodule log updated from b22211 to 1138b4 boostorg/log@e575e40
Could you please take a look?
Reproduce steps:
ErrorMessage:
..\out\x86rel\boost\bin.v2\libs\log\example\basic_usage\msvc-14.1\release\threadapi-win32\threading-multi\main.obj
main.cpp
.\boost/parameter/aux_/unwrap_cv_reference.hpp(34): error C2528: 'abstract declarator': pointer to reference is illegal
.\boost/mpl/if.hpp(63): note: see reference to class template instantiation 'boost::parameter::aux::is_cv_reference_wrapper' being compiled
with
[
T=const char (&)[11]
]
.\boost/mpl/eval_if.hpp(40): note: see reference to class template instantiation 'boost::mpl::if_<C,F1,F2>' being compiled
with
[
C=boost::parameter::aux::is_cv_reference_wrapper<const char (&)[11]>,
F1=boost::parameter::aux::get_type<const char (&)[11]>,
F2=boost::mpl::identity<const char (&)[11]>
]
.\boost/parameter/aux_/unwrap_cv_reference.hpp(84): note: see reference to class template instantiation 'boost::mpl::eval_if<boost::parameter::aux::is_cv_reference_wrapper,boost::parameter::aux::get_type,boost::mpl::identity>' being compiled
with
[
T=const char (&)[11]
]
.\boost/parameter/aux_/tag.hpp(21): note: see reference to class template instantiation 'boost::parameter::aux::unwrap_cv_reference' being compiled
with
[
ActualArg=const char (&)[11]
]
.\boost/log/utility/setup/file.hpp(127): note: see reference to class template instantiation 'boost::parameter::aux::tag<boost::log::v2_mt_nt6::keywords::tag::file_name,const char (&)[11]>' being compiled
.\boost/log/utility/setup/file.hpp(107): note: see reference to function template instantiation 'parameter::aux::tag<boost::log::v2_mt_nt6::keywords::tag::file_name,const T&>::type boost::log::v2_mt_nt6::aux::wrap_file_name(const T &,boost::mpl::false_)' being compiled
libs\log\example\basic_usage\main.cpp(103): note: see reference to function template instantiation 'boost::shared_ptr<boost::log::v2_mt_nt6::sinks::synchronous_sinkboost::log::v2_mt_nt6::sinks::text_file_backend> boost::log::v2_mt_nt6::add_file_log<char[11],boost::parameter::aux::tagged_argument<Keyword,const boost::phoenix::actor>,boost::parameter::aux::tagged_argument<boost::log::v2_mt_nt6::keywords::tag::format,const boost::phoenix::actor<boost::proto::exprns_::basic_expr<Tag,Args,2>>>>(const T0 (&),const T1 &,const T2 &)' being compiled
with
[
Keyword=boost::log::v2_mt_nt6::keywords::tag::filter,
Expr=boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::greater_equal,boost::proto::argsns_::list2<boost::log::v2_mt_nt6::expressions::attribute_actor<severity_level,boost::log::v2_mt_nt6::fallback_to_none,void,boost::phoenix::actor>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<severity_level>,0>>>,2>,
Tag=boost::proto::tagns_::tag::shift_left,
Args=boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::phoenix::argument<2>>,0>>,boost::posix_time::ptime,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::aux::light_function<void (boost::log::v2_mt_nt6::basic_formatting_ostream<char,std::char_traits,std::allocator> &,const boost::posix_time::ptime &)>>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [3]>,0>>>,2>>,boost::log::v2_mt_nt6::attributes::timer::value_type,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::aux::light_function<void (boost::log::v2_mt_nt6::basic_formatting_ostream<char,std::char_traits,std::allocator> &,const boost::posix_time::time_duration &)>>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [4]>,0>>>,2>>,boost::log::v2_mt_nt6::attributes::named_scope::value_type,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::expressions::aux::format_named_scope_impl>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [4]>,0>>>,2>>,severity_level,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::to_log_fun>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [3]>,0>>>,2>>,boost::log::v2_mt_nt6::expressions::attribute_actor<boost::mpl::vector2std::string,std::wstring,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::expressions::tag::message,boost::phoenix::actor>>,
T0=char [11],
T1=boost::parameter::aux::tagged_argument<boost::log::v2_mt_nt6::keywords::tag::filter,const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::greater_equal,boost::proto::argsns_::list2<boost::log::v2_mt_nt6::expressions::attribute_actor<severity_level,boost::log::v2_mt_nt6::fallback_to_none,void,boost::phoenix::actor>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<severity_level>,0>>>,2>>>,
T2=boost::parameter::aux::tagged_argument<boost::log::v2_mt_nt6::keywords::tag::format,const boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::shift_left,boost::proto::argsns_::list2<boost::phoenix::actor<boost::log::v2_mt_nt6::expressions::aux::attribute_output_terminal<boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::phoenix::argument<2>>,0>>,boost::posix_time::ptime,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::aux::light_function<void (boost::log::v2_mt_nt6::basic_formatting_ostream<char,std::char_traits,std::allocator> &,const boost::posix_time::ptime &)>>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [3]>,0>>>,2>>,boost::log::v2_mt_nt6::attributes::timer::value_type,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::aux::light_function<void (boost::log::v2_mt_nt6::basic_formatting_ostream<char,std::char_traits,std::allocator> &,const boost::posix_time::time_duration &)>>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [4]>,0>>>,2>>,boost::log::v2_mt_nt6::attributes::named_scope::value_type,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::expressions::aux::format_named_scope_impl>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [4]>,0>>>,2>>,severity_level,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::to_log_fun>>,boost::phoenix::actor<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<char [3]>,0>>>,2>>,boost::log::v2_mt_nt6::expressions::attribute_actor<boost::mpl::vector2std::string,std::wstring,boost::log::v2_mt_nt6::fallback_to_none,boost::log::v2_mt_nt6::expressions::tag::message,boost::phoenix::actor>>,2>>>
]
.\boost/parameter/aux_/unwrap_cv_reference.hpp(34): error C2528: '': pointer to reference is illegal
call "..\out\x86rel\boost\bin.v2\standalone\msvc\msvc-14.1\msvc-setup.bat" >nul
cl /Zm800 -nologo @"..\out\x86rel\boost\bin.v2\libs\log\example\basic_usage\msvc-14.1\release\threadapi-win32\threading-multi\main.obj.rsp"
I was wondering if, after switching to Boost.TypeIndex, it would be possible to enable builds without RTTI as per http://www.boost.org/doc/libs/master/doc/html/boost_typeindex/getting_started.html. The build check in config.hpp is still there, is it feasible to make it build without RTTI and what kind of work would that involve?
compile-c-c++ ..\..\bin.v2\libs\log\test\util_ipc_reliable_mq.test\msvc-14.1\deb
ug\threadapi-win32\threading-multi\run\util_ipc_reliable_mq.obj
util_ipc_reliable_mq.cpp
C:\Projects\boost-git\boost\boost/thread/win32/thread_heap_alloc.hpp(25): error
C2039: 'HeapAlloc': is not a member of 'boost::detail::winapi'
C:\Projects\boost-git\boost\boost/log/utility/permissions.hpp(37): note: see dec
laration of 'boost::detail::winapi'
C:\Projects\boost-git\boost\boost/thread/win32/thread_heap_alloc.hpp(25): error
C2039: 'GetProcessHeap': is not a member of 'boost::detail::winapi'
C:\Projects\boost-git\boost\boost/log/utility/permissions.hpp(37): note: see dec
laration of 'boost::detail::winapi'
C:\Projects\boost-git\boost\boost/thread/win32/thread_heap_alloc.hpp(35): error
C2039: 'HeapFree': is not a member of 'boost::detail::winapi'
C:\Projects\boost-git\boost\boost/log/utility/permissions.hpp(37): note: see dec
laration of 'boost::detail::winapi'
C:\Projects\boost-git\boost\boost/thread/win32/thread_heap_alloc.hpp(35): error
C2039: 'GetProcessHeap': is not a member of 'boost::detail::winapi'
C:\Projects\boost-git\boost\boost/log/utility/permissions.hpp(37): note: see dec
laration of 'boost::detail::winapi'
Example folder cannot contain example with udp_socket_based for syslog_backend.
I'm trying to compile boost 1.68.0 from source for a project on macOS and I'm getting a pile of linker warnings. The warnings go away when I compile my project with -fvisibility=hidden
(as expected) however, my project is multi-module and the library dependent on boost must itself be visible to a few other libraries and executables.
What's going on here? Is there a way to address these errors?
Here's my configure and build commands:
./bootstrap.sh
--prefix=some/prefix/in/my/build/folder
--with-libraries=filesystem
--with-libraries=locale
--with-libraries=log
--with-libraries=system
--with-libraries=thread
./b2 install
cxxstd=17 # because boost_system barfs when trying to link cxx17 code
link=shared # I've also tried static
variant=release
threading=multi
runtime-link=shared # I even tried static here just to see what would happen
And I'm linking these libraries:
boost_system, boost_thread, boost_filesystem, boost_locale, boost_log_setup, boost_log
Can Boost Log write data always to the original file.
And the old data stored in file with name with pattern.
So the newly added log data can always be checked via tail like this:
$ tail -f ~/message.log
(like: tail -f /var/log/message)
Old data stored when it reach limit in file with pattern:
~/old_log/message_20181206_113059_00001.log
A bit of a nuisance as I'm not familiar enough with these argument list constructors.
MSVC reports
sinks/event_log_backend.hpp(628): error C2679: binary '[' : no operator found which takes a right-hand operand of type 'const boost::parameter::keyword<boost::log::v2s_mt_nt5::keywords::tag::message_file>' (or there is no acceptable conversion)
https://github.com/boostorg/log/blob/master/include/boost/log/sinks/event_log_backend.hpp#L625-633
Even when keywords::registration = sinks::event_log::never
and keywords::message_file
and keywords::log_name
are unused, keywords::message_file
must be provided - perhaps as there is no default for it?
// Create an event log sink
boost::shared_ptr< sinks::wevent_log_backend > backend(
new sinks::wevent_log_backend((
keywords::message_file = L"",// "%SystemDir%\\event_log_messages.dll", not initialising registry, don't need to provide the message dll name - if this isn't provided there is a compiler error here in MSVC
//keywords::log_name = L"",// "Application", not initializing registry, don't need to provide the named log
keywords::log_source = L"My Source",
keywords::registration = sinks::event_log::never
))
);
failed in link phase. Do I need to link any specific dll?
getting this error on linux but everything works on visual studio
find_package(Boost 1.56.0 REQUIRED COMPONENTS ${USE_Boost_LIBRARIES} QUIET)
getting boost in superbuild with
list(APPEND _with_boost_libs --with-${USE_Boost_LIBRARIES})
and appealing it to b2
undefined reference to `boost::log::v2_mt_posix::basic_formatter<char> boost::log::v2_mt_posix::parse_formatter<char>(char const*, char const*)'
I'm just including log library with cmake same way as other boost libraries.
I've found this thread http://sourceforge.net/p/boost-log/discussion/710022/thread/0524c8d3/ but what is boost_log_setup? is it separate boost library?
This would be especially useful for C++11 lambdas so that code like this works:
logging::add_file_log(
keywords::file_name = "A.log",
keywords::filter = [](boost::log::attribute_value_set const& attrs) { return true; }
);
I am using boost 1.66.0. I am using the rotating logger from my c++ application (which runs on windows).
I have configured a rotating logger to keep no more than 50 log files. I assumed it would delete the oldest log files in the folder to make room for the new ones, but that is not what happens.
When my folder contains around 49 log files and my application is started, it begins to write the 50th file as expected. After a while, there are enough logs to roll into new files. When I come back and look at the log files, I discover that the first 49 log files are still there. (These are the files that existed before my application was started.)
Also I will see 1 or 2 of the most recent log files, but I am missing the log files that were written when the application was started. Presumably the limit of 50 (or 51) files is being enforced, but the wrong files are being deleted. It is deleting the oldest files that were written after the application was started; it is not deleting log files that existed before the application was started.
For your reference, here is the code where I configure my logger.
// maximum number of stored files
#define MAX_LOG_FILES 50
// maximum file size of rotated file.
#define MAX_LOG_FILE_SIZE 16*1024*1024
// maximum total size of the stored files, in bytes
#define MAX_LOG_BYTES_TOTAL MAX_LOG_FILES*1024*1024
// minimum free space on the drive, in bytes
#define MIN_LOG_DRIVE_SPACE 4*MAX_LOG_BYTES_TOTAL
PanErr __cdecl Logger::initialize(
_In_ const boost::filesystem::path& logFolder,
_In_ const LogLevel consoleThreshold,
_In_ const LogLevel fileThreshold)
{
using namespace boost::log;
PanErr err = PanErr::ok;
std::unique_lock<std::mutex> lock(m_initializationMutex);
// Undo any prior initialization
this->dispose();
// Hold a pointer to the core in order to prevent possible problems with order of destruction.
m_boostLoggingCore = boost::log::core::get();
// Store the log folder.
m_logFolder = logFolder;
// Compute the log-level threshold across both sinks.
m_threshold = (consoleThreshold < fileThreshold) ? consoleThreshold : fileThreshold;
// Construct the console sink.
m_consoleSink = boost::shared_ptr<BoostConsoleSink>(new BoostConsoleSink);
try
{
// Pipe to std::clog.
m_consoleSink->locked_backend()->add_stream(
boost::shared_ptr<std::ostream>(&std::clog, boost::null_deleter()));
// The format of each log line is like this.
m_consoleSink->set_formatter
(
expressions::format("%1% %2% %3% %4%:%5% %6%")
% expressions::format_date_time<boost::posix_time::ptime>(
TimestampKeyword.get_name(), "%y-%m-%dT%H:%M:%S.%f")
% LevelKeyword
% CategoryKeyword
% FileKeyword
% LineKeyword
% MessageKeyword
);
// Set the console threshold.
m_consoleSink->set_filter(expressions::attr<LogLevel>(LevelKeyword.get_name()) >= consoleThreshold);
// Construct the file sink.
m_fileSink = boost::shared_ptr<BoostFileSink>(new BoostFileSink(
keywords::file_name = (logFolder / "%Y-%m-%d_%H-%M-%S_%5N.log").string(), // file name pattern
keywords::rotation_size = MAX_LOG_FILE_SIZE // rotation size, in characters
));
// Set up where the rotated files will be stored.
m_fileSink->locked_backend()->set_file_collector(sinks::file::make_collector(
keywords::target = logFolder, // where to store rotated files (doesn't actually work)
keywords::max_size = MAX_LOG_BYTES_TOTAL, // maximum total size of the stored files, in bytes
keywords::min_free_space = MIN_LOG_DRIVE_SPACE, // minimum free space on the drive, in bytes
keywords::max_files = MAX_LOG_FILES // maximum number of stored files
));
// In the boost examples, keywords::target (above) is supposed to designate the log folder but it doesn't
// seem to work. The only thing that worked was to set keywords::file_name (above) to an absolute folder path.
// Upon restart, scan the target directory for files matching the file_name pattern.
m_fileSink->locked_backend()->scan_for_files();
// The format of each log line is like this.
m_fileSink->set_formatter
(
expressions::format("%1% %2% %3% %4%:%5% %6%")
% expressions::format_date_time<boost::posix_time::ptime>(
TimestampKeyword.get_name(), "%Y-%m-%d %H:%M:%S.%f")
% LevelKeyword
% CategoryKeyword
% FileKeyword
% LineKeyword
% MessageKeyword
);
// Set the threshold.
m_fileSink->set_filter(expressions::attr<LogLevel>(LevelKeyword.get_name()) >= fileThreshold);
// Add sinks to the core.
m_boostLoggingCore->add_sink(m_consoleSink);
m_boostLoggingCore->add_sink(m_fileSink);
// Indicate that the logger has been initialized.
m_initialized = true;
}
catch (std::exception& ex)
{
err = PanErr::fail;
std::cout << "ERROR Failed to initialize logging system:" << std::endl << ex.what() << std::endl;
}
Cleanup:
return err;
}
I'm using Boost 1.65. It seems newer version has the same problem. Even the first example has the same problem.
I compile my code with -fsanitize=address -fsanitize=undefined options. When run the application it will dump errors listed below but not crash:
/usr/local/include/boost/smart_ptr/detail/shared_count.hpp:426:36: runtime error: member call on address 0x6030000134b0 which does not point to an object of type 'sp_counted_base' 0x6030000134b0: note: object is of type 'boost::detail::sp_counted_impl_p<boost::log::v2_mt_posix::core>' 03 00 80 6a 40 2a 4f fb b6 7f 00 00 05 00 00 00 01 00 00 00 b0 ed 00 00 20 60 00 00 00 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'boost::detail::sp_counted_impl_p<boost::log::v2_mt_posix::core>' /usr/local/include/boost/log/attributes/attribute_value.hpp:200:37: runtime error: member call on address 0x60400000cad0 which does not point to an object of type 'impl' 0x60400000cad0: note: object is of type 'boost::log::v2_mt_posix::attributes::attribute_value_impl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >' 01 00 00 43 88 2a 4f fb b6 7f 00 00 01 00 00 00 be be be be b0 22 01 00 30 60 00 00 1d 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'boost::log::v2_mt_posix::attributes::attribute_value_impl<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >'
Can I send multiple logs in one logging statement? I have 1000 logs in a vector, instead of sending them one by one can I send them together?
BOOST_LOG_SEV(lg, sinks::syslog::alert) << message ;
This statement will send 1 message at a time. If I have a vector of strings, can I send all the strings in vector using only 1 BOOST_LOG_SEV ? Do I need to modify formatter of sink?
sink = boost::shared_ptr<sinks::synchronous_sink< sinks::syslog_backend >>(new sinks::synchronous_sink< sinks::syslog_backend >());
sink->set_formatter
(
expr::format("%1%")
%expr::smessage
);
sink->locked_backend()->set_target_address(hostname);
//sink->set_filter(expr::has_attr<string>(uniquevalue));
// Add the sink to the core
logging::core::get()->add_sink(sink);
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.