<p dir="ltr">Great, thanks for confirming.</p>
<p dir="ltr">Can you open a ticket on redmine please, stating your boost and clang versions?</p>
<p dir="ltr">Thanks,<br>
Davide</p>
<br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 18, 2016, 6:51 PM Thompson, Jeff <<a href="mailto:jefft0@remap.ucla.edu">jefft0@remap.ucla.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;font-family:Calibri,sans-serif;font-size:14px;color:rgb(0,0,0)">
<div>Hi Davide,</div>
<div><br>
</div>
<div>Good hint. logger.hpp has the following line.</div>
<div>
<div><a href="https://github.com/named-data/NFD/blob/master/core/logger.hpp#L149" target="_blank">https://github.com/named-data/NFD/blob/master/core/logger.hpp#L149</a> </div>
</div>
<div><br>
</div>
<div>
<div>      BOOST_LOG(g_logger.boostLogger) << NFD_LOG_LINE(msg, expression); \</div>
<div><br>
</div>
<div>When I changed it to the following I was able to compile.</div>
</div>
<div><br>
</div>
<div>
<div>      BOOST_LOG(g_logger.boostLogger) << "" << NFD_LOG_LINE(msg, expression); \</div>
<div><br>
</div>
</div>
<div>Thanks,</div>
<div>- Jeff T</div>
<div><br>
</div>
<div>On 2016/7/18, 9:23:04, "Davide Pesavento" <<a href="mailto:davide.pesavento@lip6.fr" target="_blank">davide.pesavento@lip6.fr</a>> wrote:</div>
<div><br>
</div>
</div><div style="word-wrap:break-word;font-family:Calibri,sans-serif;font-size:14px;color:rgb(0,0,0)"><blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>Hi Jeff,</div>
<div><br>
</div>
<div>If I remember correctly, we had the same problem in ndn-cxx during the</div>
<div>2nd NDN hackathon.</div>
<div><br>
</div>
<div>Basically the type returned by BOOST_LOG() doesn't like the overload</div>
<div>of operator<< for LoggerTimestamp. The reasons for this behavior were</div>
<div>not further investigated due to lack of time during the hackathon. The</div>
<div>workaround we implemented was to feed an empty string to the boost</div>
<div>logger before everything else[1].</div>
<div><br>
</div>
<div>I remember not everyone on the team was able to reproduce, so I</div>
<div>suppose the issue is very much dependent on the compiler and/or boost</div>
<div>version used. I don't know why we didn't adopt the same workaround</div>
<div>when NFD was switched over to Boost.Log... probably because we</div>
<div>couldn't reproduce anymore.</div>
<div><br>
</div>
<div>Junxiao or Spyros might remember more details.</div>
<div><br>
</div>
<div>[1] <a href="https://github.com/2nd-ndn-hackathon/ndn-cxx-logging/blob/master/src/util/logger.hpp#L107" target="_blank">
https://github.com/2nd-ndn-hackathon/ndn-cxx-logging/blob/master/src/util/logger.hpp#L107</a></div>
<div><br>
</div>
<div>Thanks,</div>
<div>Davide</div>
<div><br>
</div>
<div>On Mon, Jul 18, 2016 at 5:44 PM, Thompson, Jeff <<a href="mailto:jefft0@remap.ucla.edu" target="_blank">jefft0@remap.ucla.edu</a>> wrote:</div>
<blockquote style="BORDER-LEFT:#b5c4df 5 solid;PADDING:0 0 0 5;MARGIN:0 0 0 5">
<div>Hello NFD developers,</div>
<div><br>
</div>
<div>On a fresh OS X 10.11 virtual machine, I installed MacPorts and did:</div>
<div><br>
</div>
<div>     sudo port install pkgconfig boost sqlite3 libcryptopp libpcap</div>
<div>     export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig</div>
<div><br>
</div>
<div>I was able to compile and install ndn-cxx. But when I compile NFD I get many</div>
<div>errors starting with those below. Is there an extra configuration step</div>
<div>relating to the logger?</div>
<div><br>
</div>
<div>Thanks,</div>
<div>- Jeff T</div>
<div><br>
</div>
<div>../daemon/table/cs.cpp:84:3: error: invalid operands to binary expression</div>
<div>('basic_record_ostream<char_type>' and '::nfd::LoggerTimestamp')</div>
<div><br>
</div>
<div>   NFD_LOG_DEBUG("insert " << data.getName());</div>
<div><br>
</div>
<div>   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div>
<div><br>
</div>
<div>/Users/jefft0/work/NFD/core/logger.hpp:154:35: note: expanded from macro</div>
<div>'NFD_LOG_DEBUG'</div>
<div><br>
</div>
<div>#define NFD_LOG_DEBUG(expression) NFD_LOG(DEBUG, DEBUG,   expression)</div>
<div><br>
</div>
<div>                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div>
<div><br>
</div>
<div>/Users/jefft0/work/NFD/core/logger.hpp:149:39: note: expanded from macro</div>
<div>'NFD_LOG'</div>
<div><br>
</div>
<div>       BOOST_LOG(g_logger.boostLogger) << NFD_LOG_LINE(msg, expression); \</div>
<div><br>
</div>
<div>       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div>
<div><br>
</div>
<div>/opt/local/include/boost/log/utility/formatting_ostream.hpp:377:31: note:</div>
<div>candidate function not viable: no known conversion from</div>
<div>'::nfd::LoggerTimestamp' to 'ios_base_manip' (aka 'std::ios_base</div>
<div>&(*)(std::ios_base &)') for 1st argument</div>
<div><br>
</div>
<div>     basic_formatting_ostream& operator<< (ios_base_manip manip)</div>
<div><br>
</div>
<div>                               ^</div>
<div><br>
</div>
<div>/opt/local/include/boost/log/utility/formatting_ostream.hpp:382:31: note:</div>
<div>candidate function not viable: no known conversion from</div>
<div>'::nfd::LoggerTimestamp' to 'basic_ios_manip' (aka</div>
<div>'std::basic_ios<char_type, traits_type> &(*)(std::basic_ios<char_type,</div>
<div>traits_type> &)') for 1st argument</div>
<div><br>
</div>
<div>     basic_formatting_ostream& operator<< (basic_ios_manip manip)</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>_______________________________________________</div>
<div>Nfd-dev mailing list</div>
<div><a href="mailto:Nfd-dev@lists.cs.ucla.edu" target="_blank">Nfd-dev@lists.cs.ucla.edu</a></div>
<div><a href="http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev" target="_blank">http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev</a></div>
<div><br>
</div>
</blockquote>
<div><br>
</div>
</blockquote>
</div></blockquote></div>