2011年4月24日日曜日

fedora 14 64bit でfriio



  1. recfriioのソースファイルのダウンロード

  2. # wget http://2sen.dip.jp/cgi-bin/friioup/source/up0777.zip




  3. 必要パッケージのインストール

  4. ・gcc、g++、boost、glib2、libpcsclite

    # yum install gcc gcc-c++ boost-devel glib2-devel pcsc-lite-devel

    ・ccid(bcasカードリーダ使用時に必要)

    # yum install ccid




  5. ソースファイルの修正

  6. ・recfriior4/recfriior4/RingBuf.hppの修正

    エラーメッセージ:
    "RingBuf.hpp:90:2: error: ‘condition’ in namespace ‘boost’ does not name a type"

    10行目(#include <boost/thread.hpp>)の下に下記のinclude文を追記する。

    #include <boost/thread/condition.hpp>


    ・recfriior4/recfriior4/Recordable.hppの修正

    エラーメッセージ:
    "Recordable.hpp:115:30: error: ‘uint8_t’ does not name a type"

    8行目(#include <vector>)の下に下記のinclude文を追記する。

    #include <inttypes.h>


    ・recfriior4/recfriior4/AbstractFriio.cppの修正

    エラーメッセージ:
    "AbstractFriio.cpp:223:26: error: ‘umask’ was not declared in this scope"

    4行目(#include <sys/file.h>)の下に下記のinclude文を追記する。

    #include <sys/stat.h>




  7. makeファイルの修正

  8. ・recfriior4/recfriior4/Makefileの修正

    エラーメッセージ:
    "/usr/bin/ld: AbstractFriio.o: undefined reference to symbol 'boost::system::system_category()'"

    22行目に下記のように「-lboost_system」を追加する。

    LIBS = -lpthread -lboost_thread-mt -lboost_filesystem -lboost_system `pkg-config --libs glib-2.0`




  9. 使用時の問題

  10. ・friioのbusy状態

    エラーメッセージ:
    Search friios from dir: /dev/bus/usb
    1 friios found:
    /dev/bus/usb/001/008: busy.
    no friio can be used.
    can't open tuner.

    friioを使用する前にdvd_usb_friioを下記のように削除することで一応対処できる。

    # rmmod dvb_usb_friio


    ・B-CASエラー

    エラーメッセージ:
    "error - failed on B_CAS_CARD::init() : code=-3"

    openctが競合しているのが原因のようです。以下のようにサービスを停止します。

    # /etc/init.d/openct stop

    自動起動も停止する場合は以下のように(ただし、ランレベル5の場合)。

    # mv /etc/rc5.d/S24openct /etc/rc5.d/S24openct