I wanted to build an awesome place for people to discuss module specific issues, but I don't have any more time for this, and there are much better places to discuss Perl-related issues. I'd recommend asking your question on Stack Overflow or on Perl Monks.
If you are looking for a Perl tutorial or Perl-related news, I hope these links will serve you well.
Posted on 2006-09-15 19:23:55-07 by jasnic02
Windows support?
Any possibility of this being 'ported' for Windows (w/ ActiveState Perl)? Thanks!
Direct Responses: 3049 | 3067 | Write a response
Posted on 2006-09-15 19:40:26-07 by szabgab in response to 3048
Re: Windows support?
I am not sure if the module can work on Windows, but you try asking Randy Kobes to check this.
Follow the link above to "Kobes search".
At the bottom of that page you will find a link to "ppm-request", that's where you can ask Randy Kobes to try to build one for you and for the community,
Direct Responses: Write a response
Posted on 2006-09-18 02:44:29-07 by dongxu in response to 3048
Re: Windows support?
Hi, You can check here http://developer.kde.org/~wheeler/taglib.html#windows the status of porting to windows. So far I didn't open build on that platform. A fresh try is also highly appreciated ;-P Dongxu
Direct Responses: 5177 | Write a response
Posted on 2007-05-21 05:42:04-07 by thekat in response to 3067
Re: Windows support?
I just tried on Windows using Cygwin, and ran into an iconv issue:

$ make
(snip)
g++ -c -I/usr/include -I./include -I. -I/usr/local/include/taglib -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -I/usr/local/include -DUSEIMPORTLIB -O3 -DVERSION=\"1.43\" -DXS_VERSION=\"1.43\" "-I/usr/lib/perl5/5.8/cygwin/CORE" -DNO_DOXYGEN TagLib.c
In file included from TagLib.xs:16:
./include/iconv_wrap.h: In function `size_t iconv_wrap(void*, char**, size_t*, char**, size_t*)':
./include/iconv_wrap.h:30: error: invalid conversion from `char**' to `const char**'
./include/iconv_wrap.h:30: error: initializing argument 2 of `size_t libiconv(void*, const char**, size_t*, char**, size_t*)'
TagLib.c:1335:15: warning: extra tokens at end of #ifdef directive
TagLib.c:1336:15: warning: extra tokens at end of #undef directive
TagLib.c:1339:16: warning: extra tokens at end of #undef directive
TagLib.c:1344:1: warning: "do_open" redefined
TagLib.c:1343:1: warning: this is the location of the previous definition
TagLib.c:1346:1: warning: "do_close" redefined
TagLib.c:1345:1: warning: this is the location of the previous definition
make: *** [TagLib.o] Error 1

Here's some other information about current versions:
(Perl, from stock Cygwin distribution as of today)
$ perl --version

This is perl, v5.8.7 built for cygwin-thread-multi-64int
(with 1 registered patch, see perl -V for more detail)

Copyright 1987-2005, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

(iconv is stock from Cygwin distribution as of today)
$ iconv --version
iconv (GNU libiconv 1.11)
Copyright (C) 2000-2006 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.
Written by Bruno Haible.

(Taglib version, compiled on Cygwin with no additional modifications)
$ taglib-config --version
1.4

(Cygwin DLL version, though I doubt it's important :) )
1.5.24-cr-0x5f1
Direct Responses: 5178 | Write a response
Posted on 2007-05-21 05:45:55-07 by thekat in response to 5177
Re: Windows support?
Sorry, should have included this too:
$ g++ --version
g++ (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Copyright (C) 2004 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.
Direct Responses: 5195 | Write a response
Posted on 2007-05-22 06:53:49-07 by dongxu in response to 5178
Re: Windows support?
Hi, Thanks for the trying. This could happen due to different api declarations on different platforms. Linux uses
size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft)
, and some others may use
size_t iconv(iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesle +ft
Previous C-style cast in that header is not C++-safe for some gcc versions. Could you pls try this patch.
--- include/iconv_wrap.h.orig 2007-05-22 14:50:52.000000000 +0800 +++ include/iconv_wrap.h 2007-05-22 14:49:23.000000000 +0800 @@ -13,7 +13,8 @@ size_t iconv_wrap(iconv_t cd, char **outbuf, size_t *outbytesleft) { char *in = *inbuf; - const char *in_c = (const char*) in; + //const char *in_c = (const char*) in; + const char *in_c = const_cast<const char*>(in); return iconv(cd, &in_c, inbytesleft, outbuf, outbytesleft);
Direct Responses: 5242 | Write a response
Posted on 2007-05-28 16:52:30-07 by thekat in response to 5195
Re: Windows support?
I'm afraid this didn't do anything really, but shift the error by one line :P

g++ -c -I/usr/include -I./include -I. -I/usr/local/include/taglib -DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -I/usr/local/include -DUSEIMPORTLIB -O3 -DVERSION=\"1.43\" -DXS_VERSION=\"1.43\" "-I/usr/lib/perl5/5.8/cygwin/CORE" -DNO_DOXYGEN TagLib.c
In file included from TagLib.xs:16:
./include/iconv_wrap.h: In function `size_t iconv_wrap(void*, char**, size_t*, char**, size_t*)':
./include/iconv_wrap.h:31: error: invalid conversion from `char**' to `const char**'
./include/iconv_wrap.h:31: error: initializing argument 2 of `size_t libiconv(void*, const char**, size_t*, char**, size_t*)'
TagLib.c:1335:15: warning: extra tokens at end of #ifdef directive
TagLib.c:1336:15: warning: extra tokens at end of #undef directive
TagLib.c:1339:16: warning: extra tokens at end of #undef directive
TagLib.c:1344:1: warning: "do_open" redefined
TagLib.c:1343:1: warning: this is the location of the previous definition
TagLib.c:1346:1: warning: "do_close" redefined
TagLib.c:1345:1: warning: this is the location of the previous definition
make: *** [TagLib.o] Error 1
Direct Responses: 5510 | Write a response
Posted on 2007-06-22 14:35:42-07 by dongxu in response to 5242
Re: Windows support?
oh, that might be a bug/shortcome of libstdc++ in cygwin, since const_cast is C++ standard functionality. Try updating that lib and re-install pls ;-)
Direct Responses: Write a response