差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
softwares:cernlib [2016/12/25 08:09] – kobayash | softwares:cernlib [2021/08/21 15:29] (現在) – kobayash | ||
---|---|---|---|
行 1: | 行 1: | ||
===== CERN Program Library ===== | ===== CERN Program Library ===== | ||
+ | ==== CentOS 8.2.2004 ==== | ||
+ | * Debugging the DESY cernlib | ||
+ | * PAW のメモリの大きさを変えた時は、すべてをコンパイルする必要はなく、以下のコマンドで再コンパイル可能。何度もコンパイルし直していると、log ファイルのファイル名が長くなりすぎてエラーになるので、ログファイルも消しておく。 | ||
+ | |||
+ | $ emacs -nw 2005/ | ||
+ | $ touch 2005/ | ||
+ | $ rm -rf 2005/ | ||
+ | $ ./ | ||
+ | |||
+ | * コンパイルオプション (例えば # | ||
+ | |||
+ | * NWPAW を 175000000 以上にして、二次元ヒストグラムを表示すると、以下のように SIGFPE で落ちるときがある。これは再現性がある。 | ||
+ | |||
+ | PAW> hi/pl 6 | ||
+ | | ||
+ | Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation. | ||
+ | | ||
+ | Backtrace for this error: | ||
+ | #0 0x7f7b6339216a | ||
+ | #1 0x7f7b633912d3 | ||
+ | ... | ||
+ | #32 0x7f7b627f96a2 | ||
+ | #33 0x429edd | ||
+ | #34 0xffffffffffffffff | ||
+ | Floating point exception (core dumped) | ||
+ | |||
+ | * gdb ~/ | ||
+ | | ||
+ | ==== Ubuntu 18.04 LTS ==== | ||
+ | * Ubuntu 18.04 に gfortran でコンパイルした cernlib をインストールした。ただ、うまく動いてないかも? | ||
+ | - はじめに一応 Ubuntu のバージョンをチェックしておく。 | ||
+ | |||
+ | $ cat / | ||
+ | DISTRIB_ID=Ubuntu | ||
+ | DISTRIB_RELEASE=18.04 | ||
+ | DISTRIB_CODENAME=bionic | ||
+ | DISTRIB_DESCRIPTION=" | ||
+ | |||
+ | - imake コマンドを使えるようにし、gmake から make へのリンクを貼る | ||
+ | |||
+ | $ sudo apt-get install xutils-dev | ||
+ | $ sudo ln -s / | ||
+ | |||
+ | - ディレクトリを作成 | ||
+ | |||
+ | $ mkdir -p ~/ | ||
+ | $ cd ~/ | ||
+ | |||
+ | - 以下のソースを [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | $ wget https:// | ||
+ | $ wget https:// | ||
+ | $ wget https:// | ||
+ | |||
+ | - tar ファイルの解凍と上書き | ||
+ | |||
+ | $ tar zxvf cernlib-2005-all-new.tgz | ||
+ | $ mv cernlib.2005.corr.2014.04.17.tgz cernlib.2005.corr.tgz | ||
+ | $ tar zxvf cernlib.2005.install.2014.04.17.tgz | ||
+ | |||
+ | - 中身があるか一応チェック | ||
+ | |||
+ | $ ls | ||
+ | Install_cernlib* Install_old_patchy4* | ||
+ | Install_cernlib_and_lapack* README_cernlib | ||
+ | Install_cernlib_bin* cernlib-2005-all-new.tgz | ||
+ | Install_cernlib_fixes* cernlib.2005.corr.tgz | ||
+ | Install_cernlib_include* cernlib.2005.install.2014.04.17.tgz | ||
+ | Install_cernlib_lib* cernlib.fixed* | ||
+ | Install_cernlib_patchy* cernlib_2005.tgz | ||
+ | Install_cernlib_src* cernlib_env* | ||
+ | Install_cernlib_test* lapack.tar.gz | ||
+ | Install_lapack* patchy4.tar.gz | ||
+ | $ | ||
+ | |||
+ | - src の展開 | ||
+ | |||
+ | $ export CERN=$PWD | ||
+ | $ ./ | ||
+ | |||
+ | - PAW のメモリを増加 | ||
+ | |||
+ | $ emacs ~/ | ||
+ | *** Edit Line 20 of the file as below *** | ||
+ | PARAMETER (NWPAW=2000000) | ||
+ | | | | | ||
+ | V V V | ||
+ | * NWPAW was enlarged from 2000000 to 32000000 by Nobu on Jul. 4, 2018 | ||
+ | * PARAMETER (NWPAW=2000000) | ||
+ | PARAMETER (NWPAW=32000000) | ||
+ | |||
+ | - sdf | ||
+ | |||
+ | $ emacs ~/ | ||
+ | *** Edit Line 142 and 157 as below *** | ||
+ | ... | ||
+ | # define DefaultCCOptions -fPIC | ||
+ | | | | | ||
+ | V V V | ||
+ | # define DefaultCCOptions / | ||
+ | ... | ||
+ | # | ||
+ | | | | | ||
+ | V V V | ||
+ | # | ||
+ | ... | ||
+ | |||
+ | $ emacs ~/ | ||
+ | *** Edit Line 390 as below *** | ||
+ | ... | ||
+ | #if __GNUC__ == 4 | ||
+ | | | | | ||
+ | V V V | ||
+ | #if __GNUC__ == 7 | ||
+ | |||
+ | - Install_cernlib を書き換え | ||
+ | |||
+ | $ emacs ~/ | ||
+ | *** Edit Line 13-15, and 33 as below *** | ||
+ | ... | ||
+ | echo " | ||
+ | | ||
+ | ./ | ||
+ | | | | | ||
+ | V V V | ||
+ | #echo " | ||
+ | # | ||
+ | # | ||
+ | ... | ||
+ | [ " | ||
+ | | | | | ||
+ | V V V | ||
+ | [ " | ||
+ | |||
+ | - インストールの実行 | ||
+ | |||
+ | $ ./ | ||
+ | |||
+ | |||
==== CentOS 7 ==== | ==== CentOS 7 ==== | ||
行 7: | 行 149: | ||
$ wget http:// | $ wget http:// | ||
$ wget http:// | $ wget http:// | ||
- | $ wget http:// | + | $ wget http:// |
- | $ wget http:// | + | $ wget http:// |
- | $ wget http:// | + | $ wget http:// |
- | $ wget http:// | + | $ wget http:// |
- | $ wget http:// | + | $ wget http:// |
$ su | $ su | ||
+ | # yum remove compat-libf2c-34 | ||
# yum localinstall compat-libf2c-34-3.4.6-19.el6.x86_64.rpm | # yum localinstall compat-libf2c-34-3.4.6-19.el6.x86_64.rpm | ||
# yum localinstall compat-gcc-34-3.4.6-19.el6.x86_64.rpm | # yum localinstall compat-gcc-34-3.4.6-19.el6.x86_64.rpm | ||
行 47: | 行 190: | ||
==== Shared Library ==== | ==== Shared Library ==== | ||
- | * CERN program library はそもそも shared library (lib***.so) をサポートしないらしい(参考: | + | * CERN program library はそもそも shared library (lib*.so) をサポートしないらしい(参考: |