[Debichem-devel] Bug#455308: FTBFS with GCC 4.3: missing #includes

Martin Michlmayr tbm at cyrius.com
Sun Dec 9 17:51:20 UTC 2007


Package: gchempaint
Version: 0.8.4-2
Usertags: ftbfs-gcc-4.3

Your package fails to build with GCC 4.3.  Version 4.3 has not been
released yet but I'm building with a snapshot in order to find errors
and give people an advance warning.  In GCC 4.3, the C++ header
dependencies have been cleaned up.  The advantage of this is that
programs will compile faster.  The downside is that you actually
need to directly #include everything you use (but you really should
do this anyway, otherwise your program won't work with any compiler
other than GCC).  There's some more information about this at
http://www.cyrius.com/journal/2007/05/10#gcc-4.3-include

You can reproduce this problem with gcc-snapshot from unstable.  Note
that Red Hat, Novell and Ubuntu have done some work getting packages
to build with GCC 4.3 so there might be patches floating around
somewhere.  I suggest you talk to your upstream.

> Automatic build of gchempaint_0.8.4-2 on em64t by sbuild/amd64 0.53
...
> mkdir .libs
>  g++ -DHAVE_CONFIG_H -DDATADIR=\"/usr/share\" -DPIXMAPSDIR=\"/usr/share/gchempaint/pixmaps\" -DGLADEDIR=\"/usr/share/gchempaint/ui\" -DPLUGINSDIR=\"/usr/lib/gchempaint/plugins\" -DLOCALEDIR=\"/usr/share/locale\" -I. -I. -I.. -I.. -DPNG_NO_MMX_CODE -DORBIT2=1 -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libglade-2.0 -I/usr/include/libxml2 -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libgnomeprint-2.2 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -I/usr/include/gail-1.0 -I/usr/include/libgnomeui-2.0 -I/usr/include/gconf/2 -I/usr/include/gnome-keyring-1 -I/usr/include/libgnome-2.0 -I/usr/include/libbonoboui-2.0 -I/usr/include/gnome-vfs-2.0 -I/usr/lib/gnome-vfs-2.0/include -I/usr/include/orbit-2.0 -I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0 -I/usr/include/gnome-vfs-module-2.0 -I/usr/include/gcu -I/usr/include/gtkglext-1.0 -I/usr/include/openbabel-2.0 -I/usr/include/libgoffice-0.4 -I/usr/lib/gtkglext-1.0/include -I/usr/include/libgsf-1 -Wall -Wall -g -O2 -MT application.lo -MD -MP -MF .deps/application.Tpo -c application.cc  -fPIC -DPIC -o .libs/application.o
> In file included from atom.h:32,
>                  from view.h:34,
>                  from tool.h:31,
>                  from application.h:28,
>                  from application.cc:26:
> /usr/include/gcu/gcu/element.h:265: warning: type qualifiers ignored on function return type
> In file included from /usr/include/openbabel-2.0/openbabel/mol.h:44,
>                  from molecule.h:31,
>                  from document.h:40,
>                  from application.cc:27:
> /usr/include/openbabel-2.0/openbabel/data.h: In constructor 'OpenBabel::OBElement::OBElement(int, const char*, double, double, int, double, double, double, double, double, double, double, std::string)':
> /usr/include/openbabel-2.0/openbabel/data.h:116: error: 'strncpy' was not declared in this scope
> In file included from application.cc:54:
> /usr/include/openbabel-2.0/openbabel/obconversion.h: In member function 'bool OpenBabel::CharPtrLess::operator()(const char*, const char*) const':
> /usr/include/openbabel-2.0/openbabel/obconversion.h:152: error: 'strcasecmp' was not declared in this scope
> application.cc: In function 'void load_globs_from_dir(const char*)':
> application.cc:67: error: 'strlen' was not declared in this scope
> application.cc:69: error: 'strcpy' was not declared in this scope
> application.cc:69: error: 'strcat' was not declared in this scope
> application.cc:88: error: 'strchr' was not declared in this scope
> application.cc: In function 'void load_globs()':
> application.cc:127: error: 'strlen' was not declared in this scope
> application.cc:128: error: 'strcpy' was not declared in this scope
> application.cc:129: error: 'strcat' was not declared in this scope
> application.cc:162: error: 'strncpy' was not declared in this scope
> application.cc: In constructor 'gcpApplication::gcpApplication()':
> application.cc:244: error: 'strlen' was not declared in this scope
> application.cc: In member function 'virtual bool gcpApplication::FileProcess(const gchar*, const gchar*, bool, GtkWindow*, gcu::Document*)':
> application.cc:423: error: 'strlen' was not declared in this scope
> application.cc:433: error: 'strlen' was not declared in this scope
> application.cc:446: error: 'strcmp' was not declared in this scope
> application.cc:482: error: 'strcmp' was not declared in this scope
> application.cc:513: error: 'strcmp' was not declared in this scope
> application.cc:539: error: 'strcmp' was not declared in this scope
> application.cc: In member function 'void gcpApplication::OpenGcp(const std::string&, gcpDocument*)':
> application.cc:738: error: 'strcmp' was not declared in this scope
> application.cc: In member function 'void gcpApplication::AddActions(const GtkRadioActionEntry*, int, const char*, const gcpIconDesc*)':
> application.cc:910: error: 'memcpy' was not declared in this scope
> application.cc:912: error: 'strcmp' was not declared in this scope
> application.cc: In member function 'void gcpApplication::OnConfigChanged(GConfClient*, guint, GConfEntry*)':
> application.cc:996: error: 'strcmp' was not declared in this scope
> make[3]: *** [application.lo] Error 1
> make[3]: Leaving directory `/build/tbm/gchempaint-0.8.4/lib'

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





More information about the Debichem-devel mailing list