[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