Opened 7 months ago

Closed 4 weeks ago

#68246 closed defect (fixed)

ImageMagick fails to build with libjpeg-turbo-devel: error: ‘struct jpeg_decompress_struct’ has no member named ‘process’

Reported by: barracuda156 Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.8.1
Keywords: Cc: Dave-Allured (Dave Allured), mascguy (Christopher Nielsen)
Port: ImageMagick

Description

:info:build libtool: compile:  /usr/bin/gcc-4.2 -std=gnu99 -DHAVE_CONFIG_H -I. -I./config -I. -I. -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include/webp -I/opt/local/include/webp -I/opt/local/include/libraw -I/opt/local/include/libpng16 -pthread -I/opt/local/include/OpenEXR -I/opt/local/include/Imath -I/opt/local/include/openjpeg-2.5 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -Wall -pipe -Os -arch ppc -fexceptions -D_FORTIFY_SOURCE=0 -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/jbig_la-jbig.lo -MD -MP -MF coders/.deps/jbig_la-jbig.Tpo -c coders/jbig.c -o coders/jbig_la-jbig.o >/dev/null 2>&1
:info:build libtool: compile:  /usr/bin/gcc-4.2 -std=gnu99 -DHAVE_CONFIG_H -I. -I./config -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include/webp -I/opt/local/include/webp -I/opt/local/include/libraw -I/opt/local/include/libpng16 -pthread -I/opt/local/include/OpenEXR -I/opt/local/include/Imath -I/opt/local/include/openjpeg-2.5 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -Wall -pipe -Os -arch ppc -fexceptions -D_FORTIFY_SOURCE=0 -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/heic_la-heic.lo -MD -MP -MF coders/.deps/heic_la-heic.Tpo -c coders/heic.c -o coders/heic_la-heic.o >/dev/null 2>&1
:info:build /bin/sh ./libtool  --tag=CC   --mode=compile /usr/bin/gcc-4.2 -std=gnu99 -DHAVE_CONFIG_H -I. -I./config  -I. -I.  -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16  -I/opt/local/include  -I/opt/local/include/libxml2 -I/opt/local/include/webp -I/opt/local/include/webp -I/opt/local/include/libraw -I/opt/local/include/libpng16 -pthread -I/opt/local/include/OpenEXR -I/opt/local/include/Imath  -I/opt/local/include/openjpeg-2.5   -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16     -Wall -pipe -Os -arch ppc -fexceptions -D_FORTIFY_SOURCE=0 -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/tiff_la-tiff.lo -MD -MP -MF coders/.deps/tiff_la-tiff.Tpo -c -o coders/tiff_la-tiff.lo `test -f 'coders/tiff.c' || echo './'`coders/tiff.c
:info:build coders/jpeg.c: In function ‘ReadJPEGImage_’:
:info:build coders/jpeg.c:1263: error: ‘struct jpeg_decompress_struct’ has no member named ‘process’
:info:build coders/jpeg.c:1263: error: ‘JPROC_PROGRESSIVE’ undeclared (first use in this function)
:info:build coders/jpeg.c:1263: error: (Each undeclared identifier is reported only once
:info:build coders/jpeg.c:1263: error: for each function it appears in.)
:info:build coders/jpeg.c:1265: error: ‘struct jpeg_decompress_struct’ has no member named ‘process’
:info:build coders/jpeg.c:1265: error: ‘JPROC_LOSSLESS’ undeclared (first use in this function)
:info:build coders/jpeg.c: In function ‘WriteJPEGImage_’:
:info:build coders/jpeg.c:2507: warning: implicit declaration of function ‘jpeg_simple_lossless’
:info:build make[1]: *** [coders/jpeg_la-jpeg.lo] Error 1

Attachments (2)

IM_gcc12.log (672.4 KB) - added by barracuda156 7 months ago.
Standard portfile, but old Xcode compilers blacklisted, gcc12 used:
IM_gcc4.2.log (672.0 KB) - added by barracuda156 7 months ago.
Standard portfile, no changes:

Download all attachments as: .zip

Change History (14)

comment:1 Changed 7 months ago by barracuda156

  1. S. Also, perhaps update it to the current version? Unless there is something to prevent that.

comment:2 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

We had successful builds of this port on all systems 10.6 and newer on September 16, 2023 so I'm not sure what would have changed since then. Please attach the main.log and let's compare it with one from the buildbot.

Updating to any newer version of ImageMagick 6.x changes the major library versions which requires revbumping all ports that link with the libraries. Identifying the affected ports and verifying that they still build is a pain. Updating to 7.x is tracked in another ticket.

comment:3 in reply to:  2 Changed 7 months ago by barracuda156

Replying to ryandesign:

We had successful builds of this port on all systems 10.6 and newer on September 16, 2023 so I'm not sure what would have changed since then. Please attach the main.log and let's compare it with one from the buildbot.

Let me try to build with the new GCC to verify it is compiler’s fault or not. Will update on this soon.

Updating to any newer version of ImageMagick 6.x changes the major library versions which requires revbumping all ports that link with the libraries. Identifying the affected ports and verifying that they still build is a pain. Updating to 7.x is tracked in another ticket.

Got it.

comment:4 in reply to:  2 Changed 7 months ago by barracuda156

Replying to ryandesign:

We had successful builds of this port on all systems 10.6 and newer on September 16, 2023 so I'm not sure what would have changed since then. Please attach the main.log and let's compare it with one from the buildbot.

Unfortunately, it also fails with gcc12:

libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./config -I. -I. -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include/webp -I/opt/local/include/webp -I/opt/local/include/libraw -I/opt/local/include/libpng16 -pthread -I/opt/local/include/OpenEXR -I/opt/local/include/Imath -I/opt/local/include/openjpeg-2.5 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -Wall -pipe -Os -arch ppc -fexceptions -D_FORTIFY_SOURCE=0 -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/jpeg_la-jpeg.lo -MD -MP -MF coders/.deps/jpeg_la-jpeg.Tpo -c coders/jpeg.c  -fno-common -DPIC -o coders/.libs/jpeg_la-jpeg.o
coders/jpeg.c: In function 'ReadJPEGImage_':
coders/jpeg.c:1263:31: error: 'struct jpeg_decompress_struct' has no member named 'process'; did you mean 'progress'?
 1263 |   image->interlace=jpeg_info->process == JPROC_PROGRESSIVE ?
      |                               ^~~~~~~
      |                               progress
coders/jpeg.c:1263:42: error: 'JPROC_PROGRESSIVE' undeclared (first use in this function)
 1263 |   image->interlace=jpeg_info->process == JPROC_PROGRESSIVE ?
      |                                          ^~~~~~~~~~~~~~~~~
coders/jpeg.c:1263:42: note: each undeclared identifier is reported only once for each function it appears in
coders/jpeg.c:1265:33: error: 'struct jpeg_decompress_struct' has no member named 'process'; did you mean 'progress'?
 1265 |   image->compression=jpeg_info->process == JPROC_LOSSLESS ?
      |                                 ^~~~~~~
      |                                 progress
coders/jpeg.c:1265:44: error: 'JPROC_LOSSLESS' undeclared (first use in this function)
 1265 |   image->compression=jpeg_info->process == JPROC_LOSSLESS ?
      |                                            ^~~~~~~~~~~~~~
coders/jpeg.c: In function 'WriteJPEGImage_':
coders/jpeg.c:2507:11: warning: implicit declaration of function 'jpeg_simple_lossless'; did you mean 'jpeg_enable_lossless'? [-Wimplicit-function-declaration]
 2507 |           jpeg_simple_lossless(jpeg_info,predictor,point_transform);
      |           ^~~~~~~~~~~~~~~~~~~~
      |           jpeg_enable_lossless
mv -f coders/.deps/djvu_la-djvu.Tpo coders/.deps/djvu_la-djvu.Plo
/bin/sh ./libtool  --tag=CC   --mode=compile /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./config  -I. -I.  -I/opt/local/include/openjpeg-2.5 -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16  -I/opt/local/include  -I/opt/local/include/libxml2 -I/opt/local/include/webp -I/opt/local/include/webp -I/opt/local/include/libraw -I/opt/local/include/libpng16 -pthread -I/opt/local/include/OpenEXR -I/opt/local/include/Imath  -I/opt/local/include/openjpeg-2.5   -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16     -Wall -pipe -Os -arch ppc -fexceptions -D_FORTIFY_SOURCE=0 -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/jp2_la-jp2.lo -MD -MP -MF coders/.deps/jp2_la-jp2.Tpo -c -o coders/jp2_la-jp2.lo `test -f 'coders/jp2.c' || echo './'`coders/jp2.c
libtool: compile:  /opt/local/bin/gcc-mp-12 -DHAVE_CONFIG_H -I. -I./config -I/opt/local/include -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include/webp -I/opt/local/include/webp -I/opt/local/include/libraw -I/opt/local/include/libpng16 -pthread -I/opt/local/include/OpenEXR -I/opt/local/include/Imath -I/opt/local/include/openjpeg-2.5 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -I/opt/local/include/freetype2 -I/opt/local/include/libpng16 -Wall -pipe -Os -arch ppc -fexceptions -D_FORTIFY_SOURCE=0 -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -MT coders/heic_la-heic.lo -MD -MP -MF coders/.deps/heic_la-heic.Tpo -c coders/heic.c -o coders/heic_la-heic.o >/dev/null 2>&1
make[1]: *** [coders/jpeg_la-jpeg.lo] Error 1

Changed 7 months ago by barracuda156

Attachment: IM_gcc12.log added

Standard portfile, but old Xcode compilers blacklisted, gcc12 used:

Changed 7 months ago by barracuda156

Attachment: IM_gcc4.2.log added

Standard portfile, no changes:

comment:5 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

:debug:main Searching for dependency: libjpeg-turbo
:debug:main Didn't find receipt, going to depspec regex for: libjpeg-turbo
:debug:main Found Dependency: path: /opt/local/include filename: turbojpeg.h regex: ^turbojpeg.h$

So you don't have libjpeg-turbo installed... do you instead have libjpeg-turbo-devel installed?

comment:6 Changed 7 months ago by ryandesign (Ryan Carsten Schmidt)

comment:7 in reply to:  5 Changed 7 months ago by barracuda156

Replying to ryandesign:

:debug:main Searching for dependency: libjpeg-turbo
:debug:main Didn't find receipt, going to depspec regex for: libjpeg-turbo
:debug:main Found Dependency: path: /opt/local/include filename: turbojpeg.h regex: ^turbojpeg.h$

So you don't have libjpeg-turbo installed... do you instead have libjpeg-turbo-devel installed?

libjpeg-turbo-devel @3.0.0_0 (active) requested_variants='' platform='darwin 10' archs='ppc' date='2023-09-20T05:25:06+0700'

comment:8 Changed 7 months ago by barracuda156

Keywords: snowleopard leopard removed
Summary: ImageMagick fails to build on 10.6: error: ‘struct jpeg_decompress_struct’ has no member named ‘process’ImageMagick fails to build with libjpeg-turbo-devel: error: ‘struct jpeg_decompress_struct’ has no member named ‘process’

comment:9 in reply to:  6 Changed 7 months ago by barracuda156

Replying to ryandesign:

Yes, it is because of libjpeg-turbo-devel.

comment:10 Changed 5 months ago by Dave-Allured (Dave Allured)

Cc: Dave-Allured added

comment:11 Changed 4 weeks ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:12 Changed 4 weeks ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed

In 2124c661a40b72e413b3226834de5e4f5103d271/macports-ports (master):

ImageMagick, p5-perlmagick: update to 6.9.13-7

Closes: #68246

Note: See TracTickets for help on using tickets.