courier-unicode does not build on Mac OS with XCode 12.4

Christian Ebert <[email protected]> Sun, 28 Nov 2021 01:44:06 +0100
Newsgroups gmane.mail.maildrop
Organization Phloxic Productions https://phloxic.productions
Message-ID <[email protected]>
Hi,

Compiling courier-unicode on Mac OS Catalina fails like so:

/Applications/Xcode.app/Contents/Developer/usr/bin/make  all-am
gcc -DHAVE_CONFIG_H -I.     -I.. -I./.. -g -O2 -Wall -fexceptions -MT unico=
detest.o -MD -MP -MF .deps/unicodetest.Tpo -c -o unicodetest.o unicodetest.c
mv -f .deps/unicodetest.Tpo .deps/unicodetest.Po
/bin/sh ./libtool  --tag=3DCC   --mode=3Dcompile gcc -DHAVE_CONFIG_H -I.   =
  -I.. -I./.. -g -O2 -Wall -fexceptions -MT unicode.lo -MD -MP -MF .deps/un=
icode.Tpo -c -o unicode.lo unicode.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexcep=
tions -MT unicode.lo -MD -MP -MF .deps/unicode.Tpo -c unicode.c  -fno-commo=
n -DPIC -o .libs/unicode.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexcep=
tions -MT unicode.lo -MD -MP -MF .deps/unicode.Tpo -c unicode.c -o unicode.=
o >/dev/null 2>&1
mv -f .deps/unicode.Tpo .deps/unicode.Plo
/bin/sh ./libtool  --tag=3DCC   --mode=3Dcompile gcc -DHAVE_CONFIG_H -I.   =
  -I.. -I./.. -g -O2 -Wall -fexceptions -MT unicodebuf.lo -MD -MP -MF .deps=
/unicodebuf.Tpo -c -o unicodebuf.lo unicodebuf.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexcep=
tions -MT unicodebuf.lo -MD -MP -MF .deps/unicodebuf.Tpo -c unicodebuf.c  -=
fno-common -DPIC -o .libs/unicodebuf.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -Wall -fexcep=
tions -MT unicodebuf.lo -MD -MP -MF .deps/unicodebuf.Tpo -c unicodebuf.c -o=
 unicodebuf.o >/dev/null 2>&1
mv -f .deps/unicodebuf.Tpo .deps/unicodebuf.Plo
/bin/sh ./libtool  --tag=3DCXX   --mode=3Dcompile g++ -DHAVE_CONFIG_H -I.  =
   -I.. -I./.. -g -O2 -MT unicodecpp.lo -MD -MP -MF .deps/unicodecpp.Tpo -c=
 -o unicodecpp.lo unicodecpp.C
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -I./.. -g -O2 -MT unicodecp=
p.lo -MD -MP -MF .deps/unicodecpp.Tpo -c unicodecpp.C  -fno-common -DPIC -o=
 .libs/unicodecpp.o
In file included from unicodecpp.C:8:
./courier-unicode.h:2324:6: error: no template named 'tuple' in namespace '=
std'
std::tuple<std::vector<unicode_bidi_level_t>,
~~~~~^
./courier-unicode.h:2335:6: error: no template named 'tuple' in namespace '=
std'
std::tuple<std::vector<unicode_bidi_level_t>,
~~~~~^
./courier-unicode.h:2348:22: error: expected expression
                  &reorder_callback=3D[](size_t, size_t){},
                                    ^
./courier-unicode.h:2355:23: error: expected expression
                   &reorder_callback=3D[](size_t, size_t){},
                                     ^
./courier-unicode.h:2366:5: error: expected expression
                   [](size_t) {},
                   ^
./courier-unicode.h:2376:4: error: expected expression
                  [](size_t) {},
                  ^
./courier-unicode.h:2405:18: error: expected expression
                        &lambda=3D[](size_t,size_t){},
                                ^
./courier-unicode.h:2490:1: error: unknown type name 'constexpr'
constexpr int decompose_flag_qc=3DUNICODE_DECOMPOSE_FLAG_QC;
^
./courier-unicode.h:2491:1: error: unknown type name 'constexpr'
constexpr int decompose_flag_compat=3DUNICODE_DECOMPOSE_FLAG_COMPAT;
^
./courier-unicode.h:2494:30: error: no member named 'tuple' in namespace 's=
td'
                                   const std::vector<std::tuple<size_t, siz=
e_t>>
                                                     ~~~~~^
./courier-unicode.h:2494:36: error: unexpected type name 'size_t': expected=
 expression
                                   const std::vector<std::tuple<size_t, siz=
e_t>>
                                                                ^
./courier-unicode.h:2500:30: error: no member named 'tuple' in namespace 's=
td'
                                          const std::vector<std::tuple<size=
_t,
                                                            ~~~~~^
./courier-unicode.h:2500:36: error: unexpected type name 'size_t': expected=
 expression
                                          const std::vector<std::tuple<size=
_t,
                                                                       ^
./courier-unicode.h:2504:1: error: unknown type name 'constexpr'
constexpr int compose_flag_removeunused=3DUNICODE_COMPOSE_FLAG_REMOVEUNUSED;
^
./courier-unicode.h:2506:1: error: unknown type name 'constexpr'
constexpr int compose_flag_oneshot=3DUNICODE_COMPOSE_FLAG_ONESHOT;
^
unicodecpp.C:27:2: error: expected member name or ';' after declaration spe=
cifiers
         {
         ^
unicodecpp.C:26:52: error: expected '('
         cb_wrapper(const std::function<callable> &cb) : cb{cb}
                                                           ^
unicodecpp.C:26:55: error: expected ';' after expression
         cb_wrapper(const std::function<callable> &cb) : cb{cb}
                                                              ^
                                                              ;
unicodecpp.C:608:5: error: expected '('
         : s{s}
            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=3D]
20 errors generated.
make[1]: *** [unicodecpp.lo] Error 1
make: *** [all] Error 2

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.7
BuildVersion:	19H1519
$ xcodebuild -version
Xcode 12.4
Build version 12D4e
$ pkgutil --pkg-info=3Dcom.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 12.4.0.0.1.1610135815
volume: /
location: /
install-time: 1635950916
groups: com.apple.FindSystemFiles.pkg-group
$ gcc --version
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDe=
fault.xctoolchain/usr/bin

This happens with courier-unicode-2.2.3. I still have version =

2.2.2 installed which I built on Mac OS 10.14. It doesn't compile =

anymore either. So the issue seems to depend on Mac OS version =

and/or dev tools version.

-- =

LAST SHIP HOME                   --->> https://lastshiphome.de/en
Official Selection                          DOK.fest M=FCnchen 2018
German Ocean Film Award                        CineMare Kiel 2019
Best Documentary Feature   Wales International Film Festival 2020