avuserow / perl6-audio-taglib-simple

Read ID3 and other audio metadata with TagLib in Perl 6
MIT License
5 stars 6 forks source link

Indicate taglib dependency #2

Closed TOGoS closed 2 years ago

TOGoS commented 9 years ago

The README doesn't indicate that taglib itself is required for this to work. But without installing it, 'panda install Audio::Taglib::Simple' results in the following ouput. "Cannot locate native library 'libtag_c.so': libtag_c.so: cannot open shared object file: No such file or directory" being the relevant part.

==> Fetching Audio::Taglib::Simple
==> Building Audio::Taglib::Simple
==> Testing Audio::Taglib::Simple
Cannot locate native library 'libtag_c.so': libtag_c.so: cannot open shared object file: No such file or directory
  in method setup at lib/NativeCall.pm:225
  in method CALL-ME at lib/NativeCall.pm:236
  in submethod BUILD at /home/stevens/junk/.panda-work/1444841939_1/lib/Audio/Taglib/Simple.pm:51
  in method new at /home/stevens/junk/.panda-work/1444841939_1/lib/Audio/Taglib/Simple.pm:34
  in block <unit> at t/basic.t:8

t/basic.t .. 
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 12/12 subtests 
Cannot locate native library 'libtag_c.so': libtag_c.so: cannot open shared object file: No such file or directory
  in method setup at lib/NativeCall.pm:225
  in method CALL-ME at lib/NativeCall.pm:236
  in submethod BUILD at /home/stevens/junk/.panda-work/1444841939_1/lib/Audio/Taglib/Simple.pm:51
  in method new at /home/stevens/junk/.panda-work/1444841939_1/lib/Audio/Taglib/Simple.pm:34
  in block <unit> at t/edit.t:9

t/edit.t ... 
No subtests run 
t/error.t .. ok

Test Summary Report
-------------------
t/basic.t (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 12 tests but ran 0.
t/edit.t (Wstat: 0 Tests: 0 Failed: 0)
  Parse errors: No plan found in TAP output
Files=3, Tests=2, 21 wallclock secs ( 0.03 usr  0.02 sys + 20.70 cusr  0.36 csys = 21.11 CPU)
Result: FAIL
test stage failed for Audio::Taglib::Simple: Tests failed
  in method throw at /home/stevens/ext-apps/rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:1
  in method install at /home/stevens/ext-apps/rakudobrew/moar-nom/install/share/perl6/site/lib/Panda.pm:142
  in method resolve at /home/stevens/ext-apps/rakudobrew/moar-nom/install/share/perl6/site/lib/Panda.pm:219
  in sub MAIN at /home/stevens/ext-apps/rakudobrew/bin/../moar-nom/install/share/perl6/site/bin/panda:18
  in block <unit> at /home/stevens/ext-apps/rakudobrew/bin/../moar-nom/install/share/perl6/site/bin/panda:145

Failure Summary
----------------
Audio::Taglib::Simple(
        *test stage failed for Audio::Taglib::Simple: Tests failed)

It might be worth noting that on ubuntu, 'sudo apt-get install libtagc0-dev' does the job.

jonathanstowe commented 8 years ago

Unfortunately it is not currently possible to pre-declare external dependencies to panda.

I have used https://github.com/jonathanstowe/LibraryCheck in a Build.pm to bail out before running the tests but it can be used in the tests too.