From owner-freebsd-users-jp@freebsd.org Fri Feb 5 08:31:47 2016 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 92E96A47173 for ; Fri, 5 Feb 2016 08:31:47 +0000 (UTC) (envelope-from fumio@next.matrix.jp) Received: from ms-omx01.so-net.ne.jp (ms-omx01.so-net.ne.jp [202.238.84.151]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 50D2F136C for ; Fri, 5 Feb 2016 08:31:46 +0000 (UTC) (envelope-from fumio@next.matrix.jp) Received: from [192.168.0.204] (p6e42dc74.tkyea108.ap.so-net.ne.jp [110.66.220.116]) by ms-omx01.plus.so-net.ne.jp with ESMTP id u158Vi8O018376; Fri, 5 Feb 2016 17:31:44 +0900 Date: Fri, 05 Feb 2016 17:31:44 +0900 From: KAWAMATA Fumio To: freebsd-users-jp@freebsd.org In-Reply-To: <56B451F8.2010605@port.kobe-u.ac.jp> References: <20160205151824.1998.D8AB530D@next.matrix.jp> <56B451F8.2010605@port.kobe-u.ac.jp> Message-Id: <20160205173144.199C.D8AB530D@next.matrix.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.67 [ja] Subject: [FreeBSD-users-jp 95666] Re: =?iso-2022-jp?b?dGFnbGliLXJ1YnkgGyRCJEcbKEIgIDAgaXMgbm90IGEg?= =?iso-2022-jp?b?Y2xhc3MvbW9kdWxlIChUeXBlRXJyb3Ip?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Feb 2016 08:31:47 -0000 川又です。 その通りでした。gemとpkgを取り違えてました。 お騒がせして申し訳ありませんでした。 On Fri, 5 Feb 2016 16:40:40 +0900 OGINO Tetsuo wrote: > > 荻野です. > > ruby-taglib を使ったことがないので,的外れな回答かもしれ > ませんが,FreeBSD の ports にある ruby21-taglib は > > http://www.hakubi.us/ruby-taglib/ > にて配布されている tablib.rb をインストールしています. > > 一方, > >> https://robinst.github.io/taglib-ruby/ にある Format-specific API > >> のスクリプトのmp3ファイル名部分のみ変更してテストしてみたのですが、 > > https://robinst.github.io/taglib-ruby/ > にて配布されている tablib.rb とは,中身が全く別物のよう > ですが,どうでしょう. > > ruby-taglib の README には > ---- > require 'taglib' > > file = TagLib::File.new('test.mp3') > puts "Old title: #{file.title}" > > file.title = "New title" > file.save > file.close > ---- > というサンプルが記載されています. > > TagLib::MPEG というモジュールは使っていませんし,そのような > 定義はどこにも見当たりません. > > >> TagLib::MPEG::File.open("hoge.mp3") do |file| > >> ./specific.rb:7:in `
': 0 is not a class/module (TypeError) > > これは TagLib::MPEG が未定義なので,TagLib::MPEG::File という > クラスを探すことはできないです,というエラーかと思います. > > CentOS からの移行を考えるのであれば,ports にある ruby21-taglib > ではなく,https://robinst.github.io/taglib-ruby/ こちらを > gem を使ってインストールした方がよろしいのではないかと思います. > > On 2016/02/05 15:18, KAWAMATA Fumio wrote: > > 川又です。 > > > > 内藤さん、えぐちさん、レスありがとうございました。 > > > > (なぜか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 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 `': 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 `
': 0 is not a class/module (TypeError) > >> > >> となります。 > >> > >> エラー行は、 > >> TagLib::MPEG::File.open("hoge.mp3") do |file| > >> なのですが、このあと、どこを修正すれば良いのか分からない状況 > >> です。 > >> > >> 対処法をご存知の方がいらっしゃいましたらご教示いただけない > >> でしょうか? > >> > >> よろしくお願いします。 > >> > >> > >> _______________________________________________ > >> freebsd-users-jp@freebsd.org mailing list > >> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp > >> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe@freebsd.org" > > > _______________________________________________ > freebsd-users-jp@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp > To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe@freebsd.org" -- KAWAMATA Fumio