gnviewのインストール(FreeBSD7.0)

1. 環境の準備

  1. X-Developer相当のインストールがされていることを前提とします。 作者はCDROMから新規で"X-Developer"でインストールしました。
  2. sysinstallコマンドでX.orgとgnome2をインストールします(gnome2は必須ではありませんが、何かしらのWindow ManagerとGtk2のライブラリはインストールされている必要があります)
  3. (お好みで)wgetをインストールします(以下の手順ではwgetが入っていることを前提に説明しています)

2. ithreads対応perlの作成

FreeBSD6.2のパッケージになっているperlはithreadsに対応していないため、ithreads対応にビルドしたperlを別ディレクトリにインストールします。(以下の手順では/opt/local以下にインストールしています。ports,packagesに影響を及ぼさないディレクトリであればどこでも良いと思います)

  1. perlを公式サイトより取得します(作者はstableである、5.10.0にしました)
     # wget http://www.cpan.org/src/perl-5.10.0.tar.gz
    
  2. インストールディレクトリを作成し、perlのソースコードを展開します
    # mkdir -p /opt/local
    # mkdir -p /opt/local/bin
    # bzcat perl-5.10.0.tar.bz2 |tar xvf -
    # cd perl-5.10.0
    
  3. FreeBSD7.0より、libc_rはなくなって、libpthradがスレッドライブラリになっていますので、設定ファイルの中を編集します
    ./hints/freebsd.sh
    (189行目:変更前)
            lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
    (189行目:変更後)
            lc_r=`/sbin/ldconfig -r|grep ':-lpthread'|awk '{print $NF}'|sed -n '$p'`
    
  4. perlをビルドします
    # sh Configure
    (以下は[ENTER]キー以外のタイプをする箇所を抜粋しています)
    
    Installation prefix to use? (~name ok) [/usr/local] /opt/local
    
    Build a threading Perl? [n] y
    
    # make
    # make test
    
    # make install
    # /opt/local/bin/perl -V
    
    
    Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
    
    (中略)
        useithreads=define usemultiplicity=define
        ^^^^^^^^^^^^^^^^^^<-これを確認
    

3. cpanの設定

  1. cpanの初期設定をします
    # /opt/local/bin/cpan
    
  2. Bundle::CPANモジュールをインストールします
    cpan> install Bundle::CPAN
    cpan> q
    
    
    1. CPANからのデータが取得できない場合はConfig.pmを削除して初期設定をやり直します
      (データが取得できなかった場合の表示)
      Conld not fetch modules/03modlist.data.gz
      Going to write /root/.cpan/Metadata
      Warning: Cannot install Bundle::CPAN, don't know ehat it is.
      Try the command
      
          i /Bundle::CPAN/
      
      to find objects with matching identifiers.
      
      cpan>
      
      (cpanを終了)
      cpan> q
      
      (設定ファイルを削除)
      # rm -rf ./.cpan
      # cd /opt/local/lib/perl5/5.8.8/CPAN
      # rm -f ./Config.pm*
      
      (初期設定をやり直し)
      # cd
      # /opt/local/bin/cpan
      

4. perlモジュールのインストール

# /opt/local/bin/cpan


(モジュールを順番にインストールします)
cpan[2]> install ExtUtils::Depends
cpan[3]> install HTML::TokeParser
cpan[4]> install ExtUtils::PkgConfig
cpan[5]> install Glib
cpan[6]> install Cairo

(以下の表示(依存性解決)が出ますので、yesをタイプして依存するモジュールをインストールします)
----- Unsatisfied dependencirs detected during -----
-----          TSCH/Cairo-1.044.tar.gz         -----
     Test::Number::Delta [requires]
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] <-- [ENTER]もしくはyes[ENTER]

cpan[7]> install Gtk2

   作者はGtk2のビルド後のテストで1,2個failしましたが、force install Gtk2で強制的にインストールしました。今のところgnviewの動作には影響はないようですが自己責任でどうぞ

cpan[8]> install Gtk2::GladeXML
cpan[9]> install HTTP::Date

(以下の表示(依存性解決)が出ますので、yesをタイプして依存するモジュールをインストールします)
----- Unsatisfied dependencirs detected during -----
-----       GAAS/libwww-perl-5.808.tar.gz      -----
     URI [requires]
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] <-- [ENTER]もしくはyes[ENTER]

cpan[10]> q

#

5. gnviewのインストール

  1. gnviewのリリースページから最新のtarballを取得します
  2. 以下のようにインストールします
    # tar xzvf gnview-0.7.tar.gz
    # cd gnview-0.7
    # mkdir -p /usr/share/gnview
    # cp -p gnview.glade 1pix* gnview_*.pl /usr/share/gnview
    # cp -p gnview /usr/local/bin
    # chmod 755 /usr/local/bin/gnview
    (以下は必要に応じて)
    # cp -p gnview.desktop /usr/local/share/applications
    
  3. /usr/local/bin/gnviewをエディタで開いて編集します
    (変更前)
    #!/usr/bin/perl -w
    (変更後)
    #!/opt/local/bin/perl -w