[MacPorts] #74289: imlib2 @1.12.6 does not build on PPC Leopard, Mac OS X 10.5.8, because of redefinition of typedef 'heif_image_handle'

MacPorts noreply at macports.org
Sun Aug 2 11:20:59 UTC 2026


#74289: imlib2 @1.12.6 does not build on PPC Leopard, Mac OS X 10.5.8, because of
redefinition of typedef 'heif_image_handle'
------------------------+-------------------------
  Reporter:  ballapete  |      Owner:  (none)
      Type:  defect     |     Status:  new
  Priority:  Normal     |  Milestone:
 Component:  ports      |    Version:  2.12.5
Resolution:             |   Keywords:  ppc leopard
      Port:  imlib2     |
------------------------+-------------------------

Comment (by ballapete):

 `make V=1` in
 `/opt/local/var/macports/build/imlib2-d3d33cc1/work/imlib2-1.12.6/src/modules/loaders`
 produces:
 {{{
 /bin/sh ../../../libtool  --tag=CC --tag=disable-static  --mode=compile
 /usr/bin/gcc-4.2 -std=gnu99 -DHAVE_CONFIG_H -I. -I../../..  -I../../..
 -I../../../src/lib -D PACKAGE_DATA_DIR=\"/opt/local/share/imlib2\"
 -DEB_DLL -DRTC_BUILD=0 -I/opt/local/include/svt-av1
 -I/opt/local/include/openjpeg-2.5 -I/opt/local/include/webp
 -isystem/opt/local/include/LegacySupport -I/opt/local/include -W -Wall
 -Wcast-align -Wpointer-arith -Wshadow -Wwrite-strings -Wno-unused-
 parameter -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes
 -fvisibility=hidden  -pipe -Os -arch ppc -MT heif_la-loader_heif.lo -MD
 -MP -MF .deps/heif_la-loader_heif.Tpo -c -o heif_la-loader_heif.lo `test
 -f 'loader_heif.c' || echo './'`loader_heif.c
 libtool: compile:  /usr/bin/gcc-4.2 -std=gnu99 -DHAVE_CONFIG_H -I.
 -I../../.. -I../../.. -I../../../src/lib -D
 PACKAGE_DATA_DIR=\"/opt/local/share/imlib2\" -DEB_DLL -DRTC_BUILD=0
 -I/opt/local/include/svt-av1 -I/opt/local/include/openjpeg-2.5
 -I/opt/local/include/webp -isystem/opt/local/include/LegacySupport
 -I/opt/local/include -W -Wall -Wcast-align -Wpointer-arith -Wshadow
 -Wwrite-strings -Wno-unused-parameter -Wmissing-prototypes -Wmissing-
 declarations -Wstrict-prototypes -fvisibility=hidden -pipe -Os -arch ppc
 -MT heif_la-loader_heif.lo -MD -MP -MF .deps/heif_la-loader_heif.Tpo -c
 loader_heif.c  -fno-common -DPIC -o .libs/heif_la-loader_heif.o
 }}}

 So we know that the system's old GCC 4.2 is used for compilation. And also
 here:
 {{{
 sudo /usr/bin/gcc-4.2 -std=gnu99 -DHAVE_CONFIG_H -I. -I../../.. -I../../..
 -I../../../src/lib -D PACKAGE_DATA_DIR=\"/opt/local/share/imlib2\"
 -DEB_DLL -DRTC_BUILD=0 -I/opt/local/include/svt-av1
 -I/opt/local/include/openjpeg-2.5 -I/opt/local/include/webp
 -isystem/opt/local/include/LegacySupport -I/opt/local/include -pipe -Os
 -arch ppc -E -dD -H -c loader_heif.c -fno-common -DPIC -o loader_heif.cpp
 Password:
 . ../../../config.h
 . ../../../src/lib/Imlib2_Loader.h
 .. /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stdint.h
 .. /opt/local/include/LegacySupport/stdio.h
 ... /opt/local/include/LegacySupport/MacportsLegacySupport.h
 ... /opt/local/include/LegacySupport/_macports_extras/sdkversion.h
 .... /opt/local/include/LegacySupport/AvailabilityMacros.h
 ..... /usr/include/AvailabilityMacros.h
 ... /usr/include/stdio.h
 .... /usr/include/_types.h
 ..... /usr/include/sys/_types.h
 ...... /opt/local/include/LegacySupport/sys/cdefs.h
 ....... /usr/include/sys/cdefs.h
 ...... /usr/include/machine/_types.h
 ....... /usr/include/ppc/_types.h
 ... /opt/local/include/LegacySupport/sys/stdio.h
 .... /opt/local/include/LegacySupport/MacportsLegacySupport.h
 .. /opt/local/include/LegacySupport/stdlib.h
 ... /usr/include/stdlib.h
 .... /opt/local/include/LegacySupport/available.h
 ..... /usr/include/available.h
 .... /usr/include/sys/wait.h
 ..... /usr/include/sys/signal.h
 ...... /usr/include/sys/appleapiopts.h
 ...... /usr/include/machine/signal.h
 ....... /usr/include/ppc/signal.h
 ........ /usr/include/ppc/_structs.h
 ...... /usr/include/sys/_structs.h
 ....... /usr/include/machine/_structs.h
 ........ /usr/include/ppc/_structs.h
 ......... /usr/include/mach/ppc/_structs.h
 ..... /usr/include/sys/resource.h
 ...... /usr/include/sys/_structs.h
 ..... /usr/include/machine/endian.h
 ...... /usr/include/ppc/endian.h
 ....... /usr/include/sys/_endian.h
 .... /usr/include/alloca.h
 .... /usr/include/machine/types.h
 ..... /usr/include/ppc/types.h
 ...... /usr/include/ppc/_types.h
 .. /opt/local/include/LegacySupport/string.h
 ... /usr/include/string.h
 .. /opt/local/include/LegacySupport/unistd.h
 ... /usr/include/unistd.h
 .... /opt/local/include/LegacySupport/sys/unistd.h
 ..... /usr/include/sys/unistd.h
 .... /usr/include/sys/select.h
 ..... /usr/include/sys/_structs.h
 ..... /usr/include/sys/_select.h
 . ldrs_util.h
 . /usr/include/errno.h
 .. /usr/include/sys/errno.h
 . /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stdbool.h
 . /opt/local/include/libheif/heif.h
 .. /opt/local/include/libheif/heif_library.h
 ... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 ... /opt/local/include/libheif/heif_export.h
 ... /opt/local/include/libheif/heif_version.h
 ... /opt/local/include/libheif/heif_error.h
 .... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 .. /opt/local/include/libheif/heif_image.h
 ... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 .. /opt/local/include/libheif/heif_color.h
 .. /opt/local/include/libheif/heif_brands.h
 ... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 .. /opt/local/include/libheif/heif_metadata.h
 .. /opt/local/include/libheif/heif_aux_images.h
 .. /opt/local/include/libheif/heif_entity_groups.h
 .. /opt/local/include/libheif/heif_security.h
 ... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 .. /opt/local/include/libheif/heif_encoding.h
 ... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 ... /opt/local/include/libheif/heif_context.h
 .... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 .. /opt/local/include/libheif/heif_decoding.h
 .. /opt/local/include/libheif/heif_image_handle.h
 ... /usr/lib/gcc/powerpc-apple-darwin9/4.2.1/include/stddef.h
 .. /opt/local/include/libheif/heif_tiling.h
 .. /opt/local/include/libheif/heif_components.h
 .. /opt/local/include/libheif/heif_omaf.h
 }}}

 The pre-processed output has:

 {{{
 4789 # 67 "/opt/local/include/libheif/heif_library.h" 2
 4790
 4791
 4792
 4793
 4794
 4795  const char* heif_get_version(void);
 4796
 4797
 4798
 4799  uint32_t heif_get_version_number(void);
 4800
 4801
 4802  int heif_get_version_number_major(void);
 4803
 4804  int heif_get_version_number_minor(void);
 4805
 4806  int heif_get_version_number_maintenance(void);
 4807
 4808
 4809 #define LIBHEIF_MAKE_VERSION(h,m,l) ((h) << 24 | (m) << 16 | (l) <<
 8)
 4810 #define LIBHEIF_HAVE_VERSION(h,m,l) (LIBHEIF_NUMERIC_VERSION >=
 LIBHEIF_MAKE_VERSION(h, m, l))
 4811
 4812 typedef struct heif_context heif_context;
 4813 typedef struct heif_image_handle heif_image_handle;
 4814
 4815 typedef uint32_t heif_item_id;
 4816 typedef uint32_t heif_property_id;
 4817
 4818
 4819
 4820
 4821
 4822
 4823 void heif_string_release(const char*);
 4824
 4825
 4826
 4827
 4828 typedef struct heif_init_params
 4829 {
 4830   int version;
 4831
 4832
 4833 } heif_init_params;
 4834 # 132 "/opt/local/include/libheif/heif_library.h"
 }}}
 and also
 {{{
 4979 # 143 "/opt/local/include/libheif/heif_image.h"
 4980 typedef struct heif_image heif_image;
 4981 typedef struct heif_image_handle heif_image_handle;
 4982 typedef struct heif_security_limits heif_security_limits;
 4983
 4984
 4985
 4986
 4987 heif_colorspace heif_image_get_colorspace(const heif_image*);
 4988
 4989
 4990
 4991 heif_chroma heif_image_get_chroma_format(const heif_image*);
 4992 # 163 "/opt/local/include/libheif/heif_image.h"
 }}}

 Maybe it's not worth to examine further but to test GCC 15.

-- 
Ticket URL: <https://trac.macports.org/ticket/74289#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list