こんばんは、内藤です。 TagLibは使ったことないのですが、
> uninitialized constant DL::Importable とでるあたりから察するに Ruby 1.8 でしかサポートされていない クラスを Taglib が使用してるのではないかと思います。 Centos のどのバージョンをお使いかは分かりませんが、 Centos 6 ならば ruby 1.8 が入っていますので、 この推測が正しければ Taglib は動作するだろうと思います。 FreeBSD で ruby 2.1 に切り替えたら、 ruby の互換性の問題で動かなくなったように思います。 同じことは Centos 7 に上げても起こると思いますので、 Taglib を別のライブラリで置き換えるか、Taglib 自体を修正するかを したほうが良いのではないかと思います。 2016年2月4日 11:43 KAWAMATA Fumio <[email protected]>: > こんにちは。川又と申します。 > > CentOSの環境上で動作している、taglibを用いたRubyスクリプトを > Freebsd環境に移植しようとしていて、つまづいております。 > > Freebsdの環境は、Freebsd 10.2、ruby 2.1.8p440、ruby21-taglib-1.1_1、 > taglib-1.10です。(ruby21-taglibとtaglibはportsからインストール) > > 自作スクリプト依存の切り分けのために、 > https://robinst.github.io/taglib-ruby/ にある Format-specific API > のスクリプトのmp3ファイル名部分のみ変更してテストしてみたのですが、 > > DL is deprecated, please use Fiddle > /usr/local/lib/ruby/site_ruby/2.1/taglib.rb:40:in `<module:TagLib>': > uninitialized constant DL::Importable (NameError) > > というワーニングとエラーが表示されます。 > > /usr/local/lib/ruby/site_ruby/2.1/taglib.rb > の、 > extend DL::Importable > を > extend DL::Importer > に変更して実行すると、 > > DL is deprecated, please use Fiddle > ./specific.rb:7:in `<main>': 0 is not a class/module (TypeError) > > となります。 > > エラー行は、 > TagLib::MPEG::File.open("hoge.mp3") do |file| > なのですが、このあと、どこを修正すれば良いのか分からない状況 > です。 > > 対処法をご存知の方がいらっしゃいましたらご教示いただけない > でしょうか? > > よろしくお願いします。 > > > _______________________________________________ > [email protected] mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp > To unsubscribe, send any mail to "[email protected] > " > -- 内藤 祐一郎([email protected]) _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "[email protected]"
