[Debian-med-packaging] Bug#504849: FTBFS with GCC 4.4: missing #include

Martin Michlmayr tbm at cyrius.com
Fri Nov 7 16:57:23 UTC 2008


Package: epcr
Version: 2.3.10-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 epcr_2.3.10-1 on em64t by sbuild/amd64 0.53
...
> g++ -g -O2 -g -Wall -O2 -I. -g2 -DDEALLOCATE=0  -DVERSION=\"2.3.10\" -DVER_MAJOR=2 -DVER_MINOR=3 -DVER_BUILD=10 -DSTANDALONE=1 -c stsmatch.cpp -o stsmatch.o
> stsmatch.cpp: In member function 'virtual bool ncbi::pcr_tools::CStsFileCallbackDefault::Error(ncbi::pcr_tools::IStsFileCallback::EError)':
> stsmatch.cpp:80: warning: enumeration value 'eErrTOTAL' not handled in switch
> stsmatch.cpp: In member function 'virtual bool ncbi::pcr_tools::CStsFileCallbackDefault::Done()':
> stsmatch.cpp:95: error: 'stderr' was not declared in this scope
> stsmatch.cpp:96: error: 'fprintf' was not declared in this scope
> stsmatch.cpp:98: error: 'stderr' was not declared in this scope
> stsmatch.cpp:99: error: 'fprintf' was not declared in this scope
> stsmatch.cpp:101: error: 'stderr' was not declared in this scope
> stsmatch.cpp:103: error: 'fprintf' was not declared in this scope
> make[2]: *** [stsmatch.o] Error 1
> make[2]: Leaving directory `/build/tbm/epcr-2.3.10'
> make[2]: Entering directory `/build/tbm/epcr-2.3.10'
> if test -n "" ; then \
> 		test -L  || ln -s .  ; \
> 	fi
> g++ -g -O2 -g -Wall -O2 -I. -g2 -DDEALLOCATE=0  -DVERSION=\"2.3.10\" -DVER_MAJOR=2 -DVER_MINOR=3 -DVER_BUILD=10 -DSTANDALONE=1 -c e-PCR_main.cpp -o e-PCR_main.o
> e-PCR_main.cpp:69: error: 'stdout' was not declared in this scope
> e-PCR_main.cpp: In member function 'int CMain::Help(FILE*)':
> e-PCR_main.cpp:103: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp: In member function 'int CMain::ParseCmdline()':
> e-PCR_main.cpp:194: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:195: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:237: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:244: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:276: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:277: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:301: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:301: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:306: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp: In constructor 'CPcrProgressCallback::CPcrProgressCallback(int)':
> e-PCR_main.cpp:350: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:350: error: 'fileno' was not declared in this scope
> e-PCR_main.cpp: In member function 'void CPcrProgressCallback::Report(unsigned int, bool)':
> e-PCR_main.cpp:361: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:361: error: 'fputs' was not declared in this scope
> e-PCR_main.cpp:366: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:366: error: 'fputs' was not declared in this scope
> e-PCR_main.cpp:368: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:368: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:372: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:372: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:373: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:373: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:374: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:374: error: 'putc' was not declared in this scope
> e-PCR_main.cpp:377: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:377: error: 'fputs' was not declared in this scope
> e-PCR_main.cpp:378: error: 'putc' was not declared in this scope
> e-PCR_main.cpp:381: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:381: error: 'putc' was not declared in this scope
> e-PCR_main.cpp:382: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:382: error: 'fflush' was not declared in this scope
> e-PCR_main.cpp: In member function 'void CMain::ParseVerbose(const char*)':
> e-PCR_main.cpp:410: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:410: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp: In member function 'virtual int CPcrMachineCallbackClassic::ReportHit(const char*, int, int, const ncbi::pcr_tools::ISts*)':
> e-PCR_main.cpp:446: error: 'sprintf' was not declared in this scope
> e-PCR_main.cpp:448: error: 'sprintf' was not declared in this scope
> e-PCR_main.cpp:454: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp: In member function 'virtual void CPcrMachineCallbackTabular::CbkMatch(const ncbi::pcr_tools::ISts*, unsigned int, unsigned int, const ncbi::pcr_tools::IPcrMachineCallback::SScore*)':
> e-PCR_main.cpp:539: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:554: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp: In member function 'int CMain::Execute()':
> e-PCR_main.cpp:615: error: 'fopen64' was not declared in this scope
> e-PCR_main.cpp:615: error: 'stdout' was not declared in this scope
> e-PCR_main.cpp:733: error: 'fclose' was not declared in this scope
> e-PCR_main.cpp: In member function 'int CMain::Version()':
> e-PCR_main.cpp:742: error: 'puts' was not declared in this scope
> e-PCR_main.cpp: In function 'int main(int, char**)':
> e-PCR_main.cpp:760: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:760: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:763: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:763: error: 'fprintf' was not declared in this scope
> e-PCR_main.cpp:766: error: 'stderr' was not declared in this scope
> e-PCR_main.cpp:766: error: 'fprintf' was not declared in this scope
> make[2]: *** [e-PCR_main.o] Error 1
> make[2]: Leaving directory `/build/tbm/epcr-2.3.10'
> make[2]: Entering directory `/build/tbm/epcr-2.3.10'
> if test -n "" ; then \
> 		test -L  || ln -s .  ; \
> 	fi
> g++ -g -O2 -g -Wall -O2 -I. -g2 -DDEALLOCATE=0  -DVERSION=\"2.3.10\" -DVER_MAJOR=2 -DVER_MINOR=3 -DVER_BUILD=10 -DSTANDALONE=1 -c famap_main.cpp -o famap_main.o
> famap_main.cpp:54: error: 'stdout' was not declared in this scope
> famap_main.cpp: In member function 'int CMain::Help(FILE*)':
> famap_main.cpp:74: error: 'fprintf' was not declared in this scope
> famap_main.cpp: In member function 'int CMain::ParseCmdline()':
> famap_main.cpp:105: error: 'stderr' was not declared in this scope
> famap_main.cpp:105: error: 'fprintf' was not declared in this scope
> famap_main.cpp:110: error: 'stderr' was not declared in this scope
> famap_main.cpp: In member function 'int CMain::Build()':
> famap_main.cpp:121: error: 'stderr' was not declared in this scope
> famap_main.cpp:122: error: 'fileno' was not declared in this scope
> famap_main.cpp:123: error: 'fprintf' was not declared in this scope
> famap_main.cpp:128: error: 'rename' was not declared in this scope
> famap_main.cpp: In member function 'int CMain::Stat()':
> famap_main.cpp:149: error: 'stdout' was not declared in this scope
> famap_main.cpp:149: error: 'fprintf' was not declared in this scope
> famap_main.cpp: In member function 'int CMain::Dump()':
> famap_main.cpp:160: error: 'printf' was not declared in this scope
> famap_main.cpp:163: error: 'stdout' was not declared in this scope
> famap_main.cpp:163: error: 'fwrite' was not declared in this scope
> famap_main.cpp:164: error: 'putc' was not declared in this scope
> famap_main.cpp:170: warning: comparison between signed and unsigned integer expressions
> famap_main.cpp:172: warning: comparison between signed and unsigned integer expressions
> famap_main.cpp:173: error: 'stderr' was not declared in this scope
> famap_main.cpp:173: error: 'fprintf' was not declared in this scope
> famap_main.cpp:175: error: 'printf' was not declared in this scope
> famap_main.cpp:178: error: 'stdout' was not declared in this scope
> famap_main.cpp:178: error: 'fwrite' was not declared in this scope
> famap_main.cpp:179: error: 'putc' was not declared in this scope
> famap_main.cpp: In member function 'int CMain::List()':
> famap_main.cpp:195: error: 'printf' was not declared in this scope
> famap_main.cpp:205: warning: comparison between signed and unsigned integer expressions
> famap_main.cpp:207: warning: comparison between signed and unsigned integer expressions
> famap_main.cpp:208: error: 'stderr' was not declared in this scope
> famap_main.cpp:208: error: 'fprintf' was not declared in this scope
> famap_main.cpp:211: error: 'printf' was not declared in this scope
> famap_main.cpp: In member function 'int CMain::Version()':
> famap_main.cpp:223: error: 'puts' was not declared in this scope
> famap_main.cpp: In function 'int main(int, char**)':
> famap_main.cpp:241: error: 'stderr' was not declared in this scope
> famap_main.cpp:241: error: 'fprintf' was not declared in this scope
> famap_main.cpp:244: error: 'stderr' was not declared in this scope
> famap_main.cpp:244: error: 'fprintf' was not declared in this scope
> famap_main.cpp:247: error: 'stderr' was not declared in this scope
> famap_main.cpp:247: error: 'fprintf' was not declared in this scope
> make[2]: *** [famap_main.o] Error 1
> make[2]: Leaving directory `/build/tbm/epcr-2.3.10'
> make[2]: Entering directory `/build/tbm/epcr-2.3.10'
> if test -n "" ; then \
> 		test -L  || ln -s .  ; \
> 	fi
> g++ -g -O2 -g -Wall -O2 -I. -g2 -DDEALLOCATE=0  -DVERSION=\"2.3.10\" -DVER_MAJOR=2 -DVER_MINOR=3 -DVER_BUILD=10 -DSTANDALONE=1 -c fahash_main.cpp -o fahash_main.o
> fahash_main.cpp:57: error: 'stdout' was not declared in this scope
> fahash_main.cpp: In member function 'int CMain::Help(FILE*)':
> fahash_main.cpp:82: error: 'fprintf' was not declared in this scope
> fahash_main.cpp: In member function 'int CMain::ParseCmdline()':
> fahash_main.cpp:140: error: 'stderr' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkSequence(const char*)':
> fahash_main.cpp:157: error: 'stderr' was not declared in this scope
> fahash_main.cpp:157: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:158: error: 'fflush' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkProgress(unsigned int, unsigned int)':
> fahash_main.cpp:166: error: 'stderr' was not declared in this scope
> fahash_main.cpp:169: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:170: error: 'fflush' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkFile(const char*)':
> fahash_main.cpp:175: error: 'stderr' was not declared in this scope
> fahash_main.cpp:175: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:176: error: 'fflush' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkDumpProgress(unsigned int, unsigned int)':
> fahash_main.cpp:184: error: 'stderr' was not declared in this scope
> fahash_main.cpp:187: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:188: error: 'fflush' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkDumpStart()':
> fahash_main.cpp:193: error: 'stderr' was not declared in this scope
> fahash_main.cpp:193: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:194: error: 'fflush' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkDumpEnd()':
> fahash_main.cpp:197: error: 'stderr' was not declared in this scope
> fahash_main.cpp:197: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:198: error: 'fflush' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkResetStart()':
> fahash_main.cpp:201: error: 'stderr' was not declared in this scope
> fahash_main.cpp:201: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:202: error: 'fflush' was not declared in this scope
> fahash_main.cpp: In member function 'virtual void CFaIndexerCallback::CbkResetEnd()':
> fahash_main.cpp:205: error: 'stderr' was not declared in this scope
> fahash_main.cpp:205: error: 'fprintf' was not declared in this scope
> fahash_main.cpp: In member function 'int CMain::Build()':
> fahash_main.cpp:247: error: 'rename' was not declared in this scope
> fahash_main.cpp: In member function 'int CMain::Execute()':
> fahash_main.cpp:256: warning: enumeration value 'eNone' not handled in switch
> fahash_main.cpp: In member function 'int CMain::Stat()':
> fahash_main.cpp:266: error: 'stderr' was not declared in this scope
> fahash_main.cpp:266: error: 'fputs' was not declared in this scope
> fahash_main.cpp:269: error: 'fopen64' was not declared in this scope
> fahash_main.cpp:269: error: 'stdout' was not declared in this scope
> fahash_main.cpp:292: warning: comparison between signed and unsigned integer expressions
> fahash_main.cpp:303: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:306: error: 'fclose' was not declared in this scope
> fahash_main.cpp: In member function 'int CMain::Version()':
> fahash_main.cpp:314: error: 'puts' was not declared in this scope
> fahash_main.cpp: In function 'int main(int, char**)':
> fahash_main.cpp:332: error: 'stderr' was not declared in this scope
> fahash_main.cpp:332: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:335: error: 'stderr' was not declared in this scope
> fahash_main.cpp:335: error: 'fprintf' was not declared in this scope
> fahash_main.cpp:338: error: 'stderr' was not declared in this scope
> fahash_main.cpp:338: error: 'fprintf' was not declared in this scope
> make[2]: *** [fahash_main.o] Error 1
> make[2]: Leaving directory `/build/tbm/epcr-2.3.10'
> make[2]: Entering directory `/build/tbm/epcr-2.3.10'
> if test -n "" ; then \
> 		test -L  || ln -s .  ; \
> 	fi
> g++ -g -O2 -g -Wall -O2 -I. -g2 -DDEALLOCATE=0  -DVERSION=\"2.3.10\" -DVER_MAJOR=2 -DVER_MINOR=3 -DVER_BUILD=10 -DSTANDALONE=1 -c re-PCR_main.cpp -o re-PCR_main.o
> re-PCR_main.cpp:59: error: 'stdout' was not declared in this scope
> re-PCR_main.cpp: In member function 'int CMain::Help(FILE*)':
> re-PCR_main.cpp:89: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'int CMain::ParseCmdline()':
> re-PCR_main.cpp:161: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp: At global scope:
> re-PCR_main.cpp:179: error: 'stdout' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual bool CFaLookupCallbackBase::Fail(const std::string&)':
> re-PCR_main.cpp:181: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual bool CFaLookupCallbackBase::Warn(const std::string&, const ncbi::pcr_tools::ISts*)':
> re-PCR_main.cpp:185: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual bool CFaLookupCallbackBase::Done()':
> re-PCR_main.cpp:189: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:189: error: 'fileno' was not declared in this scope
> re-PCR_main.cpp:190: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp:191: error: 'fflush' was not declared in this scope
> re-PCR_main.cpp:193: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual void CFaLookupCallbackBase::Progress(unsigned int, unsigned int)':
> re-PCR_main.cpp:197: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:197: error: 'fileno' was not declared in this scope
> re-PCR_main.cpp:207: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp:208: error: 'fflush' was not declared in this scope
> re-PCR_main.cpp: At global scope:
> re-PCR_main.cpp:228: error: 'stdout' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual bool CFaLookupPrimerCallback::Start()':
> re-PCR_main.cpp:230: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual bool CFaLookupPrimerCallback::Match(const ncbi::pcr_tools::SFaMatchBlock*)':
> re-PCR_main.cpp:245: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: At global scope:
> re-PCR_main.cpp:254: error: 'stdout' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual bool CFaLookupStsCallback::Start()':
> re-PCR_main.cpp:258: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'virtual bool CFaLookupStsCallback::Match(const ncbi::pcr_tools::SFaMatchBlock*, const ncbi::pcr_tools::ISts*)':
> re-PCR_main.cpp:273: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'int CMain::Execute()':
> re-PCR_main.cpp:344: warning: enumeration value 'eNone' not handled in switch
> re-PCR_main.cpp: In member function 'int CMain::PrimerLookup()':
> re-PCR_main.cpp:355: error: 'stdout' was not declared in this scope
> re-PCR_main.cpp:361: error: 'snprintf' was not declared in this scope
> re-PCR_main.cpp:373: error: 'fopen' was not declared in this scope
> re-PCR_main.cpp:376: error: 'fgets' was not declared in this scope
> re-PCR_main.cpp:377: error: 'feof' was not declared in this scope
> re-PCR_main.cpp:399: error: 'fclose' was not declared in this scope
> re-PCR_main.cpp:401: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:402: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp: In member function 'int CMain::STSLookup()':
> re-PCR_main.cpp:415: error: 'fopen64' was not declared in this scope
> re-PCR_main.cpp:415: error: 'stdout' was not declared in this scope
> re-PCR_main.cpp:423: error: 'snprintf' was not declared in this scope
> re-PCR_main.cpp:444: error: 'fopen' was not declared in this scope
> re-PCR_main.cpp:451: error: 'fgets' was not declared in this scope
> re-PCR_main.cpp:452: error: 'feof' was not declared in this scope
> re-PCR_main.cpp:485: warning: comparison between signed and unsigned integer expressions
> re-PCR_main.cpp:486: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:487: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp:499: error: 'fclose' was not declared in this scope
> re-PCR_main.cpp:500: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:501: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp:442: warning: unused variable 'tcount'
> re-PCR_main.cpp: In member function 'int CMain::Version()':
> re-PCR_main.cpp:517: error: 'puts' was not declared in this scope
> re-PCR_main.cpp: In function 'int main(int, char**)':
> re-PCR_main.cpp:535: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:535: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp:538: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:538: error: 'fprintf' was not declared in this scope
> re-PCR_main.cpp:541: error: 'stderr' was not declared in this scope
> re-PCR_main.cpp:541: error: 'fprintf' was not declared in this scope
> make[2]: *** [re-PCR_main.o] Error 1
> make[2]: Leaving directory `/build/tbm/epcr-2.3.10'

--- re-PCR_main.cpp~	2008-11-07 16:50:00.000000000 +0000
+++ re-PCR_main.cpp	2008-11-07 16:50:09.000000000 +0000
@@ -37,6 +37,7 @@
 #include <errno.h>
 
 #include <stdexcept>
+#include <cstdio>
 #include <string>
 #include <memory>
 
--- fahash_main.cpp~	2008-11-07 16:50:32.000000000 +0000
+++ fahash_main.cpp	2008-11-07 16:50:41.000000000 +0000
@@ -37,6 +37,7 @@
 #include <math.h>
 #include <time.h>
 
+#include <cstdio>
 #include <memory>
 
 USING_NCBI_SCOPE;
--- famap_main.cpp~	2008-11-07 16:51:14.000000000 +0000
+++ famap_main.cpp	2008-11-07 16:51:23.000000000 +0000
@@ -29,6 +29,7 @@
 
 #include <epcr/fast_seqio.hpp>
 #include <stdexcept>
+#include <cstdio>
 #include <cstdlib>
 #include <cstring>
 
--- e-PCR_main.cpp~	2008-11-07 16:51:34.000000000 +0000
+++ e-PCR_main.cpp	2008-11-07 16:51:42.000000000 +0000
@@ -36,6 +36,7 @@
 #include <errno.h>
 #include <time.h>
 
+#include <cstdio>
 #include <memory>
 
 #ifndef STANDALONE
--- stsmatch.cpp~	2008-11-07 16:51:51.000000000 +0000
+++ stsmatch.cpp	2008-11-07 16:51:59.000000000 +0000
@@ -33,6 +33,7 @@
 
 #include <errno.h>
 #include <ctype.h>
+#include <cstdio>
 #include <stdexcept>
 
 USING_NCBI_SCOPE;

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





More information about the Debian-med-packaging mailing list