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

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

* Sam Varshavchik on Saturday, November 27, 2021 at 20:22:05 -0500:
> Christian Ebert writes:
> 
>> 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>,
>> ~~~~~^
> 
> 
>> 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.
> 
> You should double-check things on your end. This compilation error 
> should be fixed in 2.2.3. There was a missing "#include <tuple>" which 
> was fixed in 2.2.3

Hm. Are you sure:

$ tar xvf courier-unicode-2.2.2.tar.bz2 1>/dev/null
$ cd courier-unicode-2.2.2/
$ grep -rFn 'tuple>' *
courier-unicode.h:16:#include <tuple>
courier-unicode.h.in:16:#include <tuple>
normalizetest.C:330:#include <tuple>
$ cd ..
$ tar xvf courier-unicode-2.2.3.tar.bz2 1>/dev/null
$ cd courier-unicode-2.2.3/
$ grep -rFn 'tuple>' *
courier-unicode.h:16:#include <tuple>
courier-unicode.h.in:16:#include <tuple>
normalizetest.C:330:#include <tuple>

However, I now remember how I worked around this with 2.2.2, and 
the same works with 2.2.3:

$ CXX=c++-fsf-9 ./configure
[...]
$ CXX=c++-fsf-9 make
[...]
$ which c++-fsf-9
/opt/sw/bin/c++-fsf-9
$ c++-fsf-9 --version
c++-fsf-9 (Fink gcc9 9.4.0-1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Obviously Fink's c++ is not part of the Xcode dev tools.

On the other hand:
$ locate tuple | grep '/include/c++/.*/tuple$'
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/tuple
/Library/Developer/CommandLineTools/usr/include/c++/v1/tuple
/opt/sw/lib/gcc9/include/c++/9.4.0/experimental/tuple
/opt/sw/lib/gcc9/include/c++/9.4.0/tr1/tuple
/opt/sw/lib/gcc9/include/c++/9.4.0/tuple

Don't know how to include the v1/tuple and whether that would 
work.

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