Package: libxt
Version: 1:1.1.4-1
Usertags: goto-cc
During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and 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 -shared -fPIC -DPIC .libs/ActionHook.o .libs/Alloc.o .libs/ArgList.o .libs/Callback.o .libs/ClickTime.o .libs/Composite.o .libs/Constraint.o .libs/Convert.o .libs/Converters.o .libs/Core.o .libs/Create.o .libs/Destroy.o .libs/Display.o .libs/Error.o .libs/Event.o .libs/EventUtil.o .libs/Functions.o .libs/GCManager.o .libs/Geometry.o .libs/GetActKey.o .libs/GetResList.o .libs/GetValues.o .libs/HookObj.o .libs/Hooks.o .libs/Initialize.o .libs/Intrinsic.o .libs/Keyboard.o .libs/Manage.o .libs/NextEvent.o .libs/Object.o .libs/PassivGrab.o .libs/Pointer.o .libs/Popup.o .libs/PopupCB.o .libs/RectObj.o .libs/ResConfig.o .libs/Resources.o .libs/Selection.o .libs/SetSens.o .libs/SetValues.o .libs/SetWMCW.o .libs/Shell.o .libs/TMaction.o .libs/TMgrab.o .libs/TMkey.o .libs/TMparse.o .libs/TMprint.o .libs/TMstate.o .libs/Threads.o .libs/VarCreate.o .libs/VarGet.o .libs/Varargs.o .libs/Vendor.o .libs/sharedlib.o .libs/StringDefs.o -lSM -lICE -lX11 -O2 -Wl,-z -Wl,relro -Wl,-soname -Wl,libXt.so.6 -o .libs/libXt.so.6.0.0
error: conflicting function declarations "XtWidgetToApplicationContext"
old definition in module Callback file ../../include/X11/Intrinsic.h line 1534
struct _XtAppStruct * (struct _WidgetRec *)
new definition in module Core file ../../include/X11/Intrinsic.h line 1534
struct _XtAppStruct * (struct _WidgetRec *)
reason for conflict at _XtAppStruct.destroy_callbacks in types listed below (struct/struct):
composite type component counts differ (4/3)
struct internalCallbackRec {
unsigned short int count;
char is_padded;
char call_state;
unsigned int align_pad;
}
struct internalCallbackRec {
unsigned short int count;
char is_padded;
char call_state;
}
Makefile:525: recipe for target 'libXt.la' failed
make[4]: *** [libXt.la] Error 64
make[4]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-libxt/libxt-1.1.4/build/src'
Makefile:454: recipe for target 'all' failed
make[3]: *** [all] Error 2
Having structs of different size is dangerous enough, but here it seems to
highlight that LONG64 is not defined uniformly:
http://sources.debian.net/src/libxt/1:1.1.4-1/include/X11/CallbackI.h?hl=66#L66
As X11 makes heavy use of the macro, several inconsistencies may be hidden here.
Best,
Michael
Attachment:
pgpWESLmU6fO5.pgp
Description: PGP signature