MAGICKCORE_EXCLUDE_DEPRECATED not returned by Wand-config

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
Danack
Posts: 73
Joined: 2013-10-14T10:00:25-07:00
Authentication code: 6789

MAGICKCORE_EXCLUDE_DEPRECATED not returned by Wand-config

Post by Danack »

It seems like the MAGICKCORE_EXCLUDE_DEPRECATED define is not being returned by the wand-flags program on Centos. This means that programs that depend on ImageMagick don't have the correct flags, and so try to use functions that have not been compiled into the library.

I'm configuring ImageMagick with:

Code: Select all

./configure --enable-hdri --with-quantum-depth=32 --with-magick-plus-plus=no CFLAGS=-DMAGICKCORE_EXCLUDE_DEPRECATED=1 CXXFLAGS=-DMAGICKCORE_EXCLUDE_DEPRECATED=1

Options used to compile and link:
  PREFIX          = /usr/local
  EXEC-PREFIX     = /usr/local
  VERSION         = 6.8.9
  CC              = gcc -std=gnu99 -std=gnu99
  CFLAGS          = -I/usr/include/freetype2 -fopenmp -DMAGICKCORE_EXCLUDE_DEPRECATED=1 -Wall -fexceptions -pthread -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=32
  CPPFLAGS        = -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=32 -I/usr/include/libxml2
  PCFLAGS         = 
  DEFS            = -DHAVE_CONFIG_H
  LDFLAGS         = 
  LIBS            = 
  CXX             = g++
  CXXFLAGS        = -DMAGICKCORE_EXCLUDE_DEPRECATED=1 -pthread
  FEATURES        = DPC HDRI OpenMP
  DELEGATES       = bzlib mpeg fftw freetype jng jpeg png ps xml zlib
And you can see the flag has been set, and it is used so that the deprecated functions are not compiled.

Running Wand-config to get the cflags

Code: Select all

> /usr/local/bin/Wand-config --cflags
-fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=32 -I/usr/local/include/ImageMagick-6 
The flag for MAGICKCORE_EXCLUDE_DEPRECATED is not present, and so the program that depends on ImageMagick thinks that the deprecated functions will be present, and so has an issue as they are actually unavailable. This is found on Centos 6.4

I have a report from a Windows user, that for them the MAGICKCORE_EXCLUDE_DEPRECATED is set in the file "include/magick/magick-baseconfig.h" However it does not appear to be set in the file generated for the Centos build.


*Edit*

Someone suggested I try "--enable-deprecated". That does seem to set the define in magick-baseconfig.h but the value isn't set available through the Wand-config program and it's not currently listed as an option on the Advanced Unix installation page - http://www.imagemagick.org/script/advan ... lation.php

Is this just a documentation needs updating issue?

cheers
Dan
Post Reply