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

KAWAMATA Fumio fumio @ next.matrix.jp
2016年 2月 5日 (金) 06:18:40 UTC


川又です。

内藤さん、えぐちさん、レスありがとうございました。

(なぜかMLからのメールが届かないので、自分のメールにつなげる
かたちでリプライします)

> DL::Importable を DL::Importer に変えると直りませんか?

ワーニングはそのままで、エラーメッセージが変わりました。
(メッセージは、最初のメールのとおり)

require 'dl'
require 'dl/import'
extend Dl::Importer

のdl、Dlをfiddle、Fiddleに変更すると、このワーニングは表示
されなくなるのですが、エラーメッセージは消えません。

> Centos のどのバージョンをお使いかは分かりませんが、
> Centos 6 ならば ruby 1.8 が入っていますので、
> この推測が正しければ Taglib は動作するだろうと思います。
> FreeBSD で ruby  2.1 に切り替えたら、
> ruby の互換性の問題で動かなくなったように思います。
>
> 同じことは Centos 7 に上げても起こると思いますので、
> Taglib を別のライブラリで置き換えるか、Taglib 自体を修正するかを
> したほうが良いのではないかと思います。

情報を出し惜しみしていてすみません。現在スクリプトが動作して
いる環境は CentOS 6.4 + ruby 2.0.0p195です。
CentOS 7.2を新規にセットアップしてスクリプトを実行してみた
ところ、正常に動作しました。(Rubyのバージョンは2.0.0p598。
普通にyum installしたので、CentOS 7.2標準のバージョンです。)

自分のスキルからするとTaglib自体の修正は敷居が高いですが、
OSをCentOSからFreeBSDに切り替えたいので、さらに調べてみます。

ありがとうございました。


On Thu, 04 Feb 2016 11:43:01 +0900
KAWAMATA Fumio <fumio at next.matrix.jp> wrote:

> こんにちは。川又と申します。
> 
> 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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe at freebsd.org"

-- 
KAWAMATA Fumio <fumio at next.matrix.jp>



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