|
From: Dave P. <dpe...@en...> - 2009-04-29 20:06:46
|
When attempting to build matplotlib 0.98.5.2 on Solaris 10 using GCC
4.3.3, I get an error:
ttconv/pprdrv_tt2.cpp: In member function ‘void
GlyphToType3::stack(TTStreamWriter&, int)’:
ttconv/pprdrv_tt2.cpp:107: error: ‘class TTStreamWriter’ has no member
named ‘putc’
So I tried invoking GCC with the -E flag to get the output of the
preprocessor and I see that line 107 of pprdrv_tt2.cpp gets rewritten to:
stream.putc(('{'), (&__iob[1]));
so it seems that something in GCC 4.3.3 on Solaris is defining a putchar
macro that is doing this, but not correspondingly being applied to the
pprdrv.h.
Searching the list archives, I see that back in July & August, 2008
there was a brief thread between Peter Norton and Mike Droettboom about
this and a proposal was made to rename TTStreamWriter::putchar to
TTStreamWriter:put_char. I just looked at the trunk and it looks like
this has never been done. Was there some other work-around that didn't
make it into the thread that obviated the need for the mentioned change?
I can confirm that the renaming of putchar to put_char does solve the
problem. I've attached a patch file, though it is against 0.98.5.2.
-- Dave
|