Bug#505072: Causes FTBFS with GCC 4.4: missing #include

Russ Allbery rra at debian.org
Mon Nov 10 22:57:33 UTC 2008

Martin Michlmayr <tbm at cyrius.com> writes:

>> Automatic build of opensaml2_2.0-1 on em64t by sbuild/amd64 0.53
> ...
>> /bin/sh ../libtool --silent --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I..   -pthread -g -Wall -O2 -O2 -DNDEBUG     -pthread -g -O2 -Wall -O2 -DNDEBUG -c -o Assertions.lo `test -f 'saml2/core/impl/Assertions.cpp' || echo './'`saml2/core/impl/Assertions.cpp
>> In file included from /usr/include/xmltooling/encryption/EncryptedKeyResolver.h:26,
>>                  from ../saml/encryption/EncryptedKeyResolver.h:27,
>>                  from saml2/core/impl/Assertions.cpp:25:
>> /usr/include/xmltooling/encryption/Encryption.h: In member function 'void xmlencryption::KeySize::setSize(int)':
>> /usr/include/xmltooling/encryption/Encryption.h:47: error: 'sprintf' was not declared in this scope
>> make[3]: *** [Assertions.lo] Error 1
>> make[3]: Leaving directory `/build/tbm/opensaml2-2.0/saml'

I think this is the best fix, since the use of sprintf is introduced by a
macro defined in base.h.  Scott, what do you think?  (And would you like
me to file a Jira bug for this?)

windlord:~/dvl/debian/xmltooling> git diff upstream..bug/gcc-4.4
diff --git a/xmltooling/base.h b/xmltooling/base.h
index 05128dd..1cfc851 100644
--- a/xmltooling/base.h
+++ b/xmltooling/base.h
@@ -26,6 +26,9 @@
 #include <typeinfo>
+/* Required for sprintf, used by integer attributes. */
+#include <cstdio>
 #if defined (_MSC_VER) || defined(__BORLANDC__)
   #include <xmltooling/config_pub_win32.h>

Russ Allbery (rra at debian.org)               <http://www.eyrie.org/~eagle/>

More information about the Pkg-shibboleth-devel mailing list