<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Maybe the best solution is to add a configure check for GC_throw_bad_alloc:<div>              AC_CHECK_LIB([gccpp],[GC_throw_bad_alloc])<br></div><div>Does that work reliably for everyone?</div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 29, 2019 at 8:07 AM Mojca Miklavec <<a href="mailto:mojca.miklavec.lists@gmail.com">mojca.miklavec.lists@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
On Fri, 29 Mar 2019 at 14:03, Richard Koch wrote:<br>
><br>
> WARNING<br>
><br>
> At Mojca's urging, I downloaded gc 8.0.4. Then I directly used .configure and make to build the library on the Mac. No problems.<br>
><br>
> Then I added gc-8.0.4.tar.gz to the asy source in TeX Live and added a configure flag to use this version. The asy .configure log says it was used.<br>
><br>
> When compiling, I got exactly the same C++ errors as before. Mojca seems to compile either using macOS 10.6 or else using MacPorts. I do not believe this version of gc can be used with the current code when compiled on current Macs (and here "current" means Sierra and beyond, so for the last three years). Whether gc or asy is ultimately at fault I cannot say.<br>
<br>
I tried to build on 10.13 and I get the same error now (using the same<br>
build script as on 10.6).<br>
<br>
I forgot to mention that I compiled with clang 7.0 on 10.6, but<br>
building with that compiler doesn't help on 10.13 either.<br>
<br>
Btw: libatomic_ops also has a newer version, 7.6.10.<br>
<br>
Henri posted some patches earlier, but those were for different files<br>
& errors, I believe.<br>
<br>
Here's the error on 10.13 (the same one as Dick experienced):<br>
<br>
/opt/local/bin/clang++-mp-7.0 -stdlib=libc++ -Wall -DHAVE_CONFIG_H<br>
-D_FILE_OFFSET_BITS=64 -DUSEGC  -D_THREAD_SAFE -pthread<br>
-DFFTWPP_SINGLE_THREAD  -I. -Igc-8.0.4/include -I/usr/include/tirpc<br>
-std=c++11 -g -O3 -o settings.o -c settings.cc<br>
In file included from settings.cc:18:<br>
In file included from ./common.h:35:<br>
In file included from ./memory.h:13:<br>
/opt/local/libexec/llvm-7.0/include/c++/v1/map:1664:65: error: no<br>
viable conversion from 'gc_allocator<std::__1::__value_type<const<br>
sym::symbol,<br>
      trans::tyEntry *>>' to 'const gc_allocator<std::__1::pair<const<br>
sym::symbol, trans::tyEntry *>>'<br>
          __alloc_traits::select_on_container_copy_construction(__m.__tree_.__alloc()))<br>
<br>
^~~~~~~~~~~~~~~~~~~~~<br>
./memory.h:148:14: note: in instantiation of member function<br>
'std::__1::multimap<const sym::symbol, trans::tyEntry *,<br>
std::__1::less<const sym::symbol>,<br>
      gc_allocator<std::__1::pair<const sym::symbol, trans::tyEntry *><br>
> >::multimap' requested here<br>
GC_CONTAINER(multimap);<br>
             ^<br>
./env.h:61:8: note: in instantiation of member function<br>
'sym::table<trans::tyEntry *>::collapseScope' requested here<br>
    te.collapseScope(); ve.collapseScope();<br>
       ^<br>
gc-8.0.4/include/gc_allocator.h:152:3: note: candidate constructor not<br>
viable: no known conversion from<br>
'std::__1::__tree<std::__1::__value_type<const<br>
      sym::symbol, trans::tyEntry *>,<br>
std::__1::__map_value_compare<const sym::symbol,<br>
std::__1::__value_type<const sym::symbol, trans::tyEntry *>,<br>
      std::__1::less<const sym::symbol>, true>,<br>
gc_allocator<std::__1::__value_type<const sym::symbol, trans::tyEntry<br>
*> > >::allocator_type' (aka<br>
      'gc_allocator<std::__1::__value_type<const sym::symbol,<br>
trans::tyEntry *> >') to 'const gc_allocator<std::__1::pair<const<br>
sym::symbol, trans::tyEntry<br>
      *> > &' for 1st argument<br>
  gc_allocator(const gc_allocator&) GC_NOEXCEPT {}<br>
  ^<br>
/opt/local/libexec/llvm-7.0/include/c++/v1/memory:1604:69: note:<br>
passing argument to parameter '__a' here<br>
        select_on_container_copy_construction(const allocator_type& __a)<br>
                                                                    ^<br>
1 error generated.<br>
<br>
<br>
I can try to figure out what's different in case asy gets built from<br>
within MacPorts.<br>
<br>
Mojca<br>
</blockquote></div>