[Xastir] Compile fails - GCC 4.4.2 or ImageMagick 6.5.7.0 to blame?

Tom Russo russo at bogodyn.org
Tue Nov 17 19:14:09 EST 2009


On Tue, Nov 17, 2009 at 07:06:08PM -0500, we recorded a bogon-computron collision of the <jvn8fq at gmail.com> flavor, containing:
> Somehow sent this to wrong address. Anyway...
> 
> I was lax in keeping my Gentoo system updated for so long that most software wouldn't compile due to outdated libs scattered everywhere, so I've started over with a clean system, built with GCC 4.4.2. While trying to build Xastir (either 1.9.6 or CVS), I get this:
> 
> gcc -DHAVE_CONFIG_H -I. -I..   -I/usr/include -I/usr/include/ImageMagick -DXASTIR_DATA_BASE=\"/usr/share/xastir\"  -g -march=k8 -mtune=k8 -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -Wno-unused-parameter -pthread -MT map_geo.o -MD -MP -MF .deps/map_geo.Tpo -c -o map_geo.o map_geo.c
> mv -f .deps/db.Tpo .deps/db.Po
> map_geo.c: In function 'draw_geo_image_map':
> map_geo.c:1867: warning: 'GetImagePixels' is deprecated (declared at /usr/include/ImageMagick/magick/deprecate.h:245)
> map_geo.c:1877: warning: 'SyncImagePixels' is deprecated (declared at /usr/include/ImageMagick/magick/deprecate.h:213)
> map_geo.c:1908: warning: 'GetImagePixels' is deprecated (declared at /usr/include/ImageMagick/magick/deprecate.h:245)
> map_geo.c:1923: warning: 'GetIndexes' is deprecated (declared at /usr/include/ImageMagick/magick/deprecate.h:142)
> map_geo.c:1955: warning: format '%i' expects type 'int', but argument 3 has type 'double'
> map_geo.c:1955: warning: format '%i' expects type 'int', but argument 4 has type 'double'
> map_geo.c:1955: warning: format '%i' expects type 'int', but argument 5 has type 'double'
> map_geo.c:1975: error: invalid operands to binary << (have 'Quantum' and 'int')
> map_geo.c:1976: error: invalid operands to binary << (have 'Quantum' and 'int')
> map_geo.c:1977: error: invalid operands to binary << (have 'Quantum' and 'int')
> map_geo.c:2323: error: array subscript is not an integer
> map_geo.c:2327: error: array subscript is not an integer
> make[3]: *** [map_geo.o] Error 1
> 
> Ideas?

It's an ImageMagick thing.  Quantum is not an integer type.  This would be due
to ImageMagick being compiled with HDRI support, which makes Quantum a double.
Xastir is assuming -- and counting on--- quantum being an integer.

Your only choice would be to install an ImageMagick or GraphicsMagick with
HDRI support disabled.

As for the other warnings, it appears that ImageMagick is deprecating parts
of the interface that we use. For now, it's just a warning so you can ignore
it.  But at some point we'll either have to redo our Magick usage so it doesn't
use the deprecated API, freeze our Magick support to a version that doesn't
remove that part of the API, or pitch Magick overboard and use something 
stable.

-- 
Tom Russo    KM5VY   SAR502   DM64ux          http://www.swcp.com/~russo/
Tijeras, NM  QRPL#1592 K2#398  SOC#236        http://kevan.org/brain.cgi?DDTNM
  In some cultures what I do would be considered normal. 
                                  -- Ineffective daily affirmation 




More information about the Xastir mailing list