IM 6.8.3-5 needs versioned and/or symbol check for libwebp

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
nieder
Posts: 2
Joined: 2012-10-05T06:10:39-07:00
Authentication code: 67789
Location: Earth

IM 6.8.3-5 needs versioned and/or symbol check for libwebp

Post by nieder » 2013-02-26T14:02:29-07:00

OS X 10.7:

With libwebp-0.1.3 installed and configuring with '--with-webp', 6.8.3-5 fails compiling with this error:

Code: Select all

checking for WEBP... 
checking webp/decode.h usability... yes
checking webp/decode.h presence... yes
checking for webp/decode.h... yes
checking for WebPDecodeRGB in -lwebp... yes
checking if WEBP package is complete... yes
.....
WEBP              --with-webp=yes		yes
.....
/bin/sh ./libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./config   -I/sw/include -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/X11/include -I/sw/include/libxml2  -I/sw/include/freetype2 -I/sw/include -g -O2 -Wall -D_FORTIFY_SOURCE=0 -D_THREAD_SAFE -pthread -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/coders_webp_la-webp.lo -MD -MP -MF coders/.deps/coders_webp_la-webp.Tpo -c -o coders/coders_webp_la-webp.lo `test -f 'coders/webp.c' || echo './'`coders/webp.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./config -I/sw/include -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/X11/include -I/sw/include/libxml2 -I/sw/include/freetype2 -I/sw/include -g -O2 -Wall -D_FORTIFY_SOURCE=0 -D_THREAD_SAFE -pthread -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/coders_webp_la-webp.lo -MD -MP -MF coders/.deps/coders_webp_la-webp.Tpo -c coders/webp.c  -fno-common -DPIC -o coders/.libs/coders_webp_la-webp.o
coders/webp.c:470:11: error: no member named 'argb_stride' in 'struct WebPPicture'; did you mean 'a_stride'?
  picture.argb_stride=(int) image->columns;
          ^~~~~~~~~~~
          a_stride
/sw/include/webp/encode.h:180:7: note: 'a_stride' declared here
  int a_stride;              // stride of the alpha plane
      ^
coders/webp.c:471:11: error: no member named 'use_argb' in 'struct WebPPicture'
  picture.use_argb=1;
  ~~~~~~~ ^
coders/webp.c:475:15: error: no member named 'lossless' in 'WebPConfig'
    configure.lossless=1;
    ~~~~~~~~~ ^
coders/webp.c:478:15: error: no member named 'lossless' in 'WebPConfig'
    configure.lossless=ParseCommandOption(MagickBooleanOptions,MagickFalse,
    ~~~~~~~~~ ^
coders/webp.c:487:19: error: no member named 'image_hint' in 'WebPConfig'
        configure.image_hint=WEBP_HINT_GRAPH;
        ~~~~~~~~~ ^
coders/webp.c:487:30: error: use of undeclared identifier 'WEBP_HINT_GRAPH'
        configure.image_hint=WEBP_HINT_GRAPH;
                             ^
coders/webp.c:489:19: error: no member named 'image_hint' in 'WebPConfig'
        configure.image_hint=WEBP_HINT_PHOTO;
        ~~~~~~~~~ ^
coders/webp.c:489:30: error: use of undeclared identifier 'WEBP_HINT_PHOTO'; did you mean 'WEBP_PRESET_PHOTO'?
        configure.image_hint=WEBP_HINT_PHOTO;
                             ^~~~~~~~~~~~~~~
                             WEBP_PRESET_PHOTO
/sw/include/webp/encode.h:82:3: note: 'WEBP_PRESET_PHOTO' declared here
  WEBP_PRESET_PHOTO,        // outdoor photograph, with natural lighting
  ^
coders/webp.c:491:19: error: no member named 'image_hint' in 'WebPConfig'
        configure.image_hint=WEBP_HINT_PICTURE;
        ~~~~~~~~~ ^
coders/webp.c:491:30: error: use of undeclared identifier 'WEBP_HINT_PICTURE'; did you mean 'WEBP_PRESET_PICTURE'?
        configure.image_hint=WEBP_HINT_PICTURE;
                             ^~~~~~~~~~~~~~~~~
                             WEBP_PRESET_PICTURE
/sw/include/webp/encode.h:81:3: note: 'WEBP_PRESET_PICTURE' declared here
  WEBP_PRESET_PICTURE,      // digital picture, like portrait, inner shot
  ^
coders/webp.c:523:15: error: no member named 'alpha_filtering' in 'WebPConfig'
    configure.alpha_filtering=StringToInteger(value);
    ~~~~~~~~~ ^
coders/webp.c:526:15: error: no member named 'alpha_quality' in 'WebPConfig'
    configure.alpha_quality=StringToInteger(value);
    ~~~~~~~~~ ^
coders/webp.c:580:11: error: no member named 'argb' in 'struct WebPPicture'
  picture.argb=pixels;
  ~~~~~~~ ^
13 errors generated.
make[2]: *** [coders/coders_webp_la-webp.lo] Error 1
I'm currently not able to install the latest libwebp-0.2.1, but a glance through the source code suggests that the above errors would not happen with libwebp-0.2.1 where those items are declared (they are not in the 0.1.3 source). The webp configure check needs to make sure that the present webp is good enough for IM rather than just checking for the presence of a single header and generic symbol.

User avatar
magick
Site Admin
Posts: 11063
Joined: 2003-05-31T11:32:55-07:00

Re: IM 6.8.3-5 needs versioned and/or symbol check for libwe

Post by magick » 2013-02-26T14:18:03-07:00

We can reproduce the problem you posted and have a patch in ImageMagick 6.8.2-6 Beta available by sometime tomorrow. Thanks.

Post Reply