[tlbuild] Asymptote 2.31

Mojca Miklavec mojca.miklavec.lists at gmail.com
Sun May 18 08:53:53 CEST 2014


On Sun, May 18, 2014 at 3:11 AM, Norbert Preining wrote:
> On Sat, 17 May 2014, Mojca Miklavec wrote:
>> libc++ has a parsing bug that needs a special workaround, else asy
>> hangs forever. I'm not aware of libc++ being used on any platform for
>
> I now get on Debian/etch:
> g++ -Wall -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -DUSEGC  -pthread -DFFTWPP_SINGLE_THREAD  -g -O2 -g -O3 -ansi -fno-var-tracking  -I. -Igc-7.4.0/include -o camp.tab.o -c camp.tab.cc
> /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/tr1/hashtable:71: error: expected identifier before numeric constant
> /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/tr1/hashtable:71: error: expected unqualified-id before numeric constant
> /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/tr1/hashtable:74: error: expected identifier before numeric constant
> /usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../include/c++/4.1.2/tr1/hashtable:74: error: expected unqualified-id before numeric constant
>
>
> ....
>  and so on
>
>
> Some days ago with a previous version there was no problem.
>
> Should I go to lenny?

There is no need to go to a newer os. The workaround should be trivial, see:
    http://tug.org/svn/texlive/trunk/Build/source/utils/asymptote/memory.h?r1=33703&r2=34080

You just need to hardcode
    #include <ext/hash_map>
instead of
    #include <tr1/unordered_map>
in memory.h. Does compilation work if you do that?

But we should figure out how to fix this properly.

Previously the condition was "if gcc > 4.3, use tr1/unordered_map,
else use ext/hash_map". This failed to compile on clang which is fully
C++11 compatible for example, but claims to be "gcc 4.2". And lots of
other systems were throwing warnings. Now asymptote uses
./configure-time test to check whether tr1/unordered_map exists and
apparently your box says it does, but then it looks like unordered_map
doesn't work properly.

Maybe a new configure-time test is needed to make sure that
tr1/unordered_map actually works. But we need you help with that. (=
Finding a minimal example using tr1/unordered_map that is supposed to
work, but fails.)

> (everything is written above, but:
> gcc 4.1.2
> x86_64)

The only google hit seems to be
    https://www-auth.cs.wisc.edu/lists/gems-users/2011-April/msg00008.shtml
saying:
    "Try using a newer version of gcc. I think I had the same problem
with 4.1.2 because slicc has a "define" with the same name as an
internal STL variable." (clicc: the code that has been compiled)

What is the problematic line in hashtable?

Mojca



More information about the tlbuild mailing list