[PKG-IRC-Maintainers] Bug#505368: FTBFS with GCC 4.4: missing #include

Martin Michlmayr tbm at cyrius.com
Tue Nov 11 21:42:12 UTC 2008


Package: inspircd
Version: 1.1.21+dfsg-1
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-4.4
Tags: patch

Your package fails to build with the upcoming GCC 4.4.  Version 4.4
has not been released yet but I'm building with a snapshot in order
to find errors and give people an advance warning.

GCC 4.4 cleaned up some more C++ headers.  You always have to #include
headers directly and cannot rely for things to be included indirectly.

You can reproduce this problem with gcc-snapshot from unstable.

> Automatic build of inspircd_1.1.21+dfsg-1 on em64t by sbuild/amd64 0.53
...
> g++ -pipe  -shared -o libIRCDcull_list.so cull_list.o
> g++ -pipe -I../include -fno-strict-aliasing -fPIC -Wall -Woverloaded-virtual -Wno-deprecated -g1 -g -O2 -export-dynamic -c userprocess.cpp
> userprocess.cpp: In member function 'void InspIRCd::DoBackgroundUserStuff(time_t)':
> userprocess.cpp:277: error: 'snprintf' was not declared in this scope
> make[2]: *** [libIRCDuserprocess.so] Error 1
> make[2]: Leaving directory `/build/tbm/inspircd-1.1.21+dfsg/src'

--- src/modules/m_spanningtree/main.cpp~	2008-11-11 21:33:40.000000000 +0000
+++ src/modules/m_spanningtree/main.cpp	2008-11-11 21:33:47.000000000 +0000
@@ -24,6 +24,7 @@
 #include "wildcard.h"
 #include "xline.h"
 #include "transport.h"
+#include <cstdio>
 
 #include "m_spanningtree/timesynctimer.h"
 #include "m_spanningtree/resolvers.h"
--- src/modules/m_spanningtree/treesocket1.cpp~	2008-11-11 21:34:40.000000000 +0000
+++ src/modules/m_spanningtree/treesocket1.cpp	2008-11-11 21:34:46.000000000 +0000
@@ -24,6 +24,7 @@
 #include "transport.h"
 #include "m_hash.h"
 #include "socketengine.h"
+#include <cstdio>
 
 #include "m_spanningtree/main.h"
 #include "m_spanningtree/utils.h"
--- src/modules/m_spanningtree/treesocket2.cpp~	2008-11-11 21:35:53.000000000 +0000
+++ src/modules/m_spanningtree/treesocket2.cpp	2008-11-11 21:35:58.000000000 +0000
@@ -23,6 +23,7 @@
 #include "xline.h"
 #include "transport.h"
 #include "socketengine.h"
+#include <cstdio>
 
 #include "m_spanningtree/main.h"
 #include "m_spanningtree/utils.h"
--- src/modules/m_cgiirc.cpp~	2008-11-11 21:19:53.000000000 +0000
+++ src/modules/m_cgiirc.cpp	2008-11-11 21:20:02.000000000 +0000
@@ -16,6 +16,7 @@
 #include "modules.h"
 #include "xline.h"
 #include "dns.h"
+#include <cstdio>
 #ifndef WINDOWS
 #include <sys/socket.h>
 #include <netinet/in.h>
--- src/modules/m_check.cpp~	2008-11-11 21:21:12.000000000 +0000
+++ src/modules/m_check.cpp	2008-11-11 21:21:17.000000000 +0000
@@ -16,6 +16,7 @@
 #include "channels.h"
 #include "modules.h"
 #include "wildcard.h"
+#include <cstdio>
 
 /* $ModDesc: Provides the /check command to retrieve information on a user, channel, or IP address */
 
--- src/modules/m_customtitle.cpp~	2008-11-11 21:22:31.000000000 +0000
+++ src/modules/m_customtitle.cpp	2008-11-11 21:22:39.000000000 +0000
@@ -16,6 +16,7 @@
 #include "channels.h"
 #include "modules.h"
 #include "wildcard.h"
+#include <cstdio>
 
 /* $ModDesc: Provides the TITLE command which allows setting of CUSTOM WHOIS TITLE line */
 
--- src/modules/m_dnsbl.cpp~	2008-11-11 21:23:24.000000000 +0000
+++ src/modules/m_dnsbl.cpp	2008-11-11 21:23:34.000000000 +0000
@@ -17,6 +17,7 @@
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
+#include <cstdio>
 
 #ifndef WINDOWS
 #include <sys/types.h>
--- src/modules/m_ident.cpp~	2008-11-11 21:25:14.000000000 +0000
+++ src/modules/m_ident.cpp	2008-11-11 21:25:19.000000000 +0000
@@ -15,6 +15,7 @@
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
+#include <cstdio>
 
 using irc::sockets::NonBlocking;
 
--- src/modules/m_invisible.cpp~	2008-11-11 21:26:14.000000000 +0000
+++ src/modules/m_invisible.cpp	2008-11-11 21:26:20.000000000 +0000
@@ -16,6 +16,7 @@
 #include "channels.h"
 #include "modules.h"
 #include <stdarg.h>
+#include <cstdio>
 
 /* $ModDesc: Allows for opered clients to join channels without being seen, similar to unreal 3.1 +I mode */
 
--- src/modules/m_messageflood.cpp~	2008-11-11 21:27:05.000000000 +0000
+++ src/modules/m_messageflood.cpp	2008-11-11 21:27:10.000000000 +0000
@@ -15,6 +15,7 @@
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
+#include <cstdio>
 
 /* $ModDesc: Provides channel mode +f (message flood protection) */
 
--- src/modules/m_namesx.cpp~	2008-11-11 21:27:30.000000000 +0000
+++ src/modules/m_namesx.cpp	2008-11-11 21:27:35.000000000 +0000
@@ -15,6 +15,7 @@
 #include "users.h"
 #include "channels.h"
 #include "modules.h"
+#include <cstdio>
 
 static const char* dummy = "ON";
 
--- src/modules/m_safelist.cpp~	2008-11-11 21:29:18.000000000 +0000
+++ src/modules/m_safelist.cpp	2008-11-11 21:29:25.000000000 +0000
@@ -16,6 +16,7 @@
 #include "channels.h"
 #include "modules.h"
 #include "wildcard.h"
+#include <cstdio>
 
 /** Holds a users m_safelist state
  */
--- src/modules/m_spy.cpp~	2008-11-11 21:30:49.000000000 +0000
+++ src/modules/m_spy.cpp	2008-11-11 21:30:55.000000000 +0000
@@ -23,6 +23,7 @@
 #include "channels.h"
 #include "modules.h"
 #include "wildcard.h"
+#include <cstdio>
 
 void spy_userlist(userrec *user, chanrec *c)
 {
--- src/modules/m_tline.cpp~	2008-11-11 21:32:41.000000000 +0000
+++ src/modules/m_tline.cpp	2008-11-11 21:32:46.000000000 +0000
@@ -16,6 +16,7 @@
 #include "channels.h"
 #include "modules.h"
 #include "wildcard.h"
+#include <cstdio>
 
 /* $ModDesc: Provides /tline command used to test who a mask matches */
 
--- src/modes/cmode_v.cpp~	2008-11-11 21:02:32.000000000 +0000
+++ src/modes/cmode_v.cpp	2008-11-11 21:02:38.000000000 +0000
@@ -18,6 +18,7 @@
 #include "users.h"
 #include "modules.h"
 #include "modes/cmode_v.h"
+#include <cstdio>
 
 ModeChannelVoice::ModeChannelVoice(InspIRCd* Instance) : ModeHandler(Instance, 'v', 1, 1, true, MODETYPE_CHANNEL, false, '+')
 {
--- src/modes/cmode_o.cpp~	2008-11-11 21:03:07.000000000 +0000
+++ src/modes/cmode_o.cpp	2008-11-11 21:03:12.000000000 +0000
@@ -18,6 +18,7 @@
 #include "users.h"
 #include "modules.h"
 #include "modes/cmode_o.h"
+#include <cstdio>
 
 ModeChannelOp::ModeChannelOp(InspIRCd* Instance) : ModeHandler(Instance, 'o', 1, 1, true, MODETYPE_CHANNEL, false, '@')
 {
--- src/modes/cmode_k.cpp~	2008-11-11 21:03:42.000000000 +0000
+++ src/modes/cmode_k.cpp	2008-11-11 21:03:47.000000000 +0000
@@ -16,6 +16,7 @@
 #include "channels.h"
 #include "users.h"
 #include "modes/cmode_k.h"
+#include <cstdio>
 
 ModeChannelKey::ModeChannelKey(InspIRCd* Instance) : ModeHandler(Instance, 'k', 1, 1, false, MODETYPE_CHANNEL, false)
 {
--- src/modes/cmode_h.cpp~	2008-11-11 21:04:12.000000000 +0000
+++ src/modes/cmode_h.cpp	2008-11-11 21:04:18.000000000 +0000
@@ -18,6 +18,7 @@
 #include "users.h"
 #include "modules.h"
 #include "modes/cmode_h.h"
+#include <cstdio>
 
 ModeChannelHalfOp::ModeChannelHalfOp(InspIRCd* Instance) : ModeHandler(Instance, 'h', 1, 1, true, MODETYPE_CHANNEL, false, '%')
 {
--- src/modes/cmode_b.cpp~	2008-11-11 21:04:39.000000000 +0000
+++ src/modes/cmode_b.cpp	2008-11-11 21:04:46.000000000 +0000
@@ -24,6 +24,7 @@
 #include "inspstring.h"
 #include "hashcomp.h"
 #include "modes/cmode_b.h"
+#include <cstdio>
 
 ModeChannelBan::ModeChannelBan(InspIRCd* Instance) : ModeHandler(Instance, 'b', 1, 1, true, MODETYPE_CHANNEL, false)
 {
--- src/userprocess.cpp~	2008-11-11 20:59:20.000000000 +0000
+++ src/userprocess.cpp	2008-11-11 20:59:37.000000000 +0000
@@ -19,6 +19,7 @@
 #include "xline.h"
 #include "socketengine.h"
 #include "command_parse.h"
+#include <cstdio>
 
 void InspIRCd::FloodQuitUser(userrec* current)
 {
--- src/socketengine_epoll.cpp~	2008-11-11 21:00:36.000000000 +0000
+++ src/socketengine_epoll.cpp	2008-11-11 21:00:42.000000000 +0000
@@ -15,6 +15,7 @@
 #include "exitcodes.h"
 #include <sys/epoll.h>
 #include "socketengine_epoll.h"
+#include <cstdio>
 
 EPollEngine::EPollEngine(InspIRCd* Instance) : SocketEngine(Instance)
 {
--- src/channels.cpp~	2008-11-11 21:01:10.000000000 +0000
+++ src/channels.cpp	2008-11-11 21:01:16.000000000 +0000
@@ -18,6 +18,7 @@
 #include "modules.h"
 #include "wildcard.h"
 #include "mode.h"
+#include <cstdio>
 
 chanrec::chanrec(InspIRCd* Instance) : ServerInstance(Instance)
 {
--- src/mode.cpp~	2008-11-11 21:01:36.000000000 +0000
+++ src/mode.cpp	2008-11-11 21:01:46.000000000 +0000
@@ -16,6 +16,7 @@
 #include "modules.h"
 #include "inspstring.h"
 #include "mode.h"
+#include <cstdio>
 
 /* +s (secret) */
 #include "modes/cmode_s.h"
--- src/xline.cpp~	2008-11-11 21:06:42.000000000 +0000
+++ src/xline.cpp	2008-11-11 21:06:48.000000000 +0000
@@ -16,6 +16,7 @@
 #include "modules.h"
 #include "wildcard.h"
 #include "xline.h"
+#include <cstdio>
 
 /* Version two, now with optimized expiry!
  *
--- src/dns.cpp~	2008-11-11 21:07:26.000000000 +0000
+++ src/dns.cpp	2008-11-11 21:07:42.000000000 +0000
@@ -37,6 +37,7 @@
 #include "socketengine.h"
 #include "configreader.h"
 #include "socket.h"
+#include <cstdio>
 
 using irc::sockets::insp_inaddr;
 using irc::sockets::insp_ntoa;
--- src/cmd_kill.cpp~	2008-11-11 21:09:20.000000000 +0000
+++ src/cmd_kill.cpp	2008-11-11 21:09:25.000000000 +0000
@@ -17,6 +17,7 @@
 #include "modules.h"
 #include "wildcard.h"
 #include "commands/cmd_kill.h"
+#include <cstdio>
 
 extern "C" DllExport command_t* init_command(InspIRCd* Instance)
 {
--- src/cmd_oper.cpp~	2008-11-11 21:11:03.000000000 +0000
+++ src/cmd_oper.cpp	2008-11-11 21:11:08.000000000 +0000
@@ -19,6 +19,7 @@
 #include "wildcard.h"
 #include "commands/cmd_oper.h"
 #include "hashcomp.h"
+#include <cstdio>
 
 bool OneOfMatches(const char* host, const char* ip, const char* hostlist)
 {
--- src/cmd_stats.cpp~	2008-11-11 21:13:32.000000000 +0000
+++ src/cmd_stats.cpp	2008-11-11 21:13:42.000000000 +0000
@@ -27,6 +27,7 @@
 #include "xline.h"
 #include "commands/cmd_stats.h"
 #include "commands/cmd_whowas.h"
+#include <cstdio>
 
 
 extern "C" DllExport command_t* init_command(InspIRCd* Instance)
--- src/cmd_time.cpp~	2008-11-11 21:14:08.000000000 +0000
+++ src/cmd_time.cpp	2008-11-11 21:14:13.000000000 +0000
@@ -15,6 +15,7 @@
 #include "configreader.h"
 #include "users.h"
 #include "commands/cmd_time.h"
+#include <cstdio>
 
 
 
--- src/users.cpp~	2008-11-11 21:15:44.000000000 +0000
+++ src/users.cpp	2008-11-11 21:15:49.000000000 +0000
@@ -20,6 +20,7 @@
 #include "wildcard.h"
 #include "xline.h"
 #include "commands/cmd_whowas.h"
+#include <cstdio>
 
 static unsigned long already_sent[MAX_DESCRIPTORS] = {0};
 
--- src/helperfuncs.cpp~	2008-11-11 21:16:37.000000000 +0000
+++ src/helperfuncs.cpp	2008-11-11 21:16:43.000000000 +0000
@@ -20,6 +20,7 @@
 #include "mode.h"
 #include "xline.h"
 #include "exitcodes.h"
+#include <cstdio>
 
 static char TIMESTR[26];
 static time_t LAST = 0;
--- src/command_parse.cpp~	2008-11-11 21:17:11.000000000 +0000
+++ src/command_parse.cpp	2008-11-11 21:17:19.000000000 +0000
@@ -22,6 +22,7 @@
 #include "socket.h"
 #include "command_parse.h"
 #include "exitcodes.h"
+#include <cstdio>
 
 /* Directory Searching for Unix-Only */
 #ifndef WIN32
--- src/snomasks.cpp~	2008-11-11 21:17:45.000000000 +0000
+++ src/snomasks.cpp	2008-11-11 21:17:51.000000000 +0000
@@ -16,6 +16,7 @@
 #include "configreader.h"
 #include "users.h"
 #include "snomasks.h"
+#include <cstdio>
 
 SnomaskManager::SnomaskManager(InspIRCd* Instance) : ServerInstance(Instance)
 {

-- 
Martin Michlmayr
http://www.cyrius.com/





More information about the Pkg-irc-maintainers mailing list