[MacPorts] #65858: jasper @3.0.6 does not build on PPC Leopard, Mac OS X 10.5.8, because "conflicting types for 'max_align_t' typedef long double max_align_t; "

MacPorts noreply at macports.org
Sun Sep 18 08:52:24 UTC 2022


#65858: jasper @3.0.6 does not build on PPC Leopard, Mac OS X 10.5.8, because
"conflicting types for 'max_align_t'      typedef long double max_align_t;"
-------------------------+--------------------
 Reporter:  ballapete    |      Owner:  (none)
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:  2.7.2
 Keywords:  leopard ppc  |       Port:  jasper
-------------------------+--------------------
 {{{
 make[2]: Entering directory
 `/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/build'
 [  1%] Building C object
 src/libjasper/CMakeFiles/libjasper.dir/base/jas_cm.c.o
 cd
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/build/src/libjasper
 && /opt/local/bin/gcc-mp-7 -DGL_SILENCE_DEPRECATION -DJAS_BUILDING_DLL
 -Dlibjasper_EXPORTS
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/build/src/libjasper/include
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include
 -isystem /opt/local/include -pipe -Os -pedantic -arch ppc -mmacosx-
 version-min=10.5 -fPIC -fvisibility=hidden -Wall -W -Wno-sign-compare
 -Wformat -Wmissing-prototypes -Wstrict-prototypes -Wno-type-limits -Wno-
 tautological-constant-out-of-range-compare -Wno-stringop-truncation -Wno-
 stringop-overflow -Wmissing-declarations -std=gnu11 -MD -MT
 src/libjasper/CMakeFiles/libjasper.dir/base/jas_cm.c.o -MF
 CMakeFiles/libjasper.dir/base/jas_cm.c.o.d -o
 CMakeFiles/libjasper.dir/base/jas_cm.c.o -c
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/base/jas_cm.c
 In file included from
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include/jasper/jas_cm.h:77:0,
                  from
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/base/jas_cm.c:74:
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include/jasper/jas_types.h:187:25:
 error: conflicting types for 'max_align_t'
      typedef long double max_align_t;
                          ^~~~~~~~~~~
 In file included from
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include/jasper/jas_types.h:76:0,
                  from
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include/jasper/jas_cm.h:77,
                  from
 /opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/base/jas_cm.c:74:
 /opt/local/lib/gcc7/gcc/ppc-apple-darwin9/7.5.0/include/stddef.h:437:3:
 note: previous declaration of 'max_align_t' was here
  } max_align_t;
    ^~~~~~~~~~~
 cc1: warning: unrecognized command line option '-Wno-stringop-truncation'
 cc1: warning: unrecognized command line option '-Wno-tautological-
 constant-out-of-range-compare'
 make[2]: *** [src/libjasper/CMakeFiles/libjasper.dir/base/jas_cm.c.o]
 Error 1
 }}}

 The original definition seems to come from `GCC 7`:

 {{{
 typedef struct {
   long long __max_align_ll __attribute__((__aligned__(__alignof__(long
 long))));
   long double __max_align_ld __attribute__((__aligned__(__alignof__(long
 double))));
 # 437 "/opt/local/lib/gcc7/gcc/ppc-apple-darwin9/7.5.0/include/stddef.h" 3
 4
 } max_align_t;
 }}}

 In `jasper-3.0.6/src/libjasper/include/jasper/jas_types.h` we have:

 {{{
   155   /* The number of bits in the integeral type uint_fast32_t. */
   156   /* NOTE: This could underestimate the size on some exotic
 architectures. */
   157   #define JAS_UINTFAST32_NUMBITS (8 * sizeof(uint_fast32_t))
   158
   159   #if 0
   160   #if defined(JAS_HAVE_MAX_ALIGN_T)
   161   #define jas_max_align_t max_align_t
   162   #else
   163   #define jas_max_align_t long double
   164   #endif
   165   #endif
 }}}

 This file has the date of today, because:

 {{{
 --->  Applying max_align_t.patch
 }}}

 Probably this patch is inadequate. The pre-processed output has:

 {{{
 typedef struct {
   long long __max_align_ll __attribute__((__aligned__(__alignof__(long
 long))));
   long double __max_align_ld __attribute__((__aligned__(__alignof__(long
 double))));
 # 437 "/opt/local/lib/gcc7/gcc/ppc-apple-darwin9/7.5.0/include/stddef.h" 3
 4
 } max_align_t;
 # 77
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include/jasper/jas_types.h"
 2
 .
 .
 .
 # 187
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include/jasper/jas_types.h"
    typedef long double max_align_t;
 # 78
 "/opt/local/var/macports/build/_opt_local_var_macports_sources_nue.de.rsync.macports.org_macports_release_tarballs_ports_graphics_jasper/jasper/work/jasper-3.0.6/src/libjasper/include/jasper/jas_cm.h"
 }}}

 Wouldn't commenting the `typedef` in
 `jasper-3.0.6/src/libjasper/include/jasper/jas_types.h` be adequate?

-- 
Ticket URL: <https://trac.macports.org/ticket/65858>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list