[Pkg-cairo-dock-devel] Bug#746992: Use of #define __USE_POSIX causes conflicting types

Michael Tautschnig mt at debian.org
Sun May 4 17:06:50 UTC 2014


Package: cairo-dock-plug-ins
Version: 3.3.2-3.1
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.

[...]
/usr/bin/cc  -fPIC -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -D_FORTIFY_SOURCE=2 -Wl,-z,relro -shared -Wl,-soname,libcd-dnd2share.so -o libcd-dnd2share.so CMakeFiles/cd-dnd2share.dir/applet-backend-codepad.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-custom.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-dropbox.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-free.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-imagebin.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-imageshack.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-imgur.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-pastebin.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-pastebin-mozilla.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-paste-ubuntu.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-ubuntuone.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-uppix.c.o CMakeFiles/cd-dnd2share.dir/applet-backend-videobin.c.o CMakeFiles/cd-dnd2share.dir/applet-config.c.o CMakeFiles/cd-dnd2share.dir/applet-dnd2share.c.o CMakeFiles/cd-dnd2share.dir/applet-init.c.o CMakeFiles/cd-dnd2share.dir/applet-notifications.c.o -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lgthread-2.0 -lrsvg-2 -lm -lgio-2.0 -lgdk_pixbuf-2.0 -lcairo -ldbus-glib-1 -ldbus-1 -lgobject-2.0 -lglib-2.0 -lxml2 -lGLU -lGL -lcurl -lXtst -lXcomposite -lXrandr -lXrender -lX11 

error: conflicting function declarations "stat"
old definition in module applet-backend-codepad file /usr/include/x86_64-linux-gnu/sys/stat.h line 453
signed int (const char *__path, struct stat *__statbuf)
new definition in module applet-dnd2share file /usr/include/x86_64-linux-gnu/sys/stat.h line 453
signed int (const char *__path, struct stat *__statbuf)

reason for conflict at __statbuf in types listed below (struct/struct):
composite type component counts differ (15/18)
struct stat {
  unsigned long int st_dev;
  unsigned long int st_ino;
  unsigned long int st_nlink;
  unsigned int st_mode;
  unsigned int st_uid;
  unsigned int st_gid;
  signed int __pad0;
  unsigned long int st_rdev;
  signed long int st_size;
  signed long int st_blksize;
  signed long int st_blocks;
  struct timespec st_atim;
  struct timespec st_mtim;
  struct timespec st_ctim;
  signed long int [3l] __unused;
}
struct stat {
  unsigned long int st_dev;
  unsigned long int st_ino;
  unsigned long int st_nlink;
  unsigned int st_mode;
  unsigned int st_uid;
  unsigned int st_gid;
  signed int __pad0;
  unsigned long int st_rdev;
  signed long int st_size;
  signed long int st_blksize;
  signed long int st_blocks;
  signed long int st_atime;
  unsigned long int st_atimensec;
  signed long int st_mtime;
  unsigned long int st_mtimensec;
  signed long int st_ctime;
  unsigned long int st_ctimensec;
  signed long int [3l] __unused;
}

Looking at dnd2share/src/applet-backend-codepad.c and
dnd2share/src/applet-dnd2share.c, there appears to be an "interesting" mix of
macros defined: applet-backend-codepad.c uses #define _BSD_SOURCE, whereas
applet-dnd2share.c sets __USE_POSIX, which is not advised as this is a macro
internally set by /usr/include/features.h. Removing __USE_POSIX or using one of
the proper userspace macros should fix this problem.

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-cairo-dock-devel/attachments/20140504/26e8c3cc/attachment.sig>


More information about the Pkg-cairo-dock-devel mailing list