Package: graphicsmagick Version: 1.3.18-2 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.
[...]
LD_RUN_PATH="" gcc -std=gnu99 -L/usr/lib -shared -L/usr/local/lib
-fstack-protector Magick.o -o blib/arch/auto/Graphics/Magick/Magick.so \
-L/srv/jenkins-slave/workspace/sid-goto-cc-graphicsmagick/graphicsmagick-1.3.18/magick/.libs
-lGraphicsMagick -L/usr/lib/X11 -L/usr/lib -L/usr/lib -ljbig -llcms2 -ltiff
-lfreetype -ljasper -ljpeg -lpng12 -lwmflite -lXext -lSM -lICE -lX11 -llzma
-lbz2 -lxml2 -lz -lm -lgomp -lpthread \
error: conflicting function declarations "AcquireImagePixels"
old definition in module Magick file ../magick/pixel_cache.h line 48
const struct _PixelPacket * (const struct _Image *, const signed long int,
const signed long int, const unsigned long int, const unsigned long int, struct
_ExceptionInfo *)
new definition in module analyze file ./magick/pixel_cache.h line 48
const struct _PixelPacket * (struct _Image *, const signed long int, const
signed long int, const unsigned long int, const unsigned long int, struct
_ExceptionInfo *)
reason for conflict at .gamma in types listed below (struct/struct):
names of component 15 differ (gamma/gamma_magick)
struct _Image {
int storage_class;
int colorspace;
int compression;
unsigned int dither;
unsigned int matte;
unsigned int $pad0;
unsigned long int columns;
unsigned long int rows;
unsigned int colors;
unsigned int depth;
struct _PixelPacket * colormap;
struct _PixelPacket background_color;
struct _PixelPacket border_color;
struct _PixelPacket matte_color;
unsigned int $pad1;
double gamma;
struct _ChromaticityInfo chromaticity;
int orientation;
int rendering_intent;
int units;
unsigned int $pad2;
char * montage;
char * directory;
char * geometry;
signed long int offset;
double x_resolution;
double y_resolution;
struct _RectangleInfo page;
struct _RectangleInfo tile_info;
double blur;
double fuzz;
int filter;
int interlace;
int endian;
int gravity;
int compose;
int dispose;
unsigned long int scene;
unsigned long int delay;
unsigned long int iterations;
unsigned long int total_colors;
signed long int start_loop;
struct _ErrorInfo error;
struct _TimerInfo timer;
void * client_data;
char [2053l] filename;
char [2053l] magick_filename;
char [2053l] magick;
unsigned char $pad3;
unsigned long int magick_columns;
unsigned long int magick_rows;
struct _ExceptionInfo exception;
struct _Image * previous;
struct _Image * next;
void * profiles;
unsigned int is_monochrome;
unsigned int is_grayscale;
unsigned int taint;
unsigned int $pad4;
struct _Image * clip_mask;
unsigned int ping;
unsigned int $pad5;
struct _CacheInfo * cache;
struct _ThreadViewSet * default_views;
struct _ImageAttribute * attributes;
struct _Ascii85Info * ascii85;
struct _BlobInfo * blob;
signed long int reference_count;
struct _SemaphoreInfo * semaphore;
unsigned int logging;
unsigned int $pad6;
struct _Image * list;
unsigned long int signature;
}
struct _Image {
int storage_class;
int colorspace;
int compression;
unsigned int dither;
unsigned int matte;
unsigned int $pad0;
unsigned long int columns;
unsigned long int rows;
unsigned int colors;
unsigned int depth;
struct _PixelPacket * colormap;
struct _PixelPacket background_color;
struct _PixelPacket border_color;
struct _PixelPacket matte_color;
unsigned int $pad1;
double gamma_magick;
struct _ChromaticityInfo chromaticity;
int orientation;
int rendering_intent;
int units;
unsigned int $pad2;
char * montage;
char * directory;
char * geometry;
signed long int offset;
double x_resolution;
double y_resolution;
struct _RectangleInfo page;
struct _RectangleInfo tile_info;
double blur;
double fuzz;
int filter;
int interlace;
int endian;
int gravity;
int compose;
int dispose;
unsigned long int scene;
unsigned long int delay;
unsigned long int iterations;
unsigned long int total_colors;
signed long int start_loop;
struct _ErrorInfo error;
struct _TimerInfo timer;
void * client_data;
char [2053l] filename;
char [2053l] magick_filename;
char [2053l] magick;
unsigned char $pad3;
unsigned long int magick_columns;
unsigned long int magick_rows;
struct _ExceptionInfo exception;
struct _Image * previous;
struct _Image * next;
void * profiles;
unsigned int is_monochrome;
unsigned int is_grayscale;
unsigned int taint;
unsigned int $pad4;
struct _Image * clip_mask;
unsigned int ping;
unsigned int $pad5;
struct _CacheInfo * cache;
struct _ThreadViewSet * default_views;
struct _ImageAttribute * attributes;
struct _Ascii85Info * ascii85;
struct _BlobInfo * blob;
signed long int reference_count;
struct _SemaphoreInfo * semaphore;
unsigned int logging;
unsigned int $pad6;
struct _Image * list;
unsigned long int signature;
}
Makefile:488: recipe for target 'blib/arch/auto/Graphics/Magick/Magick.so'
failed
make[2]: *** [blib/arch/auto/Graphics/Magick/Magick.so] Error 64
It seems this type conflict is caused by the #define in studio.h:
http://sources.debian.net/src/graphicsmagick/1.3.18-2/magick/studio.h?hl=180#L180
Likely the problem reported above is an undesired side effect (of this #define
not being present consistently), and the C standard identifies the result as
incompatible types. Yet the bit-level layout won't be affected, so presently
there need not be observable problems.
Best,
Michael
pgpP195Ee9oVJ.pgp
Description: PGP signature

