c:\strawberry\c\bin\../lib/gcc/i686-w64-mingw32/4.6.3/include/c++/streambuf:571:7: error: expected ')' before '*' token Yes, that's as far as I got with 1.61, too.
I think it means that streambuf is being parsed as a C file instead of as the C++ file that it is.
But I don't know why that is happening or what to do about it. I do see one invocation of 'gcc' in the generated Makefile:
.c.i:
gcc -E -c $(PASTHRU_INC) $(INC) \
$(CCFLAGS) $(OPTIMIZE) \
$(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \
$(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFIN
+E) $(DEFINE) $*.c > $*.i
But I see nothing in the build output to indicate that's causing the problem. (Still, perhaps that's something that could be investigated further.)
I think you're quite right that there's nothing wrong with the taglib library, and that the problem is Audio::TagLib.
I think it's a pity that Audio::TagLib has chosen to build against the libtag C++ library, instead of against the libtag_c C library.
At least I presume libtag_c is a C library - and that I'd therefore have a good chance of being able to work around any problems in the offchance that it didn't build straight out of the box.
Cheers,
Rob