in reply to Audio::TagLib and Strawberry Perl

The ugly ...
C:\strawberry\cpan\build\Audio-TagLib-1.61>dmake test C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_h +arness(0, 'blib\lib', 'blib\arch')" t/*.t t/TagLib.t ....................................... ok t/TagLib_APE_Footer.t ............................ ok t/TagLib_APE_Item.t .............................. ok t/TagLib_APE_ItemListMap.t ....................... ok t/TagLib_APE_ItemListMap_Iterator.t .............. ok t/TagLib_APE_Tag.t ............................... ok t/TagLib_AudioProperties.t ....................... ok t/TagLib_ByteVector.t ............................ ok t/TagLib_ByteVector_Iterator.t ................... ok t/TagLib_ByteVectorList.t ........................ ok t/TagLib_File.t .................................. ok t/TagLib_FileRef.t ............................... ok t/TagLib_FileRef_FileTypeResolver.t .............. ok t/TagLib_FLAC_File.t ............................. ok t/TagLib_FLAC_Properties.t ....................... ok t/TagLib_ID3v1.t ................................. ok t/TagLib_ID3v1_GenreMap.t ........................ ok t/TagLib_ID3v1_GenreMap_Iterator.t ............... ok t/TagLib_ID3v1_StringHandler.t ................... ok t/TagLib_ID3v1_Tag.t ............................. ok t/TagLib_ID3v2_AttachedPictureFrame.t ............ 1/10 TagLib: A pict +ure frame must contain at least 5 bytes. t/TagLib_ID3v2_AttachedPictureFrame.t ............ ok t/TagLib_ID3v2_CommentsFrame.t ................... ok t/TagLib_ID3v2_ExtendedHeader.t .................. ok t/TagLib_ID3v2_Footer.t .......................... ok t/TagLib_ID3v2_Frame.t ........................... ok t/TagLib_ID3v2_FrameFactory.t .................... ok t/TagLib_ID3v2_FrameList.t ....................... 1/31 # Failed test at t/TagLib_ID3v2_FrameList.t line 67. # 'TIT2 ? title' # doesn't match '(?^:^TPE1.*?artist$)' # method sortedInsert(item) and getItem(i) failed # Looks like you failed 1 test of 31. t/TagLib_ID3v2_FrameList.t ....................... Dubious, test retur +ned 1 (wstat 256, 0x100) Failed 1/31 subtests t/TagLib_ID3v2_FrameList_Iterator.t .............. ok t/TagLib_ID3v2_FrameListMap.t .................... ok t/TagLib_ID3v2_FrameListMap_Iterator.t ........... ok t/TagLib_ID3v2_Header.t .......................... ok t/TagLib_ID3v2_RelativeVolumeFrame.t ............. ok t/TagLib_ID3v2_RelativeVolumeFrame_PeakVolume.t .. ok t/TagLib_ID3v2_SynchData.t ....................... ok t/TagLib_ID3v2_Tag.t ............................. ok t/TagLib_ID3v2_TextIdentificationFrame.t ......... ok t/TagLib_ID3v2_UniqueFileIdentifierFrame.t ....... ok t/TagLib_ID3v2_UnknownFrame.t .................... ok t/TagLib_ID3v2_UserTextIdentificationFrame.t ..... ok t/TagLib_MPC_File.t .............................. ok t/TagLib_MPC_Properties.t ........................ ok t/TagLib_MPEG_File.t ............................. ok t/TagLib_MPEG_Header.t ........................... ok t/TagLib_MPEG_Properties.t ....................... ok t/TagLib_MPEG_XingHeader.t ....................... ok t/TagLib_Ogg_FieldListMap.t ...................... ok t/TagLib_Ogg_FieldListMap_Iterator.t ............. ok t/TagLib_Ogg_File.t .............................. ok t/TagLib_Ogg_FLAC_File.t ......................... ok t/TagLib_Ogg_Page.t .............................. ok t/TagLib_Ogg_PageHeader.t ........................ ok t/TagLib_Ogg_Vorbis_File.t ....................... ok t/TagLib_Ogg_Vorbis_Properties.t ................. ok t/TagLib_Ogg_XiphComment.t ....................... ok t/TagLib_String.t ................................ Dubious, test retur +ned 5 (wstat 1280, 0x500) Failed 33/40 subtests t/TagLib_String_Iterator.t ....................... 1/19 iconv_open fai +led at t/TagLib_String_Iterator.t line 20. # Looks like you planned 19 tests but ran 5. # Looks like your test exited with 22 just after 5. t/TagLib_String_Iterator.t ....................... Dubious, test retur +ned 22 (wstat 5632, 0x1600) Failed 14/19 subtests t/TagLib_StringList.t ............................ ok t/TagLib_Tag.t ................................... ok t/TagLib_Vorbis_File.t ........................... ok t/TagLib_Vorbis_Properties.t ..................... ok Test Summary Report ------------------- t/TagLib_ID3v2_FrameList.t (Wstat: 256 Tests: 31 F +ailed: 1) Failed test: 9 Non-zero exit status: 1 t/TagLib_String.t (Wstat: 1280 Tests: 7 F +ailed: 0) Non-zero exit status: 5 Parse errors: Bad plan. You planned 40 tests but ran 7. t/TagLib_String_Iterator.t (Wstat: 5632 Tests: 5 F +ailed: 0) Non-zero exit status: 22 Parse errors: Bad plan. You planned 19 tests but ran 5. Files=60, Tests=605, 20 wallclock secs ( 0.55 usr + 0.23 sys = 0.78 +CPU) Result: FAIL Failed 3/60 test programs. 1/605 subtests failed. dmake: Error code 255, while making 'test_dynamic' C:\strawberry\cpan\build\Audio-TagLib-1.61>

TagLib_String fails miserably ... causes a crash.
to be expected with the iostream issues.

-Enjoy
fh :)_~

Replies are listed 'Best First'.
Re^2: Audio::TagLib and Strawberry Perl
by syphilis (Archbishop) on Aug 26, 2012 at 13:05 UTC
    TagLib_String fails miserably ... causes a crash.
    to be expected with the iostream issues.


    Yes ... I get the same (and for TagLib_String_Iterator.t too) , though I'm not getting the TagLib_ID3v2_FrameList.t failure for any of my x86 perls.
    However, I think my x64 perl-5.12. is the only x64 perl that I have that passes TagLib_ID3v2_FrameList.t

    Anyway ... ppm packages for anyone interested are available from the sisyphusion repo - and there's a link on that page to the patches I applied.

    In addition to those patches, I used a rewritten Makefile.PL:
    use ExtUtils::MakeMaker; WriteMakefile( NAME => 'Audio::TagLib', MIN_PERL_VERSION => '5.008001', VERSION_FROM => 'lib/Audio/TagLib.pm', LICENSE => 'perl', XSOPT => '-C++ -hiertype', ( $Config{'version'} >= 5.005 ? ( ABSTRACT_FROM => 'lib/Audio/TagLib.pm', AUTHOR => 'Geoffrey Leach <gleach@cpan.org>' ) : () ), PREREQ_PM => { "Encode" => 0, "Test::Deep" => 0, "File::Slurp" => 0, "Test::More" => 0, "Test::Output" => 0, }, "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => 0, "Config" => 0, }, );
    and then specified the INC, LIBS and CC settings as args to the 'perl Makefile.PL' command line.

    One other problem with the module:
    C:\>perldoc Audio::TagLib Got a 0-length file from C:\MinGW\perl\site\lib\Audio\TagLib.pm via Po +d::Perldoc ::ToText!? C:\>
    I don't know what that's about and haven't even looked.

    Cheers,
    Rob
      Why the changes to iconv_wrap and related ??
      IMO, In TagLib.xs, apeitem.h should be replaced with taglib.h and moved up after ppoprt.h.
        oooPs, forgot this ... Adding apeitem.h to the top apeitem.xs