Bug#747016: Conflicting struct component names

Michael Tautschnig mt at debian.org
Sun May 4 19:09:15 UTC 2014


Package: clutter-1.0
Version: 1.18.2-1
Severity: wishlist
Usertags: goto-cc

During a rebuild of all packages in a clean sid chroot (and cowbuilder+pbuilder)
the build failed with the following error. Please note that we use our research
compiler tool-chain (using tools from the cbmc package), which permits extended
reporting on type inconsistencies at link time.

[...]
libtool: link: gcc -g -pthread -I/usr/include/cogl -I/usr/include/atk-1.0 -I/usr/include/cogl -I/usr/include/json-glib-1.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -Wl,-z -Wl,relro -Wl,-O1 -Wl,--as-needed -o .libs/actor-iter actor-iter.o -pthread -pthread -pthread -Wl,--export-dynamic  ../../clutter/.libs/libclutter-1.0.so -lcogl-path -latk-1.0 -lcogl-pango -lcogl -lwayland-egl -lgbm -ldrm -lEGL -lXrandr -ljson-glib-1.0 -lgio-2.0 -lgdk-3 -lpangocairo-1.0 /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so -lwayland-cursor -lwayland-client -lxkbcommon -lwayland-server -lX11 -lXext -lXdamage -lXfixes -lXcomposite -lXi -lpangoft2-1.0 -lpango-1.0 -lfontconfig /usr/lib/x86_64-linux-gnu/libfreetype.so -lgdk_pixbuf-2.0 -lgobject-2.0 -lgthread-2.0 -lgmodule-2.0 -lglib-2.0 -lm -pthread

error: conflicting function declarations "clutter_actor_iter_init"
old definition in module actor-iter file ../../clutter/clutter-actor.h line 692
void (struct _ClutterActorIter *, struct _ClutterActor *)
new definition in module clutter-actor file ./clutter-actor.c line 18362
void (struct _ClutterActorIter *iter, struct _ClutterActor *root)

reason for conflict at .clutter_private_dummy1 in types listed below (struct/struct):
names of component 0 differ (clutter_private_dummy1/dummy1)
struct _ClutterActorIter {
  void * clutter_private_dummy1;
  void * clutter_private_dummy2;
  void * clutter_private_dummy3;
  signed int clutter_private_dummy4;
  unsigned int $pad0;
  void * clutter_private_dummy5;
}
struct _ClutterActorIter {
  void * dummy1;
  void * dummy2;
  void * dummy3;
  signed int dummy4;
  unsigned int $pad0;
  void * dummy5;
}

While the layout at byte level appears to be consistent, the C standard mandates
that struct component names are equal for types to be compatible. This is
unlikely to cause any harm at present, but should be avoided (and should be
simple to fix).

Best,
Michael

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 859 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20140504/96c640c7/attachment-0001.sig>


More information about the pkg-gnome-maintainers mailing list