In order to compile with recent versions of gcc, some includes needs to be adjusted. Some of the patches in this diff are required for gcc-4.3, some others for gcc-4.4. I haven't disentagled which patch is required for what exact version of gcc, but all of them are rather obvious and probably be applied upstream. --- a/bin/bbackupobjdump/bbackupobjdump.cpp +++ b/bin/bbackupobjdump/bbackupobjdump.cpp @@ -9,7 +9,8 @@ #include "Box.h" -#include +#include +#include #include "MainHelper.h" #include "FileStream.h" --- a/bin/bbackupquery/bbackupquery.cpp +++ b/bin/bbackupquery/bbackupquery.cpp @@ -14,7 +14,8 @@ #endif #include -#include +#include +#include #ifdef HAVE_SYS_TYPES_H #include --- a/bin/bbstoreaccounts/bbstoreaccounts.cpp +++ b/bin/bbstoreaccounts/bbstoreaccounts.cpp @@ -36,6 +36,8 @@ #include "MemLeakFindOn.h" +#include + // max size of soft limit as percent of hard limit #define MAX_SOFT_LIMIT_SIZE 97 --- a/lib/backupclient/BackupClientFileAttributes.cpp +++ b/lib/backupclient/BackupClientFileAttributes.cpp @@ -28,6 +28,8 @@ #include #endif +#include + #include "BackupClientFileAttributes.h" #include "CommonException.h" #include "FileModificationTime.h" --- a/lib/backupclient/BackupStoreFile.h +++ b/lib/backupclient/BackupStoreFile.h @@ -12,6 +12,7 @@ #include #include +#include #include "BackupClientFileAttributes.h" #include "BackupStoreFilename.h" --- a/lib/backupclient/BackupStoreFileDiff.cpp +++ b/lib/backupclient/BackupStoreFileDiff.cpp @@ -35,6 +35,8 @@ #include "MemLeakFindOn.h" +#include + using namespace BackupStoreFileCryptVar; using namespace BackupStoreFileCreation; --- a/lib/backupclient/BackupStoreFileEncodeStream.cpp +++ b/lib/backupclient/BackupStoreFileEncodeStream.cpp @@ -26,6 +26,8 @@ #include "MemLeakFindOn.h" +#include + using namespace BackupStoreFileCryptVar; --- a/lib/common/Configuration.cpp +++ b/lib/common/Configuration.cpp @@ -22,6 +22,8 @@ #include "MemLeakFindOn.h" +#include + // utility whitespace function inline bool iw(int c) { --- a/lib/common/DebugMemLeakFinder.cpp +++ b/lib/common/DebugMemLeakFinder.cpp @@ -24,6 +24,7 @@ #include #include #include +#include // for std::atexit #include "MemLeakFinder.h" @@ -130,7 +131,7 @@ void *memleakfinder_malloc(size_t size, { InternalAllocGuard guard; - void *b = ::malloc(size); + void *b = std::malloc(size); if(!memleakfinder_global_enable) return b; if(!memleakfinder_initialised) return b; @@ -146,7 +147,7 @@ void *memleakfinder_realloc(void *ptr, s if(!memleakfinder_global_enable || !memleakfinder_initialised) { - return ::realloc(ptr, size); + return std::realloc(ptr, size); } // Check it's been allocated @@ -158,7 +159,7 @@ void *memleakfinder_realloc(void *ptr, s "objects?"); } - void *b = ::realloc(ptr, size); + void *b = std::realloc(ptr, size); if(ptr && i!=sMallocBlocks.end()) { @@ -215,7 +216,7 @@ void memleakfinder_free(void *ptr) } //TRACE1("free(), %08x\n", ptr); - ::free(ptr); + std::free(ptr); } @@ -426,7 +427,7 @@ void memleakfinder_setup_exit_report(con atexit_markertext[sizeof(atexit_markertext)-1] = 0; if(!atexit_registered) { - atexit(memleakfinder_atexit); + std::atexit(memleakfinder_atexit); atexit_registered = true; } } @@ -490,7 +491,7 @@ static void *internal_new(size_t size, c { InternalAllocGuard guard; - r = ::malloc(size); + r = std::malloc(size); } if (sInternalAllocDepth == 0) @@ -533,7 +534,7 @@ void internal_delete(void *ptr) { InternalAllocGuard guard; - ::free(ptr); + std::free(ptr); remove_object_block(ptr); //TRACE1("delete[]() called, %08x\n", ptr); } --- a/lib/common/MemLeakFinder.h +++ b/lib/common/MemLeakFinder.h @@ -12,7 +12,7 @@ #ifdef MEMLEAKFINDER_FULL_MALLOC_MONITORING // include stdlib now, to avoid problems with having the macros defined already - #include + #include #endif // global enable flag --- a/lib/common/StreamableMemBlock.cpp +++ b/lib/common/StreamableMemBlock.cpp @@ -10,7 +10,7 @@ #include "Box.h" #include -#include +#include #include #include "StreamableMemBlock.h" --- a/lib/common/Test.h +++ b/lib/common/Test.h @@ -10,7 +10,7 @@ #ifndef TEST__H #define TEST__H -#include +#include #ifdef WIN32 #define BBACKUPCTL "..\\..\\bin\\bbackupctl\\bbackupctl.exe" --- a/lib/common/WaitForEvent.h +++ b/lib/common/WaitForEvent.h @@ -22,6 +22,8 @@ #endif #endif +#include + #include "CommonException.h" #include "MemLeakFindOn.h" --- a/lib/raidfile/RaidFileRead.h +++ b/lib/raidfile/RaidFileRead.h @@ -10,7 +10,8 @@ #ifndef RAIDFILEREAD__H #define RAIDFILEREAD__H -#include +#include +#include #include #include --- a/lib/common/Logging.cpp +++ b/lib/common/Logging.cpp @@ -11,6 +11,10 @@ #include #include +#include // for stderror + +// c.f. http://bugs.debian.org/512510 +#include #ifdef HAVE_SYSLOG_H #include --- a/bin/bbackupctl/bbackupctl.cpp +++ b/bin/bbackupctl/bbackupctl.cpp @@ -9,7 +9,8 @@ #include "Box.h" -#include +#include +#include #ifdef HAVE_UNISTD_H #include