1 | <HTML> |
---|
2 | <HEAD> |
---|
3 | <TITLE>PC Machines</TITLE> |
---|
4 | </HEAD> |
---|
5 | <BODY> |
---|
6 | <TABLE WIDTH="100%"><TR> |
---|
7 | <TD> |
---|
8 | |
---|
9 | |
---|
10 | <A HREF="../index.html"> |
---|
11 | <IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Contents.gif" ALT="Contents"></A> |
---|
12 | <A HREF="../UnixMachines/unixMachines.html"> |
---|
13 | <IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/Previous.gif" ALT="Previous"></A> |
---|
14 | <IMG BORDER="0" SRC="../../../../resources/html/IconsGIF/NextGR.gif" ALT="Next"> |
---|
15 | </TD> |
---|
16 | <TD ALIGN="Right"> |
---|
17 | <FONT SIZE="-1" COLOR="#238E23"> |
---|
18 | <P ALIGN="Right"> |
---|
19 | <B>Installation Guide</B><BR> |
---|
20 | </FONT> |
---|
21 | </TD> |
---|
22 | </TR></TABLE> |
---|
23 | <P> |
---|
24 | <BR><BR> |
---|
25 | |
---|
26 | <P ALIGN="Center"> |
---|
27 | <FONT SIZE="+4" COLOR="#238E23"> |
---|
28 | <B>3. Tips for Installing on Windows</B> |
---|
29 | </FONT> |
---|
30 | <BR><BR> |
---|
31 | |
---|
32 | <HR ALIGN="Center" SIZE="7%"> |
---|
33 | <BR><BR> |
---|
34 | |
---|
35 | <!-- ============================================== Section --> |
---|
36 | <HR> |
---|
37 | <A name="3.1"> |
---|
38 | <H2>3.1 Windows with the Cygwin Toolset and Microsoft Visual C++</H2></A> |
---|
39 | |
---|
40 | <P> |
---|
41 | To compile and run Geant4 under Windows systems, some additional information |
---|
42 | and tools are required, although the installation produre is similar to that |
---|
43 | required on a UNIX based system. On Windows, the Cygwin toolset and the |
---|
44 | Microsoft Visual C++ compiler are used.<br> |
---|
45 | Cygwin32 is a UNIX development environment available for Microsoft Windows. |
---|
46 | You can freely obtain Cygwin32 from |
---|
47 | <A target="ext" HREF="http://cygwin.com">Cygwin</a> or |
---|
48 | <A target="ext" HREF="http://x.cygwin.com">Cygwin/X</a>.<br> |
---|
49 | We do not support direct use of Visual Studio; i.e. we do not provide |
---|
50 | Visual Studio workspace (.dsw) or project (.dsp) files, nor we do provide |
---|
51 | makefiles for the <TT>nmake</TT> application of MS Visual C++. |
---|
52 | <P> |
---|
53 | We use several of the tools provided by the Cygwin toolset: |
---|
54 | <UL> |
---|
55 | <LI><TT>make.exe</TT> as a make tool</LI> |
---|
56 | <LI><TT>g++.exe</TT> as a tool to analyse source file dependencies and create |
---|
57 | dependency (<TT>.d</TT>) files</LI> |
---|
58 | <LI>several other unix tools like <TT>cp</TT>, <TT>mv</TT>, <TT>rm</TT>, |
---|
59 | <TT>touch</TT>, etc.</LI> |
---|
60 | </UL> |
---|
61 | At the installation of the Cygwin toolset it is therefore required to |
---|
62 | explicitely select some packages (i.e. <i>gmake</i>, <i>gcc</i>, <i>binutils</i> and |
---|
63 | <i>tcsh</i> from the "devel" category) in addition to those which are part of |
---|
64 | the default installation.<BR> |
---|
65 | For more details on the toolset, please see the documentation available on the |
---|
66 | <a target="ext" href="http://cygwin.com">Cygwin pages</a>. The User's Guide has |
---|
67 | quick start guides and help with setting up Cygwin with <TT>setup.exe</TT>.<BR> |
---|
68 | Links to some installation tips for the Cygwin toolset and also "step by step" |
---|
69 | installation guides can be found in |
---|
70 | <A HREF="../../../ForApplicationDeveloper/html/Appendix/buildFile.html">section 10.6</A> |
---|
71 | of the Application Developers Guide. |
---|
72 | <P> |
---|
73 | The usage of Cygwin32 for the build environment results in a build procedure |
---|
74 | similar to that on a UNIX system. The documentation in the User's Guide for |
---|
75 | Application Developers, Section 10.5, is largely applicable in this case. |
---|
76 | <P> |
---|
77 | The following steps are required to install geant4: |
---|
78 | <OL> |
---|
79 | <LI> Install Cygwin (see also notes above):<BR> |
---|
80 | We do not depend on any specific feature of the version of Cygwin, |
---|
81 | so newer versions (or slightly older) are expected to work.</LI> |
---|
82 | <LI> Set the environment for MS Visual C++, i.e. set the paths to libraries, |
---|
83 | include files, and executables for MS Visual C++. This can be done by |
---|
84 | modifying the start-up batch file <TT>cygwin.bat</TT> of Cygwin32 to |
---|
85 | include all the MSDOS commands found in the file |
---|
86 | <TT>vcvars32.bat</TT> provided in MS Visual C++ (in the VC++ .NET compiler |
---|
87 | installation directory, and usually located inside the |
---|
88 | <TT>Common7/Tools</TT> directory). This modification should be done after |
---|
89 | the installation of the Cygwin toolset, so that the environment gets |
---|
90 | properly set at the time of the invocation of the shell.</LI> |
---|
91 | <LI> Unpack the source code into a directory of your choice.</LI> |
---|
92 | <LI> Start the <TT>Cygwin</TT> shell from the start menu.</LI> |
---|
93 | <LI> At this point you're ready to install Geant4. If manual installation |
---|
94 | is chosen, you must set the necessary environment variables. There are |
---|
95 | various ways to do so; for example through a command file for the Cygwin |
---|
96 | bash shell. This command file could be named <TT>geant4-setup.sh</TT>, |
---|
97 | and you must execute it with<BR> |
---|
98 | <PRE> |
---|
99 | . geant4-setup.sh |
---|
100 | </PRE> |
---|
101 | including the leading dot and blank space. You could also have this as |
---|
102 | your <TT>.bashrc</TT> file. The commands in the command file should be: |
---|
103 | <PRE> |
---|
104 | # Set G4SYSTEM |
---|
105 | export G4SYSTEM=WIN32-VC |
---|
106 | # |
---|
107 | # Set Path to CLHEP |
---|
108 | export CLHEP_BASE_DIR=C:/usr/local |
---|
109 | # |
---|
110 | # --- Other optional settings |
---|
111 | #Turn on verbose to show command used for compilation |
---|
112 | #export CPPVERBOSE=1 |
---|
113 | # |
---|
114 | </PRE> |
---|
115 | Note, in the example above, CLHEP was installed in <TT>C:/usr/local</TT>, |
---|
116 | therefore <TT>include/CLHEP</TT> and <TT>lib/CLHEP.lib</TT> must be |
---|
117 | included therein.</LI> |
---|
118 | <LI> Once the environment is correctly set, the libraries are built using |
---|
119 | make from the <TT>geant4/source</TT> directory typing <TT>make</TT> |
---|
120 | from the <tt>Cygwin bash</TT> shell prompt.</LI> |
---|
121 | </OL> |
---|
122 | Examples can be built in the same way as the libraries from |
---|
123 | examples/novice/N01, for instance: |
---|
124 | type <TT>make</TT> from the shell prompt.<BR> |
---|
125 | Note that, depending on which external software is used, there may be |
---|
126 | some warnings in linking; e.g., we get |
---|
127 | <TT>"unrecognized source file type -file.o-,object file assumed"</TT>, or |
---|
128 | warnings of conflictings libraries. This often seems to be caused by an |
---|
129 | external library compiled for a different run time environment. |
---|
130 | |
---|
131 | <P> |
---|
132 | The binary of the example is placed by default into the |
---|
133 | <TT>geant4/bin/WIN32-VC</TT> directory. You may run it either from this |
---|
134 | directory or from the <TT>examples/novice/N01</TT> directory; sample input |
---|
135 | and output files are placed in each of the <TT>examples/novice</TT> |
---|
136 | directories. Some of the examples will need to read data files, and |
---|
137 | the place has to be given in environment variables again similar to the |
---|
138 | following example: |
---|
139 | <PRE> |
---|
140 | # |
---|
141 | # Environment variables needed to find geant4 data files: |
---|
142 | # |
---|
143 | # Data for neutron scattering processes, |
---|
144 | # distributed in a separate tar file, then placed under data |
---|
145 | export NeutronHPCrossSections=c:/usr/local/geant4/data/G4NDL |
---|
146 | # |
---|
147 | # Nuclear Photon evaporation data, |
---|
148 | # distributed with the source files under data |
---|
149 | export G4LEVELGAMMADATA=c:/usr/local/geant4/data/PhotonEvaporation |
---|
150 | # |
---|
151 | # Data for radiative decay hadronic processes under data, |
---|
152 | # distributed in a separate tar file |
---|
153 | export G4RADIOACTIVEDATA=c:/usr/local/geant4/data/RadiativeDecay |
---|
154 | # |
---|
155 | # Data for low energy electromagnetic processes, |
---|
156 | # distributed in a separate tar file, then placed under data |
---|
157 | export G4LEDATA=c:/usr/local/geant4/data/G4EMLOW |
---|
158 | # |
---|
159 | </PRE> |
---|
160 | <P> |
---|
161 | All compiler and linker options are set in <TT>config/sys/WIN32-VC.gmk</TT>. |
---|
162 | If you require options different from our choice, you can modify this file. |
---|
163 | |
---|
164 | <!-- ============================================== Section --> |
---|
165 | <HR> |
---|
166 | <A name="3.2"> |
---|
167 | <H2>3.2 Building Kernel Libraries DLLs</H2></A> |
---|
168 | <p> |
---|
169 | DLLs (Dynamic Link Libraries) on Windows are supported for .NET VC++ and can |
---|
170 | be built for the <TT>compound</TT> kernel libraries of Geant4 (see the |
---|
171 | <a href="../UnixMachines/unixMachines.html">Installation Procedure</a> of this |
---|
172 | Guide for a dissertation on <TT>global/compound</TT> libraries). |
---|
173 | <P> |
---|
174 | The libraries can be built either manually, issuing the command: |
---|
175 | <PRE> |
---|
176 | make dll |
---|
177 | </PRE> |
---|
178 | from the directory <TT>$G4INSTALL/source</TT> or by specifying it through |
---|
179 | the <TT>Configure</TT> script used for the installation.<BR> |
---|
180 | Then, to build any application making use of the installed DLLs, the |
---|
181 | environment variable <TT>G4LIB_USE_DLL</TT> must be set in the environment.<BR> |
---|
182 | Once the application is built, it is required to specify to the system the path |
---|
183 | where the DLLs are installed. To do so, add the absolute path (in Cygwin format) |
---|
184 | of the DLLs installation directory to the <TT>PATH</TT> variable; for example: |
---|
185 | <PRE> |
---|
186 | export PATH=$PATH:/usr/local/geant4/lib/$G4SYSTEM |
---|
187 | </PRE> |
---|
188 | You may then be able to run successfully your application. |
---|
189 | </P> |
---|
190 | |
---|
191 | <HR> |
---|
192 | <A HREF="../../../../Authors/html/subjectsToAuthors.html"> |
---|
193 | <I>About the authors</I></A> |
---|
194 | |
---|
195 | </BODY> |
---|
196 | </HTML> |
---|
197 | |
---|