Actions
Bug #3674
closed
NFD_LOG compilation error
Start date:
07/18/2016
Due date:
% Done:
100%
Estimated time:
Description
I have OS X 10.11, Boost 1_59 and Apple LLVM version 7.0.2 (clang-700.1.81). I installed MacPorts and did:
sudo port install pkgconfig boost sqlite3 libcryptopp libpcap
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
I am able to compile and install ndn-cxx.
But when I compile NFD I get many errors starting with those below.
../daemon/table/cs.cpp:84:3: error: invalid operands to binary expression ('basic_record_ostream<char_type>' and '::nfd::LoggerTimestamp')
NFD_LOG_DEBUG("insert " << data.getName());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jefft0/work/NFD/core/logger.hpp:154:35: note: expanded from macro 'NFD_LOG_DEBUG'
#define NFD_LOG_DEBUG(expression) NFD_LOG(DEBUG, DEBUG, expression)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/jefft0/work/NFD/core/logger.hpp:149:39: note: expanded from macro 'NFD_LOG'
BOOST_LOG(g_logger.boostLogger) << NFD_LOG_LINE(msg, expression); \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/include/boost/log/utility/formatting_ostream.hpp:377:31: note: candidate function not viable: no known conversion from '::nfd::LoggerTimestamp' to 'ios_base_manip' (aka 'std::ios_base &(*)(std::ios_base &)') for 1st argument
basic_formatting_ostream& operator<< (ios_base_manip manip)
Updated by Junxiao Shi almost 10 years ago
- Subject changed from NFD compile error "NFD_LOG_DEBUG" to NFD_LOG_DEBUG compile errors
- Description updated (diff)
- Category set to Core
- Target version set to v0.5
A workaround is to change a line in core/logger.hpp:
BOOST_LOG(g_logger.boostLogger) << NFD_LOG_LINE(msg, expression); \
to:
BOOST_LOG(g_logger.boostLogger) << "" << NFD_LOG_LINE(msg, expression); \
I tried Boost 1.60.0_2 (from HomeBrew) and there's no such error.
It's caused by Boost bug 11549.
The workaround is correct but it's only necessary with Boost 1.59.
Updated by Junxiao Shi almost 10 years ago
- Subject changed from NFD_LOG_DEBUG compile errors to NFD_LOG compilation error
- Status changed from New to Code review
- Assignee set to Junxiao Shi
- % Done changed from 0 to 100
Updated by Junxiao Shi almost 10 years ago
- Status changed from Code review to Closed
Actions