Locked History Actions

Diff for "cernlib"

Differences between revisions 69 and 70
Deletions are marked like this. Additions are marked like this.
Line 154: Line 154:
# ln -s /usr/lib/libblas.a libblas.a

CERN Program Library

リンク

CERN Program Library 2006 インストール (in Scientific Linux 6.4)

  • インストールについて

    • Scinetific Linux 6.4 の場合、 EPEL (Extra Packages for Enterprise Linux) のリポジトリを使うと yum でインストールできる (おそらく CentOS 6.4 と Red Hat Enterprixse Linux (RHEL) 6.4 も同じ)。ただし、64 bit 版 の cernlib-g77 パッケージ (g77 でコンパイルされた共有ライブラリのパッケージ) は使えないかも? ANAPAW で使うと以下のようなメッセージが出る。
    • !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      LOCB/LOCF: address 0x3d7ad037c0 exceeds the 32 bit address space
      or is not in the data segments
      This may result in program crash or incorrect results
      Therefore we will stop here
      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    • 一方 64 bit 版 の cernlib-g77-static (g77 でコンパイルされた静的ライブラリ) は使えた (参考: S.Kawase's Web Page - Scientific Linux 6へのANAPAWのインストール) 。

    • インストールは以下のコマンドでできる。まず、root ユーザになり、EPEL (Extra Packages for Enterprise Linux) のリポジトリパッケージをインストール。その後 cernlib-g77-static をインストールする。
    • $ su
      パスワード: root ユーザのパスワードを打つ
      # yum install epel-release
      # yum install cernlib-g77-static
    • これで /usr/lib64/cernlib/2006-g77/lib ディレクトリに以下の cernlib の静的ライブラリ (lib***.a) がインストールされる。
    • libcojets.a    libgraflib.a        libkernlib.a          libpawlib-lesstif.a
      libeurodec.a   libherwig.a         libmathlib.a          libpawlib.a
      libgeant.a     libherwig59.a       libpacklib-lesstif.a  libpdflib804.a
      libgeant321.a  libisajet758.a      libpacklib-shift.a    libphotos202.a
      libgrafX11.a   libkernlib-shift.a  libpacklib.a          libphtools.a
  • 使い方について

    • 共有ライブラリと混ぜて、例えば libmathlib.a, libpacklib.a を使いたい場合、ライブラリを指定するときに -Wl,Bstatic -lmathlib -lpacklib -Wl,-Bdynamic というように -Wl,Bstatic と -Wl,-Bdynamic の間に書く。こうすると、共有ライブラリ (libmathlib.so, libpacklib.so) ではなく静的ライブラリ (libmathlib.a, libpacklib.a) が読み込まれる。また、ライブラリの指定には順番があり、例えば -lmathlib と -lpacklib を逆にするとエラーとなった。詳しくは S.Kawase's Web Page - Scientific Linux 6へのANAPAWのインストールANAPAW を参照。

CERN Program Library 2006 インストール (in Scientific Linux 5.4)

  • CERN ライブラリをインストールする方法として、いくつかの異なる方法を覚書として残しておく。
  •  

  • パッケージマネージャでインストール

    • 下記では、yum を用いてインストールする方法を覚書にした。リポジトリと呼ばれるパッケージが置いてある場所を指定し、CERNライブラリをインストールできるようにした。Debian 系のディストリビューションでは、apt-get install cernlib とすれば、とくにリポジトリの設定を行わなくともインストールできる場合が多い。ただし、ライブラリは /usr/lib/ 以下にインストールされるため、使用する場合はパスに注意。yum でインストールすると、また違うところにインストールされる。どこだっけ?
    •  

  • バイナリからインストール

    • パッケージマネージャを使わなくとも、バイナリデータが CERN のページにあるので、それをダウンロードしてきて、任意のディレクトリに展開すればインストールされる。ただし、自分の環境(Linux のディストリビューション、コンパイラのバージョンなど)にあわせたバイナリを選択する必要がある。
    •  

  • ソースを make してインストール

    • パッケージマネージャを使ってもインストールできず、バイナリダウンロードしてもうまくいかない場合、CERN のページからソースをダウンロードしてきて make (コンパイル)し、インストールする。ANAPW を用いる場合、ライブラリのみが必要なので PAW の実行形式を make する必要はない。「ライブラリのみ make してインストール」の項目を参照。

パッケージマネージャ(yum) でインストール(EPELのリポジトリ)

  • EPEL (Extra Packages for Enterprise Linux) のリポジトリを使うと、g77 でコンパイルされた CERN library が利用できる。 64 bit 環境では 64 bit 版(?)の CERN library がインストールされると思いきや、インストール出来てもちゃんと動かないかも?
    1. まず root ユーザになり EPEL のリポジトリをインストール。その後、cernlib-g77 パッケージをインストール。普通の cernlib というパッケージもある。 ちなみに、EPEL リポジトリには paw や paw-g77 というパッケージも 存在する。
      • $ su
        パスワード: root ユーザのパスワードを打つ
        # rpm -ihv http://ftp.riken.jp/Linux/fedora/epel/5/i386/epel-release-5-4.noarch.rpm
        # yum install cernlib-g77
    2. g77 バージョンの場合、 /usr/lib/cernlib/2006-g77/libpawlib.so.2 というような名前でインストールされるので、/usr/lib/cernlib/2006-g77/ ディレクトリに行き、以下のコマンドで libpawlib.so から libpawlib.so.2 へリンクをはった。
      • # for str in *so.?;do ln -s $str ${str%.?} ;done
      • これは、以下のようなコマンドを実行することに相当する。もちろん、ひとつづつ手動でリンクを貼ってもよい。
      • ln -s libpawlib.so.2 libpawlib.so
        ln -s libmathlib.so.2 libmathlib.so
        ln -s libkernlib.so.1 libkernlib.so
        ...
    3. さらに、以下のリンクをはった。
      • # cd /usr/lib
        # ln -s liblapack.so.3 liblapack.so
        # ln -s libblas.so.3 libblas.so
        # ln -s libstdc++.so.6 libstdc++.so

パッケージマネージャ(yum) でインストール(SLC5のリポジトリ)

以下のページを参考に Scientific Linux CERN のリポジトリを追加し、yum で CERNLIB をインストール。

リポジトリの追加は、以下のファイルを /etc/yum.repos.d ディレクトリに追加すれば良い。パッケージマネージャの 編集(E) > リポジトリ(R) からグラフィカルにリポジトリを追加することもできる。通常は enabled=0 とし、必要に応じてenabled=1 とするのが良い?

  • /etc/yum.repos.d/slc5-os.repo

  • - contains information about location of system software repository:
    [slc5-os]
    name=Scientific Linux CERN 5 (SLC5) base system packages
    baseurl=http://linuxsoft.cern.ch/cern/slc5X/$basearch/yum/os/
    gpgcheck=1
    enabled=1
    protect=1
  • /etc/yum.repos.d/slc5-extras.repo

  • - contains information about location of addon software repository:
    [slc5-extras]
    name=Scientific Linux CERN 5 (SLC5) add-on packages, no formal support
    baseurl=http://linuxsoft.cern.ch/cern/slc5X/$basearch/yum/extras/
    gpgcheck=1
    enabled=1
    protect=1
  • /etc/yum.repos.d/slc5-updates.repo

  • - contains information about location of system updates software repository:
    [slc5-updates]
    name=Scientific Linux CERN 5 (SLC5) bugfix and security updates
    baseurl=http://linuxsoft.cern.ch/cern/slc5X/$basearch/yum/updates/
    gpgcheck=1
    enabled=1
    protect=1

バイナリをインストール

コンパイル済みのバイナリを CERN のサイトからダウンロードしインストールする。シェルは bash を使った。

  1. $ su コマンドで root user になる
  2. cernlib をインストールするディレクトリ /cern を作る
  3. # gcc -v コマンドで gcc のバージョンを確認 (gcc バージョン 4.1.2 20080704 のように表示される)
  4. ここから OS と gcc のバージョンに合ったバイナリライブラリインクルードファイルをダウンロードしてきて展開

  5. /cern/pro から /cern/2006b ディレクトリへリンクを張る
  6. /cern/pro ディレクトリへ移動し、2006b_i686-slc5-gcc41-opt/lib, 2006b_i686-slc5-gcc41-opt/bin へのリンクを作る
  7. lapack, blas を必要に応じてインストールし、/cern/pro/lib にリンクを作る
  8. root user を抜ける
  9. /cern/pro/bin にパスを通す
  10. ためしに paw を実行してみる
  11.  

  12. コマンド例
    $ su
    パスワード:
    # mkdir -p /cern
    # cd /cern
    # wget http://cernlib.web.cern.ch/cernlib/download/2006b_i686-slc5-gcc41-opt/tar/{cernbin,cernlib,include}.tar.gz
    # for str in cernbin cernlib include; do tar zxvf $str.tar.gz; done
    # ln -sfn 2006b pro
    # cd pro
    # ln -s i686-slc5-gcc41-opt/bin bin
    # ln -s i686-slc5-gcc41-opt/lib lib
    # yum install lapack-devel blas-devel
    ...
    Is this ok [y/N]: y
    ...
    # cd lib
    # ln -s /usr/lib/liblapack.a liblapack3.a
    # ln -s /usr/lib/libblas.a libblas.a
    # exit
    $ echo 'export PATH=/cern/pro/bin:$PATH' >> $HOME/.bashrc
    $ source $HOME/.bashrc
    $ paw

make してインストール

cernlib のソースをコンパイルしインストールする。シェルは bash を使った。

  1. $ su コマンドで root user になる
  2. # yum コマンドで開発ツールのパッケージをインストール(開発ツールがインストールされていない場合)
  3. compat-gcc-34-g77, openmotif-devel, lapack-devel, blas-devel をインストール
    • これで、g77 コンパイラ、Xm.h といったヘッダファイル、および liblapack.a, libblas.a といったスタティックライブラリがインストールされる。
  4. cernlib をインストールするディレクトリ /cern を作る
  5. 2006年版のソースをここからダウンロードしてきて展開

  6. 2006/src/scripts/Imakefile を編集 (編集済みの Imakefile ファイルはここ)

    • InstallProgram という関数(?)の使用をやめ、InstallNamedTarget を用いる。具体的な変更はエラー集参照。さらに編集したものはこれ

  7. cernlib のインストール用スクリプトをここからダウンロードしてきて編集 (編集済みの start_cern ファイルはここ)

  8. start_cern に実行権限を付与し、source コマンドで start_cern を実行
  9. $CERN_ROOT/lib ディレクトリに移動し、先ほどインストールした /usr/lib/liblapack.so, /usr/lib/liblapack.so へのリンクを作る
    • 追記: /usr/lib/liblapack.a, /usr/lib/liblapack3.a へのリンクだとコンパイルが通らない?
  10. $CERN_ROOT/build/pawlib ディレクトリへ移動し # gmake install.bin コマンドで paw のバイナリをインストール
  11. $CERN_ROOT/build/packlib ディレクトリへ移動し # gmake install.bin コマンドでいろいろインストール
  12. /cern/pro から /cern/2006 ディレクトリへリンクを張る
  13. root user を抜ける
  14. /cern/pro/bin にパスを通す
  15. ためしに paw を実行してみる
  16.  

  17. コマンド例
    $ su
    パスワード:
    # yum groupinstall "Development Tools"
    ...
    Is this ok [y/N]: y
    ...
    # yum install compat-gcc-34-g77 openmotif-devel lapack-devel blas-devel
    ...
    Is this ok [y/N]: y
    ...
    # mkdir -p /cern
    # cd /cern
    # wget http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/2006_src.tar.gz
    # tar zxvf 2006_src.tar.gz
    # cd 2006/src/scripts
    # mv Imakefile Imakefile.org
    # sed 's/InstallProgram(\(.*\),\(.*\))/InstallNamedTarget(install.bin,\1,NullParameter,\2,\1)/' Imakefile.org > Imakefile
    # cd /cern
    # wget http://cernlib.web.cern.ch/cernlib/install/start_cern
    # mv start_cern start_cern.org
    # sed '3,12d' start_cern.org | sed '7s/.*/CERN_LEVEL=2006/' > start_cern
    # chmod +x start_cern
    # source ./start_cern
    # cd $CERN_ROOT/lib
    # ln -s /usr/lib/liblapack.so liblapack3.a
    # ln -s /usr/lib/libblas.so libblas.a
    # cd $CERN_ROOT/build/pawlib
    # gmake install.bin
    # cd $CERN_ROOT/build/packlib
    # gmake install.bin
    # cd /cern
    # ln -sfn 2006 pro 
    # exit
    $ echo 'export PATH=/cern/pro/bin:$PATH' >> $HOME/.bashrc
    $ source $HOME/.bashrc
    $ paw

ライブラリのみ make してインストール

ライブラリのみコンパイルしインストールする。シェルは bash を使った。

  1. $ su コマンドで root user になる
  2. # yum コマンドで開発ツールのパッケージをインストール(開発ツールがインストールされていない場合)
  3. compat-gcc-34-g77, openmotif-devel, lapack-devel, blas-devel をインストール
  4. cernlib をインストールするディレクトリ /cern を作る
  5. 2006年版のソースをここからダウンロードしてきて展開

  6. cernlib のインストール用スクリプトをここからダウンロードしてきて編集

  7. start_cern に実行権限を付与し、source コマンドで start_cern を実行
  8. /cern/pro から /cern/2006 ディレクトリへリンクを張る
  9. root user を抜ける
  10.  

  11. コマンド例
    $ su
    パスワード:
    # yum groupinstall "Development Tools"
    ...
    Is this ok [y/N]: y
    ...
    # yum install compat-gcc-34-g77 openmotif-devel lapack-devel blas-devel
    ...
    Is this ok [y/N]: y
    ...
    # mkdir -p /cern
    # cd /cern
    # wget http://cernlib.web.cern.ch/cernlib/download/2006_source/tar/2006_src.tar.gz
    # wget http://cernlib.web.cern.ch/cernlib/install/start_cern
    # tar zxvf 2006_src.tar.gz
    # mv start_cern start_cern.org
    # sed '43,45d' start_cern.org | sed '3,12d' | sed '7s/.*/CERN_LEVEL=2006/' > start_cern
    # echo 'ln -s /usr/lib/liblapack.a $CERN_ROOT/lib/liblapack3.a' >> start_cern
    # echo 'ln -s /usr/lib/libblas.a $CERN_ROOT/lib/libblas.a' >> start_cern
    # chmod +x start_cern
    # source ./start_cern
    # cd /cern
    # ln -sfn 2006 pro
    # exit
    $ 

make エラー集 (Scientific Linux 5.4)

インストール用スクリプト start_cern 中の gmake を実行したときのメッセージは端末に表示されず、kuipc, scripts, make.mmdd というログファイルに残される。これらのファイルは $CERN/build/log ディレクトリに保存される(上記手順でのインストールでは、/cern/2006/build/log というディレクトリになる)。

  • mkdir: ディレクトリ `/cern' を作成できません: ファイルが存在します
    • # mkdir コマンド実行時、作成したいディレクトリがすでにあるときに表示されるメッセージ。 -p オプション をつけるとメッセージを非表示にすることができる。
    •  

  • ls: src_*.gz: そのようなファイルやディレクトリはありません
    • cernlib のインストール用スクリプト start_cern を実行したときのメッセージ。2006年版のソースに対して start_cern を実行しても、src_*.gzというファイルが存在しないため、使えない。2006年版のソースの展開は自分で行い、start_cern の 3-12 行目は削除。

    •  

  • gunzip: src_Imakefile.tar.gz: No such file or directory
    • 上記同様、インストール用スクリプト start_cern を実行したときのメッセージ。2006年版のソースに対して start_cern を実行しても、src_Imakefile.tar.gzというファイルが存在しないため、使えない。start_cern 中のCERN_LEVEL=gunzip -c src_Imakefile.tar.gz | tar tf - | awk -F/ '{print $1}'の行を CERN_LEVEL=2006 に変更。

    •  

  • gmake: *** Makefile' に必要なターゲット Imakefile' を make するルールがありません. 中止.

    • 環境変数が正しく設定されていないときなどに起きるエラー。インストール用スクリプト start_cern を置く場所を 2006 ディレクトリと同じ場所に配置する。また、start_cern を実行する場合、# source start_cern という様に source コマンドを用いて実行すれば、スクリプトが終了しても CERN, CERN_LEVEL といった環境変数は保持される。よって、スクリプトの終了後、# cd $CERN_ROOT/build/pawlib といった操作が可能となる。

    •  

  • /cern/2006/build/log/scripts ファイル中
    rm -f /cern/2006/bin/paw
    install -c -s  /cern/2006/src/scripts/paw /cern/2006/bin/paw
    strip: /cern/2006/bin/paw: File format not recognized
    install: strip failed
    gmake: *** [/cern/2006/bin/paw] エラー 1
    • インストール用スクリプト start_cern 中の gmake install.bin > ../log/scripts 2>&1 実行時のエラー。install コマンドは -s オプションつきで実行すると、バイナリファイルの symbol table をストリップするが、スクリプトファイルに対してinstall コマンドを -s オプションつきで実行すると、上記エラーとなる。このエラーは、-s オプションを取り除けば解決する。解決の方法はいくつかあり、単純には /cern/2006/build/scripts/Makefile の "INSTPGMFLAGS = -s" を "INSTPGMFLAGS = " とすれば良いが、この Makefile は start_cern 中の $CVSCOSRC/config/imake_boot 実行時に生成されるファイルであるため、この方法は場当たり的である。根本的な解決方法は、/cern/2006/scripts/Imakefile を以下のように書き換えれば良い。

      InstallProgram(paw,$(CERN_BINDIR))
       -> InstallNamedTarget(install.bin,paw,NullParameter,$(CERN_BINDIR),paw)
      InstallProgram(cernlib,$(CERN_BINDIR))
       -> InstallNamedTarget(install.bin,cernlib,NullParameter,$(CERN_BINDIR),cernlib)
      InstallProgram(gxint,$(CERN_BINDIR))
       -> InstallNamedTarget(install.bin,gxint,NullParameter,$(CERN_BINDIR),gxint)
    •  

  • g77: Command not found
    • インストール用スクリプトstart_cern中の gmake > log/make.date +%m%d 2>&1 実行時に /cern/2006/build/log/make.mmdd へ書き出されたエラー。g77 コマンドがないので、パッケージマネージャー又は以下のコマンドでインストールする。

    • # yum install compat-gcc-34-g77
    •  

  • /cern/2006/build/log/make.mmdd ファイル中
    gmake[3]: ディレクトリ `/cern/2006/build/packlib/kuip/code_motif' に入ります
    rm -f archive/iconbox.o
    gcc -c -O1 -fomit-frame-pointer    -I/cern/2006/build/packlib/kuip -I/cern/2006/src/packlib/kuip -I/cern/2006/src/packlib/kuip/code_motif  -I/usr/X11R6/include -I/cern/2006/src/include    -DFUNCPROTO=15 -DNARROWPROTO    -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC /cern/2006/src/packlib/kuip/code_motif/iconbox.c -o archive/iconbox.o
    /cern/2006/src/packlib/kuip/kuip/kuip.h:10 から include されたファイル中,
                     /cern/2006/src/packlib/kuip/code_motif/iconbox.c:15 から:
    /cern/2006/src/packlib/kuip/kuip/kstring.h:35:1: 警告: "strdup" が再定義されました
    /usr/include/string.h:417 から include されたファイル中,
                     /cern/2006/src/packlib/kuip/kuip/kstring.h:13 から,
                     /cern/2006/src/packlib/kuip/kuip/kuip.h:10 から,
                     /cern/2006/src/packlib/kuip/code_motif/iconbox.c:15 から:
    /usr/include/bits/string2.h:1317:1: 警告: ここが以前の宣言がある位置です
    /cern/2006/src/packlib/kuip/code_motif/iconbox.c:66 から include されたファイル中:
    /cern/2006/src/packlib/kuip/code_motif/icboxp.h:67:19: error: Xm/Xm.h: そのようなファイルやディレクトリはありません
    /cern/2006/src/packlib/kuip/code_motif/icboxp.h:68:25: error: Xm/DrawingA.h: そのようなファイルやディレクトリはありません
    /cern/2006/src/packlib/kuip/code_motif/icboxp.h:69:26: error: Xm/ScrollBar.h: そのようなファイルやディレクトリはありません
    /cern/2006/src/packlib/kuip/code_motif/icboxp.h:70:26: error: Xm/ScrolledW.h: そのようなファイルやディレクトリはありません
    In file included from /cern/2006/src/packlib/kuip/code_motif/icboxp.h:73,
                     from /cern/2006/src/packlib/kuip/code_motif/iconbox.c:66:
    /cern/2006/src/packlib/kuip/code_motif/icbox.h:126: error: expected specifier-qualifier-list before ‘XmStringTable’
    /cern/2006/src/packlib/kuip/code_motif/icbox.h:148: error: expected declaration specifiers or ‘...’ before ‘XmString’
    ...
    ...
    ...
    /cern/2006/src/packlib/kuip/code_motif/iconbox.c:3177: error: ‘IconRec’ has no member named ‘label’
    /cern/2006/src/packlib/kuip/code_motif/iconbox.c:3179: error: ‘IconRec’ has no member named ‘link’
    /cern/2006/src/packlib/kuip/code_motif/iconbox.c:3179: 警告: assignment from incompatible pointer type
    gmake[3]: *** [archive/iconbox.o] エラー 1
    gmake[3]: ディレクトリ `/cern/2006/build/packlib/kuip/code_motif' から出ます
    gmake[2]: *** [code_motif/archive/objects.list] エラー 2
    gmake[2]: ディレクトリ `/cern/2006/build/packlib/kuip' から出ます
    gmake[1]: *** [kuip/archive/objects.list] エラー 2
    gmake[1]: ディレクトリ `/cern/2006/build/packlib' から出ます
    gmake: *** [install.lib] エラー 2
    • インストール用スクリプトstart_cern中の gmake > log/make.date +%m%d 2>&1 実行時のエラー。Xm/Xm.h などのヘッダファイルがないので、パッケージマネージャー又は以下のコマンドで openmotif-devel をインストールする。

    • # yum install openmotif-devel
    •  

  • cd $CERN_ROOT/build/pawlib
  • gmake install.bin 実行時
    installing in /pawlib/paw...
    gmake[1]: ディレクトリ `/cern/2006/build/pawlib/paw' に入ります
    installing in /pawlib/paw/programs...
    gmake[2]: ディレクトリ `/cern/2006/build/pawlib/paw/programs' に入ります
    gmake[2]: *** `pawX11' に必要なターゲット `/cern/2006/lib/liblapack3.a' を make するルールがありません.  中止.
    gmake[2]: ディレクトリ `/cern/2006/build/pawlib/paw/programs' から出ます
    gmake[1]: *** [install.bin] エラー 2
    gmake[1]: ディレクトリ `/cern/2006/build/pawlib/paw' から出ます
    gmake: *** [install.bin] エラー 2
    • lapack ライブラリがない (おそらく blas ライブラリもない) ので、以下のコマンドでインストールし、リンクを作る。
      # yum install lapack-devel blas-devel
      # ln -s /usr/lib/liblapack.a $CERN_ROOT/lib/liblapack3.a
      # ln -s /usr/lib/libblas.a $CERN_ROOT/lib/libblas.a
    •  

make エラー集(openSUSE 11.2 & AMD64?)

  • $CERN_ROOT/build/log/make.mmdd ファイル中
    rm -f archive/bugrep.o
    gcc -c -O1 -fomit-frame-pointer    -I/home/username/2006/build/pawlib/paw -I/home/username/2006/src/pawlib/paw -I/home/username/2006/src/pawlib/paw/cpaw -I/home/username/2006/src/include    -Df2cF
    ortran -DFUNCPROTO=15 -DNARROWPROTO    -DCERNLIB_LINUX -DCERNLIB_UNIX -DCERNLIB_LNX -DCERNLIB_QMGLIBC /home/username/2006/src/pawlib/paw/cpaw/bugrep.c -o archive/bugrep.o
    /home/username/2006/src/pawlib/paw/cpaw/bugrep.c: In function 'br_mail_file':
    /home/username/2006/src/pawlib/paw/cpaw/bugrep.c:438: error: 'L_cuserid' undeclared (first use in this function)
    /home/username/2006/src/pawlib/paw/cpaw/bugrep.c:438: error: (Each undeclared identifier is reported only once
    /home/username/2006/src/pawlib/paw/cpaw/bugrep.c:438: error: for each function it appears in.)
    gmake[3]: *** [archive/bugrep.o] エラー 1
    gmake[3]: ディレクトリ `/home/username/2006/build/pawlib/paw/cpaw' から出ます
    gmake[2]: *** [cpaw/archive/objects.list] エラー 2
    gmake[2]: ディレクトリ `/home/username/2006/build/pawlib/paw' から出ます
    gmake[1]: *** [paw/archive/objects.list] エラー 2
    gmake[1]: ディレクトリ `/home/username/2006/build/pawlib' から出ます
    gmake: *** [install.lib] エラー 2
    • インストール用スクリプトstart_cern中の gmake > log/make.date +%m%d 2>&1 実行時のエラー。Bugzilla Bug 275020から patch をダウンロードし、$CERN_ROOT/src/pawlib/paw/cpaw/bugrep.c に 当てれば良い。田中くんのページcernlibのメモも参照。

    • $ cd $CERN_ROOT/src/pawlib/paw/cpaw/
      $ wget http://bugs.gentoo.org/attachment.cgi\?id\=197754
      $ mv attachment.cgi\?id\=197754 paw-2.14.04-glibc-2.10.patch
      $ patch < paw-2.14.04-glibc-2.10.patch