<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to support-requests</title><link>https://sourceforge.net/p/log4cpp/support-requests/</link><description>Recent changes to support-requests</description><atom:link href="https://sourceforge.net/p/log4cpp/support-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 20 Jul 2021 12:56:49 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/log4cpp/support-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>#41 Visual Studio 2010 dll issue</title><link>https://sourceforge.net/p/log4cpp/support-requests/41/?limit=25#728b</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Abhishek,&lt;br/&gt;
am using VS 2019 and downloaded it with Nuget package. you need the winsock lib, either you put it by putting ws2_32.lib in Project properties -&amp;gt; Linker-&amp;gt; input -&amp;gt; additional dependys or just add pragma comment(lib,"ws2_32.lib") to your code.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sanfour</dc:creator><pubDate>Tue, 20 Jul 2021 12:56:49 -0000</pubDate><guid>https://sourceforge.net643db1b9d835298217c0fc6bc08cdcd85036b8cb</guid></item><item><title>#41 Visual Studio 2010 dll issue</title><link>https://sourceforge.net/p/log4cpp/support-requests/41/?limit=25#8264</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Abhishek,&lt;/p&gt;
&lt;p&gt;Have you tried it before with earlier versions (like Visual Studio 2010)? I wonder whether it is the change in IDE version  which causes the error or the fix above is insufficient.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexander Perepelkin</dc:creator><pubDate>Sat, 10 Jul 2021 06:30:49 -0000</pubDate><guid>https://sourceforge.nete03f38b5d1da541292f96cad8c922b6024dd6fa0</guid></item><item><title>#41 Visual Studio 2010 dll issue</title><link>https://sourceforge.net/p/log4cpp/support-requests/41/?limit=25#a491</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Alexander, I am getting the same error on version 1.1.3 (using as a Nuget package). I am using VS2019 for the development. Can you please look into this, and if possible please provide any workaround or fix ? Thanks in advance.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Abhishek Mishra</dc:creator><pubDate>Thu, 08 Jul 2021 09:16:41 -0000</pubDate><guid>https://sourceforge.netd183febff856ecc875cc9b7941f7d9b803268324</guid></item><item><title>#42 Use of static variable in Appender.hh results in build issues</title><link>https://sourceforge.net/p/log4cpp/support-requests/42/?limit=25#a1d4</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Alexander - I haven't looked into changing the GNU Radio code, but such a change is certainly doable if desired. We've already implemented a workaround by adding "-llog4cpp" to LDFLAGS in its PKGCONFIG file -- which is what's used by CMake as the starting point for determining whether its installed. That said, these changes do not fix the broader issue; they are just workarounds. I would hope you could address the broader issue here ... but, I really don't know what the solution. Cheers! - MLD&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Dickens</dc:creator><pubDate>Mon, 12 Jun 2017 01:49:50 -0000</pubDate><guid>https://sourceforge.netca4741e2d07e1784410a70c2a8cc78905de16f8f</guid></item><item><title>#42 Use of static variable in Appender.hh results in build issues</title><link>https://sourceforge.net/p/log4cpp/support-requests/42/?limit=25#c2aa</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Michael,&lt;/p&gt;
&lt;p&gt;I glanced a the links you gave and devoted some thoughts to it.&lt;br/&gt;
I share your belief; what's not used is better not to be taken. I wonder if that's possible to arrange gnuradio-runtime's API in such a way where in-project usages include API and logging, whether out-of-project usages include API only. In other words, is it possible to separate logging from API there?&lt;/p&gt;
&lt;p&gt;Alexander.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexander Perepelkin</dc:creator><pubDate>Sun, 11 Jun 2017 09:59:47 -0000</pubDate><guid>https://sourceforge.netd038b868b74e077eaf951658e5eb8cce6a83fed7</guid></item><item><title>#42 Use of static variable in Appender.hh results in build issues</title><link>https://sourceforge.net/p/log4cpp/support-requests/42/?limit=25#5b19</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi Alexander - Thanks for looking into this; no problems on delays.&lt;/p&gt;
&lt;p&gt;The code in gnuradio-runtime is found here:&lt;br/&gt;
&lt;a href="https://github.com/gnuradio/gnuradio/blob/master/gnuradio-runtime/include/gnuradio/logger.h.in" rel="nofollow"&gt;https://github.com/gnuradio/gnuradio/blob/master/gnuradio-runtime/include/gnuradio/logger.h.in&lt;/a&gt;&lt;br/&gt;
&lt;a href="https://github.com/gnuradio/gnuradio/blob/master/gnuradio-runtime/lib/logger.cc" rel="nofollow"&gt;https://github.com/gnuradio/gnuradio/blob/master/gnuradio-runtime/lib/logger.cc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Please note that the header is actaully C++ even though its extension is just ".h". The ".in" is used by CMake during configuration to swap out the "#cmakedefine" lines depending on whether the variable was defined or not.&lt;/p&gt;
&lt;p&gt;Please also note that the macros ENABLE_GR_LOG and HAVE_LOG4CPP in the above code were fixed about a month ago to allow for more robust logging options for both in-project and out-of-project #include. That said, the next gnuradio-runtime release will require log4cpp &amp;amp; these macros will go away &amp;amp; thus this issue will be relevant.&lt;/p&gt;
&lt;p&gt;The issue here is as I wrote originally: If I try to build an out-of-tree module such as "gr-foo", which does not directly use log4cpp but does require gnuradio-runtime's API which #include's log4cpp, then I will have to link gr-foo against log4cpp's library.&lt;/p&gt;
&lt;p&gt;My belief is that if a project does not directly use another project, then it should not be required to link against that project's library. The static initializer will be created no matter whether log4cpp is actually being used. If log4cpp isn't being used, then this static initializer should not be required.&lt;/p&gt;
&lt;p&gt;Thanks for looking into this issue. I'm happy to discuss further and help in testing and debugging possible fixes. - MLD&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Dickens</dc:creator><pubDate>Sun, 04 Jun 2017 07:38:38 -0000</pubDate><guid>https://sourceforge.netea199a47d6fe792fe3c71fb4370cbbeda424860b</guid></item><item><title>#42 Use of static variable in Appender.hh results in build issues</title><link>https://sourceforge.net/p/log4cpp/support-requests/42/?limit=25#5e75</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hello Michael,&lt;/p&gt;
&lt;p&gt;Sorry for not answering for long time.&lt;br/&gt;
The code you referred to follows so called 'nifty counter idiom'. ( &lt;a href="https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter" rel="nofollow"&gt;https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter&lt;/a&gt; )&lt;br/&gt;
Intent is shortly described there.&lt;br/&gt;
The purpose here is to initialize memory area once for keeping map of all allocated appenders inside. These appenders will be released during program exiting so no memory will be reported as lost.&lt;br/&gt;
Moving this initializer into implementation .cpp file effectively meant that only single translation unit (Appender.cpp) would prevent the static initializer (and therefore all the appenders) from being destroyed. If some other client code still counted on using logging abilities then the program would crash on exit due to attempting to write log information into appenders which are already released.&lt;br/&gt;
I however consider this as an open question and invite you to discuss that.&lt;br/&gt;
Would you give a link to the code which had the trouble you described in this ticket please?&lt;/p&gt;
&lt;p&gt;Thanks,&lt;br/&gt;
Alexander.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexander Perepelkin</dc:creator><pubDate>Sat, 03 Jun 2017 13:41:57 -0000</pubDate><guid>https://sourceforge.net76572718cabe31b003297c28debddc8fd60fad7c</guid></item><item><title>#42 Use of static variable in Appender.hh results in build issues</title><link>https://sourceforge.net/p/log4cpp/support-requests/42/?limit=25#c9c0</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;status&lt;/strong&gt;: open --&amp;gt; accepted&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;assigned_to&lt;/strong&gt;: Alexander Perepelkin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;:  --&amp;gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alexander Perepelkin</dc:creator><pubDate>Mon, 08 May 2017 09:58:32 -0000</pubDate><guid>https://sourceforge.net18ec52c3753b5f89cb6f628c9b60b7cc23fff952</guid></item><item><title>Use of static variable in Appender.hh results in build issues</title><link>https://sourceforge.net/p/log4cpp/support-requests/42/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;In Appender.hh:164 is the core&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;static Appender::AppenderMapStorageInitializer appenderMapStorageInitializer
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;which is at the top-level log4cpp namespace. This variable will be initialized by any code #include'ing it, whether directly or indirectly. Any direct inclusion is probably OK since the including project is probably linking to log4cpp directly too.&lt;/p&gt;
&lt;p&gt;Any indirect inclusion is problematic, since the project is probably not linking to log4cpp directly &amp;amp; will need to do so to link cleanly. GNU Radio has this exact issue with out-of-tree (OOT) modules: A module has to #include from inside GNU Radio's headers, which in turn #include log4cpp headers. The OOT should not need to link to log4cpp, since it's not using the code directly.&lt;/p&gt;
&lt;p&gt;A fix is found here: &lt;a href="https://github.com/macports/macports-ports/commit/03e977add031301f57ca69729d829c607fe8d316#diff-066b9a66ca6ab453ac31b765b8caed86" rel="nofollow"&gt;https://github.com/macports/macports-ports/commit/03e977add031301f57ca69729d829c607fe8d316#diff-066b9a66ca6ab453ac31b765b8caed86&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It's really not clear what the intent ot this variable is beyond making sure that&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;_appenderMapStorageInstance
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;is initialized, and just once. Hence why I think moving the static variable from the header into the .cpp file is the correct fix (as per the MacPorts commit).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Dickens</dc:creator><pubDate>Thu, 04 May 2017 01:40:33 -0000</pubDate><guid>https://sourceforge.net58caaa7cf5460395a366d08e7502c71c495300ed</guid></item><item><title>Use of static variable in Appender.hh results in build issues</title><link>https://sourceforge.net/p/log4cpp/support-requests/42/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 42 has been modified: Use of static variable in Appender.hh results in build issues&lt;br/&gt;
Edited By: Alexander Perepelkin (sanchouss_)&lt;br/&gt;
Status updated: u'open' =&amp;gt; u'accepted'&lt;br/&gt;
Owner updated: None =&amp;gt; u'sanchouss_'&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michael Dickens</dc:creator><pubDate>Thu, 04 May 2017 01:40:33 -0000</pubDate><guid>https://sourceforge.net979a605cbedbe7774d5901ef2d3c62fe4d35b5aa</guid></item></channel></rss>