Geant4 installation on WIN32 with VC
2005.05.03 Version by Fut:
Since 2005.4.22

 Geant4環境構築のまとめ。

Index Top

ダウンロード

  1. Geant4ツールキットシステム本体のソースパッケージ“geant4_7_0.zip”を、 『Getting started with Geant4 v7.0 using MSVC++ .NET 2003』 のページより入手。
    http://geant4.cern.ch/geant4/source/source/geant4_7_0.zip
  2. Geant4システム本体のパッチ01適用パッケージGeant4 v7.0 patch 01“geant4_7_0_p01.zip”は、 『GEANT4 - Source』 のページより入手。(理由: 『Getting started …』 ページに記載されているリンクは誤っているから。)
    http://geant4.cern.ch/geant4/source/source/geant4_7_0_p01.zip
  3. CLHEP - A Class Library for High Energy Physics) は、 “clhep-1.9.1.2-win32-vc71.tgz”を、 CLHEP配布キットのページ より入手。(この版が良い。)
    http://proj-clhep.web.cern.ch/proj-clhep/DISTRIBUTION/distributions/clhep-1.9.1.2-win32-vc71.tgz
  4. 全てのinclude file (*.h 、*.hh 、 *.icc)は 1つのディレクトリに入れるとのことであるが、 このディレクトリのアーカイブ“g4_7_0_p01_include.zip”は 『Getting started …』 ページより入手できる。
    http://www.lcsim.org/docs/gettingstarted/geant4msvc++/net2003/geant4_7_0_p01/g4_7_0_p01_include.zip
  5. MSVC++ .NET統合環境でGeant4の静的ライブラリを生成するための、 各プロジェクトファイル群を含んだソリューションファイルパッケージ “g4_7_0_projects.zip”は、 『Getting started …』 ページより入手できる。
    http://www.lcsim.org/docs/gettingstarted/geant4msvc++/net2003/geant4_7_0/g4_7_0_projects.zip

展開と設置

  1. Geant4のパスは、ドライブレターから近い表現となるようにする。 そして、そのディレクトリ記法はCygwin体系の中でも「C:…」とする。 理由はコンパイルやリンクをする際に参照をする主体によってうまくいかないことがあるから。 Cygwinの正式な表記法は『/cygdrive/c』であるが、 これと「C:」は等価に扱われるようだ。
    ここでは、Geant4ツールキットシステム本体は“C:/g4/”以下に、 CLHEPは“C:/Clhep/”以下に設置することにした。
  2. Geant4ツールキットシステム本体の展開・設置;
    $ mkdir -p C:/g4
    $ unzip geant4_7_0.zip -d C:/g4
    $ unzip geant4_7_0_p01.zip
    $ cd geant4_7_0_p01
    $ cp -fRp * C:/g4/geant4_7_0/
    $ cd ..
    $ rm -rf geant4_7_0_p01
    
  3. include file のディレクトリは「G4INSTALL」直下に設置;
    $ unzip g4_7_0_p01_include.zip -d C:/g4/geant4_7_0
    
  4. CLHEPの展開・設置;
    $ mkdir -p C:/Clhep/clhep-1.9.1.2-win32-vc71
    $ tar zxvf clhep-1.9.1.2-win32-vc71.tgz -C C:/Clhep/clhep-1.9.1.2-win32-vc71
    
  5. ソリューションホルダを設置(これは本来どこでも構わない筈);
    $ unzip g4_7_0_projects.zip -d C:/g4/geant4_7_0
    

Geant4ツールキットシステム本体ライブラリのビルド

  1. プロジェクト一式ディレクトリ中のバッチファイルを編集する;
  2. バッチファイル中の編集項目(2箇所);
    set G4INSTALL=C:\g4\geant4_7_0
    set CLHEP_BASE_DIR=C:\Clhep\clhep-1.9.1.2-win32-vc71
    
  3. 本体ライブラリのビルド開始 (上記バッチファイルをダブルクリックしてソリューションファイルを起動);
  4. ビルド成功;
  5. 生成したライブラリとその在り処;

ユーザプログラムの作成(“初心者例題N01”の実例)

Getting started with MSVC++.Net』 のページに書かれているようにやればよい。 と、独自に試行錯誤した結果を以下にまとめた。 (結果的に、後にその存在に気が付いた 『Building your own Geant4 project using MSVC++ .NET 2003』 のページに書かれている内容とほぼ同じになった。 多少異なっている箇所があるが、それに関しての考察は今後の課題とする。)

  1. 統合環境の起動;
  2. 新規プロジェクトを作成(メニューから作成する方法の例);
  3. 新規プロジェクトはWIN32アプリケーションとして作成;
  4. アプリケーションの設定(コンソールアプリケーションの例);

    コンソールアプリケーション、DLL、スタティックライブラリのどれかを選択せよとのこと。
    また、空のプロジェクトを選べとのこと。
  5. プロジェクトへ既存ソースファイルの追加
    1. main()関数」を含むソースファイルの拡張子を “.cpp”とする;
      $ cd C:/g4/geant4_7_0/examples/novice/N01
      $ cp exampleN01.cc exampleN01.cpp
      
      理由:この拡張子のソースファイルがプロジェクトに加わっていないと、 プロジェクトのプロパティーページの項目に『C/C++』が現われないから。
    2. ソースファイル追加画面(右クリックで操作する例);
    3. cppファイルの追加(C:\g4\geant4_7_0\examples\novice\N01\);
    4. 残りのccファイルの追加(C:\g4\geant4_7_0\examples\novice\N01\src\;〔CNTROL+A〕でフォルダ内ファイル全選択);
    5. ソースファイル追加の結果;
    6. cc拡張子ソースファイルの問題点(ソースファイルとして認識されない);
  6. ヘッダファイルの追加 (追加のインクルードディレクトリに登録すれば、 個々のファイルをプロジェクトに追加しなくてもよさそう。 少なくとも現在までのところでは…)
  7. プロジェクトのプロパティー設定
    1. プロジェクトのプロパティーページを開く(右クリックで操作する例);
    2. 開いた直後のプロジェクトのプロパティーページ (『C/C++』項目があることを確認する  ⇒なければ拡張子 .cpp を持つソースファイルをプロジェクトに追加する);
    3. C/C++全般及び追加インクルードディレクトリの設定;
    4. [C/C++]プリプロセッサの定義;
    5. [C/C++]コード生成のランタイムライブラリ選択 (マルチスレッドDLL(/MD)か、マルチスレッドデバッグDLL(/MDd)を選ばないと コンパイル・リンク時にうまくいかなかった);
    6. [C/C++]コード生成の設定;
    7. [C/C++]言語の設定;
    8. [C/C++]コマンドラインの設定;
    9. リンカ全般及び追加ライブラリディレクトリの設定;
    10. [リンカ]入力及び追加依存ファイルの設定(Cygwin端末の機能を使うと便利);
      $ cd C:/g4/geant4_7_0/v7.0/lib
      $ /usr/bin/ls -1
      
      G4FR.lib
      G4OpenGL.lib
      G4RayTracer.lib
      G4Tree.lib
      G4UIGAG.lib
      G4UIbasic.lib
      G4UIcommon.lib
      G4VRML.lib
      G4baryons.lib
      G4bosons.lib
      G4brep.lib
      G4csg.lib
      G4cuts.lib
      G4decay.lib
      G4detector.lib
      G4digits.lib
      G4emhighenergy.lib
      G4emlowenergy.lib
      G4emstandard.lib
      G4emutils.lib
      G4event.lib
      G4geomBoolean.lib
      G4geombias.lib
      G4geomdivision.lib
      G4geometrymng.lib
      G4gflash.lib
      G4globman.lib
      G4graphics_reps.lib
      G4had_im_r_matrix.lib
      G4had_mod_man.lib
      G4had_mod_util.lib
      G4had_muon_nuclear.lib
      G4had_neu_hp.lib
      G4had_preequ_exciton.lib
      G4had_string_diff.lib
      G4had_string_frag.lib
      G4had_string_man.lib
      G4had_theo_max.lib
      G4hadronic_HE.lib
      G4hadronic_LE.lib
      G4hadronic_ablation.lib
      G4hadronic_abrasion.lib
      G4hadronic_bert_cascade.lib
      G4hadronic_binary.lib
      G4hadronic_body_ci.lib
      G4hadronic_coherent_elastic.lib
      G4hadronic_deex_evaporation.lib
      G4hadronic_deex_fermi_breakup.lib
      G4hadronic_deex_fission.lib
      G4hadronic_deex_gem_evaporation.lib
      G4hadronic_deex_handler.lib
      G4hadronic_deex_management.lib
      G4hadronic_deex_multifragmentation.lib
      G4hadronic_deex_photon_evaporation.lib
      G4hadronic_deex_util.lib
      G4hadronic_em_dissociation.lib
      G4hadronic_hetcpp_evaporation.lib
      G4hadronic_hetcpp_utils.lib
      G4hadronic_interface_ci.lib
      G4hadronic_iso.lib
      G4hadronic_leading_particle.lib
      G4hadronic_mgt.lib
      G4hadronic_proc.lib
      G4hadronic_qgstring.lib
      G4hadronic_radioactivedecay.lib
      G4hadronic_stop.lib
      G4hadronic_util.lib
      G4hadronic_xsect.lib
      G4hepnumerics.lib
      G4hits.lib
      G4intercoms.lib
      G4ions.lib
      G4leptons.lib
      G4magneticfield.lib
      G4materials.lib
      G4mesons.lib
      G4modeling.lib
      G4muons.lib
      G4navigation.lib
      G4optical.lib
      G4parameterisation.lib
      G4partman.lib
      G4partutils.lib
      G4persistency.lib
      G4procman.lib
      G4readout.lib
      G4run.lib
      G4shortlived.lib
      G4specsolids.lib
      G4track.lib
      G4tracking.lib
      G4transportation.lib
      G4trdmodels.lib
      G4visHepRep.lib
      G4visXXX.lib
      G4vis_management.lib
      G4volumes.lib
      G4xrays.lib
      
      $ cd C:/Clhep/clhep-1.9.1.2-win32-vc71/lib
      $ /usr/bin/ls -1 *.lib
      
      libCLHEP-1.9.1.2.lib
      libCLHEP-Cast-1.9.1.2.lib
      libCLHEP-Evaluator-1.9.1.2.lib
      libCLHEP-Exceptions-1.9.1.2.lib
      libCLHEP-GenericFunctions-1.9.1.2.lib
      libCLHEP-Geometry-1.9.1.2.lib
      libCLHEP-HepMC-1.9.1.2.lib
      libCLHEP-HepPDT-1.9.1.2.lib
      libCLHEP-Matrix-1.9.1.2.lib
      libCLHEP-Random-1.9.1.2.lib
      libCLHEP-RandomObjects-1.9.1.2.lib
      libCLHEP-RefCount-1.9.1.2.lib
      libCLHEP-StdHep-1.9.1.2.lib
      libCLHEP-Vector-1.9.1.2.lib
      
      (注※:ないものやシンボリックリンクを指定してはいけない。 コピー時にシッポ切れに注意。)
  8. ソリューションのビルド;
  9. ソリューションのビルド成功;
  10. 試しの実行;

同様のビルド練習(他の例題)

初心者例題N02

  1. 前題のプロジェクトファイル“exampleN01.vcproj”を 別フォルダ“exampleN02”にコピーして別名“exampleN02.vcproj”にする。
  2. ダブルクリックで統合環境を起動。
  3. ソリューションエクスプローラで、 『exampleN01』⇒“exampleN02”と変更
  4. プロジェクトのプロパティーページを修正
    1. 「構成:」を“すべての構成”で修正するとよいかも。
    2. 「「C/C++;全般」追加のインクルードディレクトリ」 『C:\g4\geant4_7_0\examples\novice\N01\include』 ⇒“C:\g4\geant4_7_0\examples\novice\N02\include
    3. 「「リンカ;全般」出力ファイル」 『$(OutDir)/exampleN01.exe』 ⇒“$(OutDir)/exampleN02.exe
    4. [適用]を押した後、「構成:」を“アクティブ(Debug)”に戻し、 「「リンカ;デバッグ」プログラム データベース ファイルの生成」 『$(OutDir)/exampleN01.pdb』 ⇒“$(OutDir)/exampleN02.pdb
  5. ソースファイル登録
    1. .cpp ファイル準備。
      $ cd C:/g4/geant4_7_0/examples/novice/N02
      $ cp exampleN02.cc exampleN02.cpp
      
    2. .cpp ソースファイル追加
    3. 「*N01*.*」のソースファイル削除;
    4. srcフォルダにある残りのソースファイルを追加する。
      ExN02ChamberParameterisation.cc
      ExN02DetectorConstruction.cc
      ExN02DetectorMessenger.cc
      ExN02EventAction.cc
      ExN02MagneticField.cc
      ExN02PhysicsList.cc
      ExN02PrimaryGeneratorAction.cc
      ExN02RunAction.cc
      ExN02SteppingAction.cc
      ExN02SteppingVerbose.cc
      ExN02TrackerHit.cc
      ExN02TrackerSD.cc
      ExN02VisManager.cc
      
  6. ソリューションのビルド。
  7. マクロファイル“ vis.mac ”をコピー。
    $ pwd
    /cygdrive/c/pub/example/novice/N02/exampleN02
    $ cp C:/g4/geant4_7_0/examples/novice/N02/vis.mac .
    
  8. vis.mac ”を編集。
    $ diff -u original_vis.mac vis.mac
    --- original_vis.mac    2005-04-25 19:13:06.046875000 +0900
    +++ vis.mac     2005-04-25 19:13:30.796875000 +0900
    @@ -14,9 +14,9 @@
     # Create a scene handler for a specific graphics system
     # (Edit the next line(s) to choose another graphic system)
     #
    -/vis/open OGLIX
    +#Fut#/vis/open OGLIX
     #
    -####/vis/open DAWNFILE
    +/vis/open DAWNFILE
     #
     # draw scene
     #
    
  9. 問題点保留状態):gvが起動しない⇒要設定確認。 ⇒ほぼ解消(2005.5.3)。

他の初心者例題

  1. 初心者例題N03:「初心者例題N02」と同様に進めればよい。
  2. 初心者例題N04:Physics_list「hadronic」の整備が必要だった。
    1. hadronic / plists ライブラリ」の構築。
      1. Geant4ツールキットシステム本体を流用してみる。
        $ unzip g4_7_0_projects.zip -d C:/g4/geant4_7_0/physics_lists/
        
        注※)深い階層のホルダだとバッチファイルが実行できない。(なぜ?)
      2. 名前の変更(したところで、中身の依存関係の登録状況は変わらないようだが…)
        バッチファイル:VC++Setup.bat⇒VC++Setup_had.bat
        ソリューションファイル:G4MSVC++.Net.sln⇒G4hadMSVC++.Net.sln
        
      3. バッチファイルの編集
        set G4INSTALL=F:\g4\geant4_7_0
        ↓
        set G4INSTALL=C:\g4\geant4_7_0
        
        set CLHEP_BASE_DIR=C:\clhep\1.8.1.0
        ↓
        set CLHEP_BASE_DIR=C:\Clhep\clhep-1.9.1.2-win32-vc71
        
        start devenv G4MSVC++.Net.sln
        ↓
        start devenv G4hadMSVC++.Net.sln
        
      4. projects フォルダ中にある 「*.vcproj」プロジェクトファイルは、1つを残して消してしまってよい。 (但し、統合環境を起動する際には、以前の依存関係の登録が残っているので 100位のエラーポップアップが出る。)
      5. projects フォルダ中で、 1つ残した「*.vcproj」プロジェクトファイルをコピーして、 必要なプロジェクトファイルを作成する。 ファイル名は「G4FTFC.vcproj」のようにすることにした。
        この時点でテキストエディタにてこのファイルの中身を適切に編集してもよいが、 かえって煩雑なので主に統合環境中で行なうことにした。 (ただ、テキストエディタの文字列検索にて修正し忘れている語句を確認することは 有効と思われる。)
      6. 全てのヘッダファイルを1つのホルダにコピーする。
        $ /usr/bin/ls C:/g4/geant4_7_0/physics_lists/hadronic/plists/include -1
        CompileTimeConstraints.hh
        EMPhysics.hh
        EM_GNPhysics.hh
        FTFC.hh
        FTFC.icc
        FTFP.hh
        FTFP.icc
        G4BertiniNeutronBuilder.hh
        G4BertiniPiKBuilder.hh
        G4BertiniProtonBuilder.hh
        G4BinaryNeutronBuilder.hh
        G4BinaryPiKBuilder.hh
        G4BinaryProtonBuilder.hh
        G4DataQuestionaire.hh
        G4EMBuilder.hh
        G4EMTailorer.hh
        G4ElectroNuclearBuilder.hh
        G4FTFCNeutronBuilder.hh
        G4FTFCPiKBuilder.hh
        G4FTFCProtonBuilder.hh
        G4FTFPNeutronBuilder.hh
        G4FTFPPiKBuilder.hh
        G4FTFPProtonBuilder.hh
        G4HadronQEDBuilder.hh
        G4LEADNeutronBuilder.hh
        G4LEADPiKBuilder.hh
        G4LEADProtonBuilder.hh
        G4LEPNeutronBuilder.hh
        G4LEPPiKBuilder.hh
        G4LEPProtonBuilder.hh
        G4LHEPNeutronBuilder.hh
        G4LHEPPiKBuilder.hh
        G4LHEPProtonBuilder.hh
        G4MiscLHEPBuilder.hh
        G4NeutronBuilder.hh
        G4NeutronHPBuilder.hh
        G4PiKBuilder.hh
        G4PrecoNeutronBuilder.hh
        G4PrecoProtonBuilder.hh
        G4ProtonBuilder.hh
        G4QGSCNeutronBuilder.hh
        G4QGSCPiKBuilder.hh
        G4QGSCProtonBuilder.hh
        G4QGSPNeutronBuilder.hh
        G4QGSPPiKBuilder.hh
        G4QGSPProtonBuilder.hh
        G4StoppingHadronBuilder.hh
        G4VNeutronBuilder.hh
        G4VPiKBuilder.hh
        G4VProtonBuilder.hh
        GeneralPhysics.hh
        HadronPhysicsFTFC.hh
        HadronPhysicsFTFP.hh
        HadronPhysicsLHEP.hh
        HadronPhysicsLHEP_BERT.hh
        HadronPhysicsLHEP_BERT_HP.hh
        HadronPhysicsLHEP_BIC.hh
        HadronPhysicsLHEP_BIC_HP.hh
        HadronPhysicsLHEP_GN.hh
        HadronPhysicsLHEP_HP.hh
        HadronPhysicsLHEP_LEAD.hh
        HadronPhysicsLHEP_LEAD_HP.hh
        HadronPhysicsLHEP_PRECO.hh
        HadronPhysicsLHEP_PRECO_HP.hh
        HadronPhysicsQGSC.hh
        HadronPhysicsQGSC_LEAD.hh
        HadronPhysicsQGSC_LEAD_HP.hh
        HadronPhysicsQGSP.hh
        HadronPhysicsQGSP_BERT.hh
        HadronPhysicsQGSP_BIC.hh
        HadronPhysicsQGSP_HP.hh
        IonPhysics.hh
        LBE.hh
        LBE.icc
        LHEP.hh
        LHEP.icc
        LHEP_BERT.hh
        LHEP_BERT.icc
        LHEP_BERT_HP.hh
        LHEP_BERT_HP.icc
        LHEP_BIC.hh
        LHEP_BIC.icc
        LHEP_BIC_HP.hh
        LHEP_BIC_HP.icc
        LHEP_GN.hh
        LHEP_GN.icc
        LHEP_HP.hh
        LHEP_HP.icc
        LHEP_LEAD.hh
        LHEP_LEAD.icc
        LHEP_LEAD_HP.hh
        LHEP_LEAD_HP.icc
        LHEP_PRECO.hh
        LHEP_PRECO.icc
        LHEP_PRECO_HP.hh
        LHEP_PRECO_HP.icc
        MaxTimeCuts.hh
        MinEkineCuts.hh
        MuonPhysics.hh
        ParticleCodeMap.hh
        PortingDisclaimer.hh
        QGSC.hh
        QGSC.icc
        QGSC_LEAD.hh
        QGSC_LEAD.icc
        QGSC_LEAD_HP.hh
        QGSC_LEAD_HP.icc
        QGSP.hh
        QGSP.icc
        QGSP_BERT.hh
        QGSP_BERT.icc
        QGSP_BIC.hh
        QGSP_BIC.icc
        QGSP_GN.hh
        QGSP_GN.icc
        QGSP_HP.hh
        QGSP_HP.icc
        SpecialCuts.hh
        TheoModelFactory.hh
        plist.tmp
        
        注※)「 QGSP/include/HadronPhysicsQGSP.hh 」と 「 QGSP_GN/include/HadronPhysicsQGSP.hh 」は同じもの。
      7. 上記ヘッダファイルを $G4INSTALL/include ディレクトリ (C:/g4/geant4_7_0/include)に全部コピーしてしまう。(幸い重複ファイル名はないようだ。)
      8. バッチファイルをダブルクリックして統合環境を起動する。
      9. 先ほどコピーで作成したプロジェクトファイルを追加する。;
      10. プロジェクト名を修正する(右クリック)。
      11. プロジェクトのプロパティを修正する。 「構成:」を“すべての構成”で行なう。
        1. 「「構成プロパティ;全般」出力ディレクトリ」 『../lib』 ⇒“../../hadronic/plists/lib” であることの確認(一度設定したら、それをコピーすることにより プロジェクトごとの修正は不要)。
        2. 「「ライブラリアン;全般」出力ファイル」 ⇒プロジェクト毎にライブラリ名を修正して設定する
      12. ソースファイルを入れ替える(右クリック)。
      13. プロジェクトをビルドして確認する(右クリック)。よさそうならば 不要となったGeant4ツールキットシステム本体用のプロジェクトファイルは削除。
      14. 統合環境からは修正できない(気がする) Debugフォルダに生成するファイル名指定の修正点は次の2点。
        1. ObjectFile="$(IntDir)\G4☆★☆★\"
        2. ProgramDataBaseFileName="$(IntDir)\G4☆★☆★.pdb"
      15. プロジェクトファイルの修正は次のように行なうほうが紛れが少ないかも知れない。
        $ cp C:/g4/geant4_7_0/v7.0/projects/G4visXXX.vcproj G4LHEP_BIC.vcproj
        $ vi G4LHEP_BIC.vcproj
        :%s/visXXX/LHEP_BIC/g
        
        その後、IDEで『../lib』⇒“../../hadronic/plists/lib”及びソースファイル修正登録。
    2. 出来たhadronicライブラリを追加のライブラリとして登録する。;
    3. 出来たhadronicライブラリを追加の依存ファイルとして登録する。;
      $ cd C:/g4/geant4_7_0/physics_lists/hadronic/plists/lib
      $ /usr/bin/ls -1
      G4FTFC.lib
      G4FTFP.lib
      G4LBE.lib
      G4LHEP.lib
      G4LHEP_BERT.lib
      G4LHEP_BERT_HP.lib
      G4LHEP_BIC.lib
      G4LHEP_BIC_HP.lib
      G4LHEP_GN.lib
      G4LHEP_HP.lib
      G4LHEP_LEAD.lib
      G4LHEP_LEAD_HP.lib
      G4LHEP_PRECO.lib
      G4LHEP_PRECO_HP.lib
      G4Packaging.lib
      G4QGSC.lib
      G4QGSC_LEAD.lib
      G4QGSC_LEAD_HP.lib
      G4QGSP.lib
      G4QGSP_BERT.lib
      G4QGSP_BIC.lib
      G4QGSP_GN.lib
      G4QGSP_HP.lib
      
    visシステム関連の不具合があり、うまく動かない。 保留とする。
  3. 初心者例題N05:「初心者例題N02」と同様に進めればよい。
  4. 初心者例題N06:「初心者例題N02」と同様に進めればよい。
  5. 初心者例題N07:ビルドは出来るがやはりvis関連の深刻な不具合…。 保留
  6. 発展例題ハドロン治療:基本的に「初心者例題N04」と同様だが、 コンパイル時にエラーが生じた。 ソースファイル、ヘッダファイルに次の3種類の訂正を行なう。
    #include <iomanip.h>
    ↓
    #include <iomanip>
    
    #include <iostream.h>
    ↓
    #include <iostream>
    
    (「 Hadrontherapy.cpp 」の『 int main(int argc,char** argv) { 』行の前に次の行を追加)
    #include <ctime>
    
    前2者は複数のファイルに訂正が必要であるが、 IDEによるコンパイルエラーのレポートをダブルクリックすると 必要箇所にすばやく移動できる。
    添付の「defaultMacro.mac」実行結果;
    但し、実行ファイル終了時に 『…0x77f813b1 でハンドルされていない例外が発生しました…』 というエラーポップアップが出た。 (「free.c」の箇所に問題があるようだ。)

⇒ いろいろやったけど、細部に立ち入らない状態での環境整備はこのあたりが限界。 〔dawnが呼び出されるまで。但しgvは起動しない。また、vis関係手付かず。特にopenGL。〕 発展例題のハドロン治療までは動作させたしたので、… 最低限のバッラック作業はこの状態でやるか?

gv(GSview)の自動起動

以下未整理





方針(『Getting started…』参照)

vsvars7.sh
  1. まず始めに、 geant4_7_0を、 『 Getting started…』に従ってインストールする。
  2. 次に、 geant4_7_0_p01を展開したもので置き換える。
  3. また、 CLHEP については、 『 Geant4 7.0 Release Notes』によれば、 “動作試験は CLHEP-1.8.1.0で行ない、 確認を CLHEP-1.9.1.2でも行なった” とのこと。  但し、 CLHEP配布キットのページでは CLHEP-2.0.1.1まで出ており、 この辺りの確認が課題。

具体的手順(『Getting started…』参照)

  1. include file (*.h 、*.hh 、 *.icc)
root@D7LQ4B1X ~/TMP/GEANT4/clhep $ tar -zvxf clhep-2.0.1.1.tgz root@D7LQ4B1X ~/TMP/GEANT4/clhep $ cd 2.0.1.1/ root@D7LQ4B1X ~/TMP/GEANT4/clhep/2.0.1.1 $ cd CLHEP/ root@D7LQ4B1X ~/TMP/GEANT4/clhep/2.0.1.1/CLHEP root@D7LQ4B1X ~/TMP/GEANT4/clhep/2.0.1.1/CLHEP $ cat ReadMe.cygwin-VC71
For the compilation under cygwin using VC 7.1 (Version 13.10.3077)
you have to make sure that the PATH contains the path to the
installation of Visual Studio .NET 2003, for example:

export VSPATH="/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003"

export PATH="/cygdrive/c/WINNT/Microsoft.NET/Framework/v1.1.4322":${PATH}

export PATH="${VSPATH}/SDK/v1.1/bin":${PATH}
export PATH="${VSPATH}/Common7/Tools/bin":${PATH}
export PATH="${VSPATH}/Common7/Tools/bin/prerelease":${PATH}
export PATH="${VSPATH}/Common7/Tools/":${PATH}

export PATH="${VSPATH}/Vc7/bin":${PATH}
export PATH="${VSPATH}/Common7/IDE":${PATH}


Before starting the build, you need to set up a
couple of environment variables as g++ (from
cygwin will otherwise be found and used):

export CPP='cl -E'
export CC='cl '
export CXXCPP='cl -E'
export CXX='cl '
export LD='cl '

The compiler also needs the following variables set up (and
as these are interpreted by the compiler, they have to be in
"windows-syntax"):

export INCLUDE="c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include;C
:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include"
export LIB="c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/lib;C:\Progra
m Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib"

You may have to adapt to your installation path, if different.

As the compiler will complain about this, we also set:
export CXXFLAGS='-EHsc'

That's it ! And since you read until here, you can shorten
the whole procedure by doing (from the build directory,
assuming it can reach the source by ../CLHEP):

source ../CLHEP/setup.cygwin-VC71

Please report problems using the bug-tracker of the
savannah portal at:

http://savannah.cern.ch/projects/clhep


root@D7LQ4B1X ~/TMP/GEANT4/clhep/2.0.1.1/CLHEP
root@D7LQ4B1X ~/TMP/GEANT4/clhep/2.0.1.1/CLHEP $ source ../CLHEP/setup.cygwin-VC71 root@D7LQ4B1X ~/TMP/GEANT4/clhep/2.0.1.1/CLHEP $ ./configure configure: error: invalid variable name: CC configure: error: /bin/bash './configure' failed for Units …(2はここまで。⇒だめだった) ☆以下;うまくいった! (以下、1.9.1.2!) 同様に… $ pwd /home/Administrator/TMP/GEANT4/clhep root@D7LQ4B1X ~/TMP/GEANT4/clhep $ date Thu Apr 7 15:52:46 2005 root@D7LQ4B1X ~/TMP/GEANT4/clhep $ tar -zxvf clhep-1.9.1.2.tgz root@D7LQ4B1X ~/TMP/GEANT4/clhep $ cd 1.9.1.2/ root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2 $ cd CLHEP/ ☆!! root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ export CLHEP_BASE_DIR="/usr/local" root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ printenv HOMEPATH=\Documents and Settings\Administrator MANPATH=/usr/local/mingw/man/:/usr/local/man:/usr/man:/usr/share/man:/usr/autoto ol/devel/man::/usr/ssl/man:/usr/X11R6/man APPDATA=C:\Documents and Settings\Administrator\Application Data HOSTNAME=D7LQ4B1X VS71COMNTOOLS=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\ TERM=cygwin PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel WINDIR=C:\WINNT LIBRARY_PATH=/myGTK/lib TEXDOCVIEW_txt=cygstart %s TEXDOCVIEW_dvi=cygstart %s XYZZYHOME=C:\futami\SW\xyzzy OLDPWD=/home/Administrator/TMP/GEANT4/clhep/1.9.1.2 USERDOMAIN=D7LQ4B1X OS=Windows_NT ALLUSERSPROFILE=C:\Documents and Settings\All Users OS2LIBPATH=C:\WINNT\system32\os2\dll; USER=root !::=::\ TEMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp COMMONPROGRAMFILES=C:\Program Files\Common Files LIB=C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\ USERNAME=Administrator TEXDOCVIEW_pdf=cygstart %s PROCESSOR_LEVEL=15 PATH=/home/Administrator/USR/CMD:/home/Administrator/USR/BIN:/usr/lib/subversion /bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/Program Files/DAWN: /myGTK/bin:/myGTK/lib:/cygdrive/c/futami/SW/picture/gvwin32/program/Ghostgum/gsv iew:/cygdrive/c/futami/SW/picture/gswin32/program/gs/gs7.07/bin:/cygdrive/c/futa mi/SW/script/tcltk/program/bin:/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin:/cygdrive/c/WINNT/system32:/cygdrive/c/WINNT:/cygdrive/c/WINN T/System32/Wbem:/cygdrive/c/Program Files/Common Files/Adaptec Shared/System:/cy gdrive/c/Program Files/Common Files/Microsoft Shared/VSA/7.1/VsaEnv:/usr/bin:/cy gdrive/c/futami/SW/php/program/php4Win32:/cygdrive/c/futami/SW/php/program/php4W in32/dlls PWD=/home/Administrator/TMP/GEANT4/clhep/1.9.1.2/CLHEP SYSTEMDRIVE=C: CYGWIN=server CLHEP_BASE_DIR=/usr/local LANG=ja_JP.SJIS TEXDOCVIEW_html=cygstart %s USERPROFILE=C:\Documents and Settings\Administrator PS1=\[\033]0;\w\007 \033[32m\]\u@\h \[\033[33m\w\033[0m\] $ LOGONSERVER=\\D7LQ4B1X PROCESSOR_ARCHITECTURE=x86 !C:=C:\Cygwin\root\bin MANPAGER=lv GDK_CONV=/home/Administrator/.gtk SHLVL=1 HOME=/home/Administrator PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.tcl HOMEDRIVE=C: LV=-Ks -Os -c PROMPT=$P$G COMSPEC=C:\WINNT\system32\cmd.exe TMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp SYSTEMROOT=C:\WINNT CVS_RSH=/bin/ssh PROCESSOR_REVISION=0209 PKG_CONFIG_PATH=/myGTK/lib/pkgconfig MAKE_MODE=unix TEXDOCVIEW_ps=cygstart %s INFOPATH=/usr/local/info:/usr/info:/usr/share/info:/usr/autotool/devel/info:/usr /autotool/stable/info: PROGRAMFILES=C:\Program Files TEXMF={/usr/share/lilypond/2.4.3,{!!/home/Administrator/.texmf/config,!!/home/Ad ministrator/.texmf/var,/home/Administrator/texmf,!!/usr/share/texmf,!!/var/lib/t exmf,!!/usr/share/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf}} NUMBER_OF_PROCESSORS=1 INCLUDE=C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include\ COMPUTERNAME=D7LQ4B1X _=/usr/bin/printenv ☆!! root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ source ../CLHEP/setup.cygwin-VC71 root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ printenv HOMEPATH=\Documents and Settings\Administrator MANPATH=/usr/local/mingw/man/:/usr/local/man:/usr/man:/usr/share/man:/usr/autoto ol/devel/man::/usr/ssl/man:/usr/X11R6/man APPDATA=C:\Documents and Settings\Administrator\Application Data CXXCPP=cl -E HOSTNAME=D7LQ4B1X VS71COMNTOOLS=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\ TERM=cygwin PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel WINDIR=C:\WINNT LIBRARY_PATH=/myGTK/lib TEXDOCVIEW_txt=cygstart %s TEXDOCVIEW_dvi=cygstart %s XYZZYHOME=C:\futami\SW\xyzzy OLDPWD=/home/Administrator/TMP/GEANT4/clhep/1.9.1.2 USERDOMAIN=D7LQ4B1X OS=Windows_NT ALLUSERSPROFILE=C:\Documents and Settings\All Users OS2LIBPATH=C:\WINNT\system32\os2\dll; USER=root !::=::\ TEMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp COMMONPROGRAMFILES=C:\Program Files\Common Files LIB=c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/lib;C:\Program Files\ Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib CXXFLAGS=-EHsc USERNAME=Administrator CPP=cl -E TEXDOCVIEW_pdf=cygstart %s PROCESSOR_LEVEL=15 PATH=/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Common7/IDE:/cy gdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin:/cygdrive/c/Pro gram Files/Microsoft Visual Studio .NET 2003/Common7/Tools/:/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Common7/Tools/bin/prerelease:/cygdrive/c /Program Files/Microsoft Visual Studio .NET 2003/Common7/Tools/bin:/cygdrive/c/P rogram Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/bin:/cygdrive/c/WINNT/Mi crosoft.NET/Framework/v1.1.4322:/home/Administrator/USR/CMD:/home/Administrator/ USR/BIN:/usr/lib/subversion/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cyg drive/c/Program Files/DAWN:/myGTK/bin:/myGTK/lib:/cygdrive/c/futami/SW/picture/g vwin32/program/Ghostgum/gsview:/cygdrive/c/futami/SW/picture/gswin32/program/gs/ gs7.07/bin:/cygdrive/c/futami/SW/script/tcltk/program/bin:/cygdrive/c/Program Fi les/Microsoft Visual Studio .NET 2003/Vc7/bin:/cygdrive/c/WINNT/system32:/cygdri ve/c/WINNT:/cygdrive/c/WINNT/System32/Wbem:/cygdrive/c/Program Files/Common File s/Adaptec Shared/System:/cygdrive/c/Program Files/Common Files/Microsoft Shared/ VSA/7.1/VsaEnv:/usr/bin:/cygdrive/c/futami/SW/php/program/php4Win32:/cygdrive/c/ futami/SW/php/program/php4Win32/dlls LD=cl PWD=/home/Administrator/TMP/GEANT4/clhep/1.9.1.2/CLHEP SYSTEMDRIVE=C: CYGWIN=server CLHEP_BASE_DIR=/usr/local LANG=ja_JP.SJIS TEXDOCVIEW_html=cygstart %s USERPROFILE=C:\Documents and Settings\Administrator PS1=\[\033]0;\w\007 \033[32m\]\u@\h \[\033[33m\w\033[0m\] $ LOGONSERVER=\\D7LQ4B1X PROCESSOR_ARCHITECTURE=x86 !C:=C:\Cygwin\root\bin CXX=cl VSPATH=/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003 MANPAGER=lv GDK_CONV=/home/Administrator/.gtk SHLVL=1 HOME=/home/Administrator PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.tcl HOMEDRIVE=C: LV=-Ks -Os -c PROMPT=$P$G COMSPEC=C:\WINNT\system32\cmd.exe TMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp SYSTEMROOT=C:\WINNT CVS_RSH=/bin/ssh PROCESSOR_REVISION=0209 PKG_CONFIG_PATH=/myGTK/lib/pkgconfig MAKE_MODE=unix TEXDOCVIEW_ps=cygstart %s INFOPATH=/usr/local/info:/usr/info:/usr/share/info:/usr/autotool/devel/info:/usr /autotool/stable/info: PROGRAMFILES=C:\Program Files CC=cl TEXMF={/usr/share/lilypond/2.4.3,{!!/home/Administrator/.texmf/config,!!/home/Ad ministrator/.texmf/var,/home/Administrator/texmf,!!/usr/share/texmf,!!/var/lib/t exmf,!!/usr/share/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf}} NUMBER_OF_PROCESSORS=1 INCLUDE=c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include;C:\Progra m Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include COMPUTERNAME=D7LQ4B1X _=/usr/bin/printenv ☆!! root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ ./configure ☆!!いちいち、全部のサブディレクトリに降りてコンフィグしてまわらないといけない!!!! $ cd Units/ $ ./configure $ cd .. $ make check $ cd Matrix/ $ ./configure $ cd .. $ make check $ cd Vector/ $ ./configure $ cd .. $ make check $ cd Evaluator/ $ ./configure $ cd .. $ make check $ cd GenericFunctions/ $ ./configure $make check $ cd Geometry/ $ ./configure $ cd ../Cast/ $ ./configure $ cd ../Exceptions/ $ ./configure $ cd ../HepMC/ $ ./configure $ cd ../HepPDT/ $ ./configure $ cd ../Random $ ./configure $ cd ../RandomObjects/ $ ./configure $ cd ../RefCount/ $ ./configure $ cd ../StdHep/ $ ./configure $ cd .. ☆!!!!今回はうまくいった。2もやりなおしてみるかな? $ make check make check-TESTS make[3]: Entering directory `/home/Administrator/TMP/GEANT4/clhep/2.0.1.1/CLHEP/ HepPDT/test' PASS: testPID.sh --------------- HepPDT Version 1.01.00 --------------- found 240 particles FAIL: testHepPDT.sh --------------- HepPDT Version 1.01.00 --------------- QQDecayTable::readQQstream: found 387 particles and 342 decay definitions PDGtoQQTable::buildTable: found 386 QQ to PDG particle translations PASS: listQQTranslation.sh PASS: listParticleNames.sh PASS: listPythiaNames.sh PASS: listPDGNames.sh ============================== 1 of 6 tests failed Please report to CLHEP@cern.ch ============================== make[3]: *** [check-TESTS] エラー 1 make[3]: Leaving directory `/home/Administrator/TMP/GEANT4/clhep/2.0.1.1/CLHEP/H epPDT/test' make[2]: *** [check-am] エラー 2 make[2]: Leaving directory `/home/Administrator/TMP/GEANT4/clhep/2.0.1.1/CLHEP/H epPDT/test' make[1]: *** [check-recursive] エラー 1 make[1]: Leaving directory `/home/Administrator/TMP/GEANT4/clhep/2.0.1.1/CLHEP/H epPDT' make: *** [check-recursive] エラー 1 root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ export CLHEP_BASE_DIR="/usr/local" root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ date Thu Apr 7 17:56:43 2005 root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ source ../CLHEP/setup.cygwin-VC71 root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ printenv HOMEPATH=\Documents and Settings\Administrator MANPATH=/usr/local/mingw/man/:/usr/local/man:/usr/man:/usr/share/man:/usr/autoto ol/devel/man::/usr/ssl/man:/usr/X11R6/man APPDATA=C:\Documents and Settings\Administrator\Application Data CXXCPP=cl -E HOSTNAME=D7LQ4B1X VS71COMNTOOLS=C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\ TERM=cygwin PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel WINDIR=C:\WINNT LIBRARY_PATH=/myGTK/lib TEXDOCVIEW_txt=cygstart %s TEXDOCVIEW_dvi=cygstart %s XYZZYHOME=C:\futami\SW\xyzzy OLDPWD=/home/Administrator/TMP/GEANT4/clhep/1.9.1.2 USERDOMAIN=D7LQ4B1X OS=Windows_NT ALLUSERSPROFILE=C:\Documents and Settings\All Users OS2LIBPATH=C:\WINNT\system32\os2\dll; USER=root !::=::\ TEMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp COMMONPROGRAMFILES=C:\Program Files\Common Files LIB=c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/lib;C:\Program Files\ Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib CXXFLAGS=-EHsc USERNAME=Administrator CPP=cl -E TEXDOCVIEW_pdf=cygstart %s PROCESSOR_LEVEL=15 PATH=/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Common7/IDE:/cy gdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin:/cygdrive/c/Pro gram Files/Microsoft Visual Studio .NET 2003/Common7/Tools/:/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Common7/Tools/bin/prerelease:/cygdrive/c /Program Files/Microsoft Visual Studio .NET 2003/Common7/Tools/bin:/cygdrive/c/P rogram Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/bin:/cygdrive/c/WINNT/Mi crosoft.NET/Framework/v1.1.4322:/home/Administrator/USR/CMD:/home/Administrator/ USR/BIN:/usr/lib/subversion/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cyg drive/c/Program Files/DAWN:/myGTK/bin:/myGTK/lib:/cygdrive/c/futami/SW/picture/g vwin32/program/Ghostgum/gsview:/cygdrive/c/futami/SW/picture/gswin32/program/gs/ gs7.07/bin:/cygdrive/c/futami/SW/script/tcltk/program/bin:/cygdrive/c/Program Fi les/Microsoft Visual Studio .NET 2003/Vc7/bin:/cygdrive/c/WINNT/system32:/cygdri ve/c/WINNT:/cygdrive/c/WINNT/System32/Wbem:/cygdrive/c/Program Files/Common File s/Adaptec Shared/System:/cygdrive/c/Program Files/Common Files/Microsoft Shared/ VSA/7.1/VsaEnv:/usr/bin:/cygdrive/c/futami/SW/php/program/php4Win32:/cygdrive/c/ futami/SW/php/program/php4Win32/dlls LD=cl PWD=/home/Administrator/TMP/GEANT4/clhep/1.9.1.2/CLHEP SYSTEMDRIVE=C: CYGWIN=server CLHEP_BASE_DIR=/usr/local LANG=ja_JP.SJIS TEXDOCVIEW_html=cygstart %s USERPROFILE=C:\Documents and Settings\Administrator PS1=\[\033]0;\w\007 \033[32m\]\u@\h \[\033[33m\w\033[0m\] $ LOGONSERVER=\\D7LQ4B1X PROCESSOR_ARCHITECTURE=x86 !C:=C:\Cygwin\root\bin CXX=cl VSPATH=/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003 MANPAGER=lv GDK_CONV=/home/Administrator/.gtk SHLVL=1 HOME=/home/Administrator PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.tcl HOMEDRIVE=C: LV=-Ks -Os -c PROMPT=$P$G COMSPEC=C:\WINNT\system32\cmd.exe TMP=/cygdrive/c/DOCUME~1/ADMINI~1/LOCALS~1/Temp SYSTEMROOT=C:\WINNT CVS_RSH=/bin/ssh PROCESSOR_REVISION=0209 PKG_CONFIG_PATH=/myGTK/lib/pkgconfig MAKE_MODE=unix TEXDOCVIEW_ps=cygstart %s INFOPATH=/usr/local/info:/usr/info:/usr/share/info:/usr/autotool/devel/info:/usr /autotool/stable/info: PROGRAMFILES=C:\Program Files CC=cl TEXMF={/usr/share/lilypond/2.4.3,{!!/home/Administrator/.texmf/config,!!/home/Ad ministrator/.texmf/var,/home/Administrator/texmf,!!/usr/share/texmf,!!/var/lib/t exmf,!!/usr/share/texmf,!!/usr/local/share/texmf,!!/usr/share/texmf}} NUMBER_OF_PROCESSORS=1 INCLUDE=c:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/include;C:\Progra m Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include COMPUTERNAME=D7LQ4B1X _=/usr/bin/printenv root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ ./configure configure: running /bin/bash './configure' --prefix=/usr/local 'CC=cl ' 'CPP=cl -E' 'CXXCPP=cl -E' 'CXXFLAGS=-EHsc' 'CXX=cl ' --cache-file=/dev/null --srcdir=. configure: error: invalid variable name: CC configure: error: /bin/bash './configure' failed for config creating libCLHEP-1.9.1.2.la (cd .libs && rm -f libCLHEP-1.9.1.2.la && ln -s ../libCLHEP-1.9.1.2.la libCLHEP- 1.9.1.2.la) make[1]: Leaving directory `/home/Administrator/TMP/GEANT4/clhep/1.9.1.2/CLHEP' root@D7LQ4B1X ~/TMP/GEANT4/clhep/1.9.1.2/CLHEP $ date Thu Apr 7 19:55:28 2005 $ make install test -z "/usr/local/bin" || mkdir -p -- "/usr/local/bin" /usr/bin/install -c 'clheplib' '/usr/local/bin/clheplib' /usr/bin/install -c 'clhep-config' '/usr/local/bin/clhep-config' /home/Administrator/TMP/GEANT4/clhep/1.9.1.2/CLHEP/install-sh -d /usr/local/lib /bin/bash ./libtool --mode=install libCLHEP-1.9.1.2.la /usr/local/lib/libCLHE P-1.9.1.2.la /usr/bin/install -c .libs/libCLHEP-1.9.1.2.lai /usr/local/lib/libCLHEP-1.9.1.2.l a /usr/bin/install -c .libs/libCLHEP-1.9.1.2.lib /usr/local/lib/libCLHEP-1.9.1.2.l ib ranlib /usr/local/lib/libCLHEP-1.9.1.2.lib chmod 644 /usr/local/lib/libCLHEP-1.9.1.2.lib ---------------------------------------------------------------------- Libraries have been installed in: /usr/local/lib If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `PATH' environment variable during execution - use the ` ' linker flag See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- 以上、うまくいった1。9。1。2でした。(うまく動作するかは知らん) 2の再トライ。 $ pwd /home/Administrator/TMP/GEANT4/clhep $ tar -zxvf clhep-2.0.1.1.tgz $ cd 2.0.1.1/CLHEP/ /home/Administrator/TMP/GEANT4/clhep/2.0.1.1/CLHEP $ ls ./ HepPDT/ Units/ configure* ../ INSTALL* Utilities/ configure.in* .cvsignore* Makefile.am* Vector/ getObjectList* CVS/ Makefile.in aclocal.m4 install-sh* Cast/ Matrix/ autom4te.cache/ ltmain.sh* ChangeLog* README* bootstrap* makeBinaryTar.in* Evaluator/ Random/ build-clheplib.in* makeSourceDist.in* Exceptions/ RandomObjects/ clhep-config.in* missing* GenericFunctions/ ReadMe.cygwin-VC71* compilers.txt* nohup.out Geometry/ RefCount/ config.guess* setup.cygwin-VC71* HepMC/ StdHep/ config.sub* $ date Mon Apr 11 10:08:20 2005 やっぱりダメ。HepPDTの6つある1つめのテストで落ちる。あきらめるしかない。 clhep-2.0.1.1-win32-vc71 は予めmkdirしておかねばならない。 $ tar -zxvf clhep-2.0.1.1-win32-vc71.tgz -C /cygdrive/c/Clhep/clhep-2.0.1.1-win32-vc71 Geant4本体。 しょがないね。まず所定の方法でインストールしてみるか。 $ pwd /home/Administrator/TMP/GEANT4/system $ tar -zxvf geant4.7.0.p01.tar.gz $ cd geant4.7.0.p01 root@D7LQ4B1X ~/TMP/GEANT4/system/geant4.7.0.p01 $ tar cf - . | (cd ~/geant470p01; tar vxf -) $ cd .. $ rm -rf geant4.7.0.p01 $ pwd /home/Administrator/geant470p01 root@D7LQ4B1X ~/geant470p01 $ date Mon Apr 11 13:45:58 2005 $ alias gmake='make --makefile=GNUmakefile' $ ./Configure -build | tee log200504111349.txt 1) OS : WIN32 【☆!!!!】2) Compiler : VC⇒g++ Do you expect to run these scripts and binaries on multiple machines? [n] Where is Geant4 source installed? EOM [/home/Administrator/geant470p01] Specify the path where Geant4 libraries and source files should be installed. EOM [/home/Administrator/geant470p01] Do you want to copy all Geant4 headers in one directory? EOM [n] y⇒n Please, specify directories where the Geant4 data is installed: 1) G4LEVELGAMMADATA: /home/Administrator/geant470p01/data/PhotonEvapo ration 2) G4RADIOACTIVEDATA: /home/Administrator/geant470p01/data/RadiativeDe cay 3) G4LEDATA: /home/Administrator/geant470p01/data/G4EMLOW2.3 4) NeutronHPCrossSections: /home/Administrator/geant470p01/data/G4NDL3.7 5) G4ELASTICDATA: /home/Administrator/geant470p01/data/Elastic Could not find CLHEP installed on this system! Please, specify where CLHEP is installed (set by default): CLHEP_BASE_DIR: c:/usr/local According to it will be set: CLHEP_INCLUDE_DIR CLHEP_LIB_DIR You will be asked about customizing these next. EOM [c:/usr/local] /usr/local You can customize paths and library name of you CLHEP installation: 1) CLHEP_INCLUDE_DIR: /usr/local/include 2) CLHEP_LIB_DIR: /usr/local/lib 3) CLHEP_LIB: CLHEP You need to use full library name with its extension (e.g. libCLHEP.lib). To modify default settings, select number above (e.g. 2) EOM [Press [Enter] for default settings] By default 'static' libraries are built. Do you want to build DLL (.dll) libraries? EOM [n] y⇒n ⇒Do you want to build 'global' compound libraries? ⇒EOM [n] Do you want to compile libraries in DEBUG mode (-g)? EOM [n] If this variable is set, no UI sessions nor any UI libraries are built. This can be useful when running a pure batch job or in a user framework having its own UI system. Do you want to set this variable ? EOM [n] G4UI_BUILD_WIN32_SESSION G4UI_USE_WIN32 Specifies to include and use the terminal interface for Windows systems. EOM [n] y⇒n 「以下VCの場合… G4VIS_NONE If this variable is set, no visualization drivers will be built or used. Do you want to set this variable ? EOM [n] G4VIS_BUILD_OPENGLWIN32_DRIVER G4VIS_USE_OPENGLWIN32 It is an interface to the de facto standard 3D graphics library, OpenGL. It is well suited for real-time fast visualization and prototyping. The Windows version of the OpenGL libraries is required. EOM [n] G4VIS_BUILD_OIWIN32_DRIVER G4VIS_USE_OIWIN32 Specifies to build and use the driver for the free X11 version of OpenInventor on Windows systems. The Windows version of OpenInventor is required. EOM [n] …以上、VCの場合」 「以下、g++の場合… G4UI_BUILD_XAW_SESSION G4UI_USE_XAW Specifies to include and use the XAW interfaces in the application to be built. The XAW (X11 Athena Widget set) extensions are required to activate and build this driver. EOM [n] G4UI_BUILD_XM_SESSION G4UI_USE_XM Specifies to include and use the XM Motif based user interfaces. The XM Motif extensions are required to activate and build this driver. EOM [n] G4VIS_NONE If this variable is set, no visualization drivers will be built or used. Do you want to set this variable ? EOM [n] G4VIS_BUILD_OPENGLX_DRIVER G4VIS_USE_OPENGLX It is an interface to the de facto standard 3D graphics library, OpenGL. It is well suited for real-time fast visualization and prototyping. The X11 version of the OpenGL libraries is required. EOM [n] G4VIS_BUILD_OPENGLXM_DRIVER G4VIS_USE_OPENGLXM It is an interface to the de facto standard 3D graphics library, OpenGL. It is well suited for real-time fast visualization and prototyping. The X11 version of the OpenGL libraries and the Motif Xm extension is required. EOM [n] G4VIS_BUILD_DAWN_DRIVER G4VIS_USE_DAWN DAWN drivers are interfaces to the Fukui Renderer DAWN. DAWN is a vectorized 3D PostScript processor suited to prepare technical high quality outputs for presentation and/or documentation. EOM [n] G4VIS_BUILD_OIX_DRIVER G4VIS_USE_OIX The OpenInventor driver is based on OpenInventor technology for scientific visualizarion. The X11 version of OpenInventor is required. EOM [n] It is an interface to the de facto standard 3D graphics library, OpenGL. It is well suited for real-time fast visualization and prototyping. The X11 version of the OpenGL libraries and the Motif Xm extension is required. These driver generate VRML files, which describe 3D scenes to be visualized with a proper VRML viewer. EOM [n] G4LIB_BUILD_G3TOG4 ript processor suited to prepare technical If this variable is set, it will be built G3TOG4 module. Do you want to set this variable ? EOM [n] G4ANALYSIS_USEisualizarion. Activates the configuration setup for allowing plugins to analysis tools based on AIDA (Astract Interfaces for Data Analysis). In order to use AIDA features and compliant analysis tools, the proper environment for these tools will have to be set (see documentation for the specific analysis tools). EOM [n] …以上、g++の場合」 G4LIB_BUILD_G3TOG4 If this variable is set, it will be built G3TOG4 module. Do you want to set this variable ? EOM [n] G4ANALYSIS_USE Activates the configuration setup for allowing plugins to analysis tools based on AIDA (Astract Interfaces for Data Analysis). In order to use AIDA features and compliant analysis tools, the proper environment for these tools will have to be set (see documentation for the specific analysis tools). EOM [n] End of configuration phase. Creating configuration setup file... WARNING: the generated configuration file can be edited if necessary! You can introduce any change to the configuration file /home/Administrator/geant470p01/.config/bin/WIN32-VC/config.sh before the final installation. To do so, use a shell escape now (e.g. !vi /home/Administrator/geant470p01/.conf ig/bin/WIN32-VC/config.sh). Press [Enter] to start installation or use a shell escape to edit config.sh: $ ./Configure -build | tee log200504111604.txt ☆!!!!WIN32−g++では成功。(判定文も書き直さなくてもOK) root@D7LQ4B1X ~/geant470p01 $ ./Configure -install | tee log200504120756.txt;date On this machine the G4SYSTEM=WIN32-VC On this machine the G4INSTALL=/home/Administrator/geant470p01 On this machine the G4INCLUDE=/home/Administrator/geant470p01/include On this machine the G4TMP=/home/Administrator/geant470p01/tmp On this machine the G4LIB=/home/Administrator/geant470p01/lib On this machine the G4LEVELGAMMADATA=/home/Administrator/geant470p01/data/Photon Evaporation On this machine the G4RADIOACTIVEDATA=/home/Administrator/geant470p01/data/Radia tiveDecay On this machine the G4LEDATA=/home/Administrator/geant470p01/data/G4EMLOW2.3 On this machine the NeutronHPCrossSections=/home/Administrator/geant470p01/data/ G4NDL3.7 On this machine the G4ELASTICDATA=/home/Administrator/geant470p01/data/Elastic On this machine the CLHEP_BASE_DIR=/usr/local On this machine the CLHEP_INCLUDE_DIR=/usr/local/include On this machine the CLHEP_LIB_DIR=/usr/local/lib On this machine the CLHEP_LIB=CLHEP On this machine the G4UI_BUILD_WIN32_SESSION=1 On this machine the G4UI_USE_WIN32=1 On this machine the G4LIB_BUILD_STATIC=1 On this machine the G4LIB_USE_GRANULAR=1 Starting installation... Installing headers... Installing includes files in /home/Administrator/geant470p01/include ... Tue Apr 12 08:02:21 2005 root@D7LQ4B1X ~/geant470p01 今度はコンパイラだけVCにしてみる。 ⇒だめ。 で、プロジェクトファイルを用いるが、 インストール先の指定が、「c:/…」でないとうまくリンクしない。 結局、 『VC++Setup.bat』は、 「 REM Setup for defining the necessary environmental variables REM for Geant4 development on an Windows machine with VC++.NET REM Define the OS and Compiler set G4SYSTEM=WIN32-VC REM set G4INSTALL=F:\g4\geant4_7_0 set G4INSTALL=C:\g4\geant4_7_0_p01 set G4LIB=%G4INSTALL%\lib\%G4SYSTEM% set G4TMP=%G4INSTALL%\tmp set G4BIN=%G4INSTALL%\bin set G4WORKDIR=%G4INSTALL%\work set G4_INCLUDES=%G4INSTALL%\include set G4_LIB=%G4INSTALL%\lib\%G4SYSTEM% REM CLHEP installation REM set CLHEP_BASE_DIR=C:\clhep\1.8.1.0 REM set CLHEP_BASE_DIR=C:\Clhep\clhep-2.0.1.1-win32-vc71 set CLHEP_BASE_DIR=C:\Clhep\clhep-1.9.1.2-win32-vc71 set CLHEP_INCLUDE=%CLHEP_BASE_DIR%\include set CLHEP_LIB=%CLHEP_BASE_DIR%\lib start devenv G4MSVC++.Net.sln 」 とした。Clhepはバイナリ配布の1.9の最新のやつ。(2ではダメ) ビルドには3時間強かかった。  コマンドラインから再挑戦したが、これもうまくいった。 これまでとの違いは、clhepの指定を1.9の最新のやつにしたことと、 その保存先をC:ドライブレターからの指定にしたこと、 そこにはプリコンパイル配布版のライブラリを配したことなど。
◎以上まとめると…
・g++コンパイラを使うことに関しては、特に問題はなかった。
・clhepの2.0はうまくいっていない。1.9を使うのが良い。
・VCコンパイラを使う際には、パス・ディレクトリの指定は、
 ドライブレターをWindows形式で表現しなければならない
 ことがあった。その際、clhepはプリコンパイル配布版を用いる
 のが手軽だ。
(設定例:「 CLHEP_BASE_DIR="C:/Clhep/clhep-1.9.1.2-win32-vc71" 」)
・ビルドに成功した組み合わせ。
1)~/geant470p01ディレクトリにて ./Configure を実行し、g++選択。
  システムのインストールは「 ~/geant470p01 」。
  g4install='/home/Administrator/geant470p01'
  g4clhep_base_dir='/usr/local'
2)VC++Setup.batを使ってMicrosoft Visual C++ .NETを起動。
  システムのインストールは「 C:\g4\geant4_7_0_p01 」。
  set G4INSTALL=C:\g4\geant4_7_0_p01
  set CLHEP_BASE_DIR=C:\Clhep\clhep-1.9.1.2-win32-vc71
3)C:/g4/geant4_7_0_p01/sourceディレクトリにて、
 「$ source geant4-setup.sh」、「$ source vsvars7.sh」、「$ make」実行。
  システムのインストールは「 C:/g4/geant4_7_0_p01 」。
  G4INSTALL="C:/g4/geant4_7_0_p01"
  CLHEP_BASE_DIR="C:/Clhep/clhep-1.9.1.2-win32-vc71"
4)C:/g4/geant4_7_0_p01/sourceディレクトリにて、
 「$ source geant4-setup.sh」、「$ source vsvars7.sh」実行の後、
 C:/g4/geant4_7_0_p01ディレクトリにて、 ./Configure を実行し、VC選択。
  システムのインストールは「 C:/g4/geant4_7_0_p01 」。
  g4install='C:/g4/geant4_7_0_p01'
  g4clhep_base_dir='C:/Clhep/clhep-1.9.1.2-win32-vc71'

…⇒要は、clhepは1.9を使えということやね(あと、C:表現)。

 なお、4)で、残念ながら「.DLL作成」は失敗した。

$ ./Configure -build | tee log200504131235.txt; date
$ ./Configure -install | tee log200504140802.txt; date


DAWNについて

http://geant4.kek.jp/~tanaka/DAWN/About_DAWN.html

<< How to compile DAWN in Windows XP/2000/NT/98/Me >>

 (0) Install Visual C++ 6.0, and set the PATH environmental variable to
     its "bin" directory, e.g. 
     "C:\Program Files\Microsoft Visual Studio\VC98\Bin".
     (For Windows XP/2000/NT, use control panel (system). 
      For Windows 98/Me, add a proper description for the PATH variable
      to "c:\autoexec.bat".)
⇒
$ printenv PATH
/home/Administrator/USR/CMD:/home/Administrator/USR/BIN:/usr/lib/subversion/bin:
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/Program Files/DAWN:/myGT
K/bin:/myGTK/lib:/cygdrive/c/futami/SW/picture/gvwin32/program/Ghostgum/gsview:/
cygdrive/c/futami/SW/picture/gswin32/program/gs/gs7.07/bin:/cygdrive/c/futami/SW
/script/tcltk/program/bin:/cygdrive/c/Program Files/Microsoft Visual Studio .NET
 2003/Vc7/bin:/cygdrive/c/WINNT/system32:/cygdrive/c/WINNT:/cygdrive/c/WINNT/Sys
tem32/Wbem:/cygdrive/c/Program Files/Common Files/Adaptec Shared/System:/cygdriv
e/c/Program Files/Common Files/Microsoft Shared/VSA/7.1/VsaEnv:/usr/bin:/cygdriv
e/c/futami/SW/php/program/php4Win32:/cygdrive/c/futami/SW/php/program/php4Win32/
dlls
の
“/cygdrive/c/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin:”や、
“/cygdrive/c/Program Files/Common Files/Microsoft Shared/VSA/7.1/VsaEnv:”か。

 (1) Install Tcl/Tk for Windows /XP/2000/NT/98/Me.
     Check if the window shell name is "wish.exe".
     (You can obtain Tcl/Tk from the following site:  
      http://dev.scriptics.com/software/tcltk )
⇒
$ which wish.exe
/usr/bin/wish.exe

 (2) Install your favorite PostScript viewer.
     We recommend to install Gsview, which also needs Ghostscript,  
     (You can obtain GSview and Ghostscript from the following site:  
      http://www.cs.wisc.edu/~ghost/index.html        )
⇒
$ which gv
/usr/local/bin/gv
$ man gv
gv(1)                                                                   gv(1)



Name
       gv - a PostScript and PDF previewer



Synopsis
       gv [ filename ]
          [-monochrome] [-grayscale] [-color]
          [-[no]safer] [-[no]quiet] [-arguments ]
          [-page