DetCharマシン (Scientific Linux 6.1) ==================================== Author: Takahiro Yamamoto Date: 2013/12/27 Table of Contents ================= 1 '13/12/27 1.1 環境 1.2 ユーザーアカウント 1.3 事前準備 1.4 GHCのインストール 1.5 Haskell Platformのインストール 1.6 Haskell GUI環境のインストール(GTK) 2 '14/1/6 2.1 その他Cライブラリで必要そうな物 2.2 ROOT環境のインストール 2.3 HROOTのインストール 2.4 ユーザーアカウント 2.5 Webアプリ開発環境(yesod) 3 '14/1/7 3.1 haskellライブラリのグローバル化 3.2 ユーザー間の共有ディレクトリ野作成 3.3 プロットツールのインストール(chart) 3.4 線形代数ライブラリのインストール(hmatrix) 4 '14/1/8 4.1 リポジトリの追加 4.2 hmatrixの手動ビルド 4.3 libframeのインストール 5 '14/1/10 5.1 LALのインストール 1 '13/12/27 ------------ 1.1 環境 ========= - Mac上での開発は非効率なのでLinuxマシンを用意 - OS: Scientific Linux 6.1 (64bit) - CPU: AMD Sempron 3400+ (1.8GHz) - RAM: 1GB (PC2-5300) - HDD: 120GB 1.2 ユーザーアカウント ======================= - detchar, yamamotoを作った - detcharのみをsudoerに設定 1.3 事前準備 ============= - CコンパイラやCライブラリのインストール $ yum install gcc.x86_64 $ yum install gcc-c++.x86_64 $ yum install zlib-devel.x86_64 $ yum install freeglut-devel.x86_64 $ yum install glib2-devel.x86_64 $ yum install cairo-devel.x86_64 $ yum install pango-devel.x86_64 $ yum install gtk2-devel.x86_64 1.4 GHCのインストール ====================== - [http://www.haskell.org/ghc/] より適当なソースをダウンロード - 今回は v7.6.3 $ ./configure --prefix=/opt/work/ghc-7.6.3 $ make $ make install 1.5 Haskell Platformのインストール =================================== - 要ghc - [http://www.haskell.org/platform/] より適当なソースをダウンロード - 今回は v2013.2.0.0 $ ./configure --prefix=/opt/work/haskell-platform-2013.2.0.0 $ make $ make install 1.6 Haskell GUI環境のインストール(GTK) ======================================= - 全ユーザー用にインストールする場合は --global をつける $ cabal update $ cabal install gtk2hs-buildtools $ cabal install cairo gio glib pango $ cabal install gtk 2 '14/1/6 ---------- 2.1 その他Cライブラリで必要そうな物 ==================================== $ yum install fftw.x86_64 $ yum install fftw-devel.x86_64 $ yum install gsl.x86_64 $ yum install gsl-devel.x86_64 2.2 ROOT環境のインストール =========================== - [http://root.cern.ch/drupal/content/production-version-532] よりバイナリ版をインストール - HROOTとの互換性から最新版ではなく v5.32.04 - libssl.so.6 と libcrypto.so.6が無いようなら以下のシンボリックリンクを張っておく $ sudo ln -s /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6 $ sudo ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6 - ライブラリの有無は以下のコマンドで調べられる $ /sbin/ldconfig -p | egrep 'libssl|libcrypto' 2.3 HROOTのインストール ======================== $ cabal install HROOT - Mac環境と違って、ソースの書き換え等はせずに済んだ 2.4 ユーザーアカウント ======================= - kazuの追加 - 現状detchar(sudoer), yamamoto, kazuの3アカウント 2.5 Webアプリ開発環境(yesod) ============================= $ cabal install yesod-platform $ cabal install yesod-bin 3 '14/1/7 ---------- 3.1 haskellライブラリのグローバル化 ==================================== - cabalでのinstallを全ユーザが参照出来るディレクトリに対して行う - '--global'オプションをつけてcabal installする $ sudo env PATH=$PATH cabal install gtk2hs-buildtools --global - sudo時に環境変数が引き継がれないようで、env PATH=$PATH が無いとghc, cabalを見つけてくれなかった。 - インストールしたもの $ sudo env PATH=$PATH cabal install gtk2hs-buildtools --global $ sudo env PATH=$PATH cabal install cairo gio glib pango --global $ sudo env PATH=$PATH cabal install gtk --global $ sudo env PATH=$PATH cabal install yesod-platform --global $ sudo env PATH=$PATH cabal install yesod-bin --global 3.2 ユーザー間の共有ディレクトリ野作成 ======================================= - /home/Shared を作成 drwxrwx---. 2 detchar detchar 4096 1月 7 20:36 2014 Shared 3.3 プロットツールのインストール(chart) ======================================== $ sudo env PATH=$PATH cabal install chart --global $ sudo env PATH=$PATH cabal install chart-gtk --global - chart-gtk のインストール時点でchart-cairoもインストールされた 3.4 線形代数ライブラリのインストール(hmatrix) ============================================== $ sudo env PATH=$PATH cabal install hmatrix --global - LAPACKが無いと言われるのでインストールする $ sudo yum install lapack.x86_64 $ sudo yum install lapack-devel.x86_64 - 再度インストール [36 of 36] Compiling Graphics.Plot ( lib/Graphics/Plot.hs, dist/build/Graphics/Plot.o ) lib/Numeric/GSL/gsl-aux.c: In function ‘integrate_cquad’: lib/Numeric/GSL/gsl-aux.c:809:0: error: ‘gsl_integration_cquad_workspace’ undeclared (first use in this function) lib/Numeric/GSL/gsl-aux.c:809:0: error: (Each undeclared identifier is reported only once lib/Numeric/GSL/gsl-aux.c:809:0: error: for each function it appears in.) lib/Numeric/GSL/gsl-aux.c:809:0: error: ‘wk’ undeclared (first use in this function) lib/Numeric/GSL/gsl-aux.c:809:0: 警告: implicit declaration of function ‘gsl_integration_cquad_workspace_alloc’ lib/Numeric/GSL/gsl-aux.c:813:0: 警告: implicit declaration of function ‘gsl_integration_cquad’ lib/Numeric/GSL/gsl-aux.c:815:0: 警告: implicit declaration of function ‘gsl_integration_cquad_workspace_free’ Failed to install hmatrix-0.15.2.0 cabal: Error: some packages failed to install: hmatrix-0.15.2.0 failed during the building phase. The exception was: ExitFailure 1 - 'gsl_integration_cquad'というのがgsl-1.16で追加された関数らしいが、インストール済みのものはgsl-1.13 - 標準リポジトリ(sl)では最新がgsl-1.13らしいのでリポジトリの追加が必要 - EPELというリポジトリが割と有名らしいので明日はこれを追加して再度インストールする 4 '14/1/8 ---------- 4.1 リポジトリの追加 ===================== - gsl-1.16以上を手に入れるためリポジトリを追加する - 有名らしい3つのリポジトリを追加した $ wget [http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm] $ wget [http://rpms.famillecollet.com/enterprise/remi-release-6.rpm] $ wget [http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm] $ rpm --upgrade --verbose --hash epel-release-6-8.noarch.rpm remi-release-6.rpm rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm - デフォルト無効にする - /etc/yum.repos.d/以下にある epel.repo, remi.repo, rpmforge.repoをテキストエディタで開いてenable=0にする - リポジトリに含まれるgslの情報確認 $ yum --enablerepo=epel,remi,rpmforge info gsl - これらではgsl-1.16以上が提供されていなかった 4.2 hmatrixの手動ビルド ======================== - [http://hackage.haskell.org/package/hmatrix-0.14.0.1] から適当なバージョンをダウンロード - gsl-1.16リリース前という事で、今回は0.14.0.1 $ runhaskell Setup configure $ runhaskell Setup build $ sudo env PATH=$PATH runhaskell Setup install 4.3 libframeのインストール =========================== - LALのリポジトリを利用する - [https://www.lsc-group.phys.uwm.edu/daswg/download/repositories.html] Scientific Linuxの項を参考にリポジトリを追加する。 $ sudo yum install libframe.x86_64 $ sudo yum install libframe-devel.x86_64 $ sudo yum install libframe-utils.x86_64 $ sudo yum install libframe-matlab.x86_64 $ sudo yum install compat-libframe.x86_64 5 '14/1/10 ----------- 5.1 LALのインストール ====================== - [https://www.lsc-group.phys.uwm.edu/daswg/download/repositories.html] によると次のコマンドでインストールできる $ sudo yum clean all $ sudo yum groupinstall lscsoft-all - condor のv7.6以上が無いと言われるのでインストール $ sudo yum --enablerepo=htcondor-stable install condor - lsc-softインストール時にlibframeがインストールされるので以前入れた物をアンインストール $ sudo yum install compat-libframe.x86_64 $ sudo yum install libframe-matlab.x86_64 $ sudo yum install libframe-utils.x86_64 $ sudo yum install libframe-devel.x86_64 $ sudo yum install libframe.x86_64 - 改めてインストール $ sudo yum groupinstall lscsoft-all - 必要な外部ライブラリは/usr/lib64 にLSCソフトは/opt/lscsoft に入った