[FreeBSD-users-jp 95660] taglib-ruby で 0 is not a class/module (TypeError)

KAWAMATA Fumio fumio @ next.matrix.jp
2016年 2月 4日 (木) 02:59:43 UTC


こんにちは。川又と申します。

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|
なのですが、このあと、どこを修正すれば良いのか分からない状況
です。

対処法をご存知の方がいらっしゃいましたらご教示いただけない
でしょうか?

よろしくお願いします。




freebsd-users-jp メーリングリストの案内