File: installation.html

package info (click to toggle)
petsc 2.2.0-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 64,404 kB
  • ctags: 284,528
  • sloc: ansic: 223,999; python: 11,758; makefile: 7,707; fortran: 6,327; cpp: 4,104; sh: 3,387; csh: 41; asm: 6
file content (467 lines) | stat: -rw-r--r-- 25,844 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
<html>
<body BGCOLOR="FFFFFF">

      <table border="0" width="100%">
        <tbody>
          <tr>
            <td width="50%">
            <h1><b><a name="Docs:  Installation">Docs:&nbsp;
Installation</a></b></h1>
            </td>
            <td width="50%"><img border="0" src="../images/headbang.gif"
 width="113" height="113"></td>
          </tr>
        </tbody>
      </table>


      <ul>

        <li><a name="(Windows only)">(Microsoft Windows only)</a> <a
 href="#Cygwin:">Install the cygwin</a> package (including <font color="#ff1a8b">make, patch, python, rebase</font> 
 <!-cygwin link has this info: duplicate> modules; run rebaseall after the Cygwin install)  and   use
bash as the working shell. <a href="#Aditional%20Windows%20Notes:">Microsoft Windows hints</a></li>
        <li>In the directory you wish PETSc installed: <font color="#ff0000">gunzip -c petsc.tar.gz | tar -xof -</font></li>
        <li><font color="#ff0000">cd petsc-2.2.0</font></li>
        <li>sh/bash shell <font color="#ff0000"><a href="#PETSC_DIR">PETSC_DIR</a>=`pwd`; export PETSC_DIR</font>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (note the backquote)</font><br>
          csh/tcsh shell <font color="#ff0000">setenv <a href="#PETSC_DIR">PETSC_DIR</a> `pwd`</font></li>
        <li> <font color="#ff0000">make PETSC_ARCH=solaris BOPT=g update</font></li>
        <li><font color="#ff0000">./config/configure.py (--help) (--prefix=installation_directory) ... </font></li>
        <li> <font color="#ff0000">make all</font></li>
        <li><font color="#ff0000">make test</font></li>
        <li><font color="#ff0000">make install</font></li>
        <li>Encounter problems? 
          <ul> 
             <li> <strong>Read the error message from ./config/configure.py!</strong> </li>
               <ul> 
                 <li><a href="#BLAS/LAPACK"> BLAS and LAPACK problems</a> </li>
                 <li><a href="#MPI:"> MPI problems</a>. I <a href="#I%20don%27t%20want%20to%20use%20MPI:">Don't want MPI</a></li>
               </ul>
             <li> Check the <a href="http://www.mcs.anl.gov/petsc/petsc-2/documentation/bugreporting.html"> bug-reporting</a> section</li>
             <li> If all else fails, <a href="#Manual">perform a manual installation</a></li>
          </ul>
      </ul>
      </td>
    </tr>
  </tbody>
</table>
<table width="100%">
  <tbody>
 
    <tr>
      <td width="75%" valign="top">
      <h3><b>Example Usages:</b></h3>
      <ul>
        <li> Other examples may be found in config/*.py</li>
        <li>Using the bash shell, assuming BLAS,
LAPACK, MPICH software are installed at the specified locations:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">export
PETSC_DIR=/home/petsc/petsc-2.1.6<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $PETSC_DIR<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./config/configure.py
--with-blas-lapack-dir=/usr/local/lib --with-mpi-dir=/usr/local/mpich<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make test </font></li>
        <li>Using tcsh shell, install PETSc with default BLAS and LAPACK (configure will install the C version of BLAS and LAPACK
   if there is none already installed on the system)
 and no MPI:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">setenv PETSC_DIR /home/petsc/petsc-2.1.6<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $PETSC_DIR<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./config/configure.py --with-c-blas-lapack-if-needed --with-mpi=0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make test </font></li>
        <li>Install PETSc with default BLAS, LAPACK  and MPI using the GNU compilers, build the optimized version of the 
libraries:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">./config/configure.py --with-vendor-compilers=0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=O<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=O test </font></li>        
        <li>Using csh shell, install PETSc on Linux with two different sets of compilers:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">bin/petscarch --suggest<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setenv PETSC_ARCH linux-gnu<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./config/configure.py --with-vendor-compilers=0 --with-mpi-dir=/usr/local/mpich-gnu<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=O<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=O test<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setenv PETSC_ARCH linux-gnu-intel<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./config/configure.py --with-vendor-compilers=intel --with-gnu-compilers=0 --with-blas-lapack-dir=/usr/local/mkl --with-mpi-dir=/usr/local/mpich-intel<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=O<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=O test </font></li>    
      </ul>
      <hr>
      <p><b><a name="PETSC_DIR"><font color="#551a8b">PETSC_DIR</font></a></b>: - this
environment/make variable should point to the location of the PETSc
installation that is used.         You can add <font color="#ff0000">export
PETSC_DIR=value</font> in your         .profile or .sh file or <font
 color="#ff0000">setenv PETSC_DIR value</font> in your .cshrc or .tcshrc
file. Multiple PETSc versions can coexist on the same
file-system. By changing PETSC_DIR one can switch between the
versions</p>
      <p><b><font color="#551a8b">PETSC_ARCH</font></b>: this
environment/make variable is used to specify the configuration that
should currently be used. It corresponds to the configuration files
in bmake/${PETSC_ARCH}. Multiple variants of PETSc libraries can be
installed - each variant corresponding to a different PETSC_ARCH. One
can switch between using these variants - by changing the value of
PETSC_ARCH. If PETSC_ARCH is not set, the configuration from the last time 
you ran <font color="#551a8b">./config/configure.py</font> will be used.</p>
      <p><b><font color="#551a8b">BOPT</font></b>: this
environment/make variable is used to distinguish debug/optimized or
c/c++/complex versions of PETSc libraries. One can install, any/all
variants of the libraries, and switch between them by changing the
value of BOPT. If BOPT is not set then the value of g will be used.
The table below explains the most common BOPT values.</p>
      <table border="1" cellpadding="0" cellspacing="0"
 style="border-collapse: collapse;" bordercolor="#111111" width="73%"
 id="AutoNumber2">
        <tbody>
          <tr>
            <td width="13%">&nbsp;g</td>
            <td width="87%">&nbsp;debug version of PETSc libraries -
useable from C,     fortran</td>
          </tr>
          <tr>
            <td width="13%">&nbsp;g_c++</td>
            <td width="87%">&nbsp;debug version of PETSc libraries -
useable from C++,     fortran</td>
          </tr>
          <tr>
            <td width="13%">&nbsp;g_complex</td>
            <td width="87%">&nbsp;debug complex version of PETSc
libraries - useable     from C++, fortran</td>
          </tr>
          <tr>
            <td width="13%">&nbsp;O</td>
            <td width="87%">&nbsp;Optimized version of PETSc libraries
- useable from C,     fortran</td>
          </tr>
          <tr>
            <td width="13%">&nbsp;O_c++</td>
            <td width="87%">&nbsp;Optimized version of PETSc libraries
- useable from     C++, fortran</td>
          </tr>
          <tr>
            <td width="13%">&nbsp;O_complex</td>
            <td width="87%">&nbsp;Optimized version of PETSc libraries
- useable from     C++, fortran</td>
          </tr>
        </tbody>
      </table>
      <p>example usage - assuming ex1.c is user code, and a makefile
with a target to compile ex1 exists:&nbsp; <br>
&nbsp;&nbsp;&nbsp; <font color="#ff0000">make BOPT=g PETSC_ARCH=linux
PETSC_DIR=/home/petsc/petsc-2.1.5 ex1</font></p>
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to Installation Instructions</a> &nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">Return to  Manual Installation Instructions</a></b></font> </p>
      <hr>
      <p><font color="#551a8b"><b><a name="bmake/${PETSC_ARCH}/packages">bmake/${PETSC_ARCH}/packages</a>:</b></font>&nbsp;this
configuration file, corresponding to the PETSC_ARCH used, contains the
configuration for all external software packages that PETSc is installed
with. The specification is in the compiler notation for include
paths, library paths, library names.</p>
      <table border="1" cellpadding="0" cellspacing="0"
 style="border-collapse: collapse;" bordercolor="#111111" width="100%"
 id="AutoNumber3">
        <tbody>
          <tr>
            <td width="11%">&nbsp;Compiler flag</td>
            <td width="30%">&nbsp; Example </td>
            <td width="59%">&nbsp;Explanation</td>
          </tr>
          <tr>
            <td width="11%">&nbsp;-D</td>
            <td width="30%">&nbsp;-DPETSC_HAVE_X11</td>
            <td width="59%">&nbsp;define a macro</td>
          </tr>
          <tr>
            <td width="11%">&nbsp;-I</td>
            <td width="30%">&nbsp;-I/home/petsc/mpich-1.2.5/include</td>
            <td width="59%">&nbsp;specify include paths to the compiler</td>
          </tr>
          <tr>
            <td width="11%">&nbsp;-L</td>
            <td width="30%">&nbsp;-L/home/petsc/mpich-1.2.5/lib</td>
            <td width="59%">&nbsp;specify the library paths to the
compiler</td>
          </tr>
          <tr>
            <td width="11%">&nbsp;-l</td>
            <td width="30%">&nbsp;-lmpich</td>
            <td width="59%">&nbsp;specify the name of the library to
link to- if the     library is libmpich.a</td>
          </tr>
          <tr>
            <td width="11%">&nbsp;filename</td>
            <td width="30%">&nbsp;/home/petsc/foo.a</td>
            <td width="59%">&nbsp;specify the library to link to (which
cannot be     specified using -l)</td>
          </tr>
        </tbody>
      </table>
      <p><b><font color="#551a8b">bmake/${PETSC_ARCH}/variables</font>: </b>this
file contains the configuration for the C, C++, fortran compilers -
that are associated with the PETSC_ARCH used.</p>
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to Installation Instructions</a> &nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">  Return to  Manual Installation Instructions</a> </b></font> </p>
      <hr>
      <h4><font color="#551a8b"><a name="Cygwin:">Cygwin</a></font> <span
 style="font-weight: 400;">&nbsp;provides UNIX tools on Microsoft Windows. When installing Cygwin <font
 color="#ff0000">make sure</font> you install the following additional
packages</span></h4>
      <ul>
        <li>
          <span style="font-weight: 400;"><font color="#ff0000">make</font></span>
        </li>
        <li>
          <span style="font-weight: 400;"><font color="#ff0000">patch</font></span>
        </li>
        <li>
          <span style="font-weight: 400;"><font color="#ff0000">python</font></span>
        </li>
        <li>
          <span style="font-weight: 400;"><font color="#ff0000">rebase</font></span>
        </li>
      </ul>
      Run /bin/rebaseall after install and use bash as the working shell.
      <h4><span style="font-weight: 400;">Cygwin also has GNU
compilers ( <font color="#ff1a8b">gcc, g++, g77</font>) which can be used&nbsp; if Microsoft, Intel, or Borland Group compilers are not
available</span></h4>

     <p>Note: To insure success of rebaseall - make sure there are no other cygwin processes (except bash) are running like ssh or sshd etc.</p>

      <table border="1" cellpadding="0" cellspacing="0"
 style="border-collapse: collapse;" bordercolor="#111111" width="72%"
 id="AutoNumber1">
        <tbody>
          <tr>
            <td width="23%">&nbsp;Cygwin</td>
            <td width="77%">&nbsp;<a href="http://www.cygwin.com">http://www.cygwin.com</a></td>
          </tr>
        </tbody>
      </table>
	
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to         Installation Instructions</a>&nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">  Return to  Manual Installation Instructions</a></b></font></p>
      <hr> 	
      <p><font color="#551a8b"><b><a name="BLAS/LAPACK">BLAS/LAPACK</a>:</b></font>
these packages provide some basic numeric kernels used by PETSc.</p>
      <ul>
        <li>If  <font color="##ff0000">./config/configure.py</font> cannot locate BLAS and LAPACK you can use the options
             <font color="##ff0000">--with-blas-lapack_dir=directory</font> or <font color="##ff0000">--with-blas-lib=library</font>
             and <font color="##ff0000">--with-lapack-lib=library</font> or <font color="##ff0000">--with-blas-lapack-lib=library</font>
             to indicate the location of the libraries.
        <ul>
          <li>on Microsoft Windows and Linux, one can use Intel MKL</li>
          <li>On AIX (IBM) ESSL, on OSF (Compaq/alpha) DXML, on Solaris Sunperf, on SGI libcomplib.sgimath.</li>
          <li>On some Linux boxes, regular blas/lapack is installed
              [/usr/lib/liblapack.a   /usr/lib/libblas.a ]</li>
          <li>Alternatively download the source distribution fblaslapack
               or cblaslapack   from <a href="http://www.mcs.anl.gov/petsc/petsc-2/download">PETSc download</a>page</li>
        </ul>
        <li>Use the <font color="##ff0000">./config/configure.py</font> options <font color="##ff0000">--with-c-blas-lapack</font>,
         <font color="##ff0000">--with-f-blas-lapack</font>,
         <font color="##ff0000">--with-c-blas-lapack-if-needed</font> or <font color="##ff0000">--with-f-blas-lapack-if-needed</font> 
         then PETSc will download and install a BLAS and LAPACK for you. Note that the c and f BLAS and LAPACK will, in general,
         be much slower than any installed system BLAS and LAPACK.
      </ul>
      <table border="1" cellpadding="0" cellspacing="0"
 style="border-collapse: collapse;" bordercolor="#111111" width="72%"
 id="AutoNumber1">
        <tbody>
          <tr>
            <td width="23%">&nbsp;Intel MKL</td>
            <td width="77%">&nbsp;<a
 href="http://www.intel.com/software/products/mkl">http://www.intel.com/software/products/mkl</a></td>
          </tr>
          <tr>
            <td width="23%">&nbsp;fblaslapack</td>
            <td width="77%">&nbsp;<a
 href="http://www.mcs.anl.gov/petsc/petsc-2/download">http://www.mcs.anl.gov/petsc/petsc-2/download</a></td>
          </tr>
          <tr>
            <td width="23%">&nbsp;cblaslapack</td>
            <td width="77%">&nbsp;<a
 href="http://www.mcs.anl.gov/petsc/petsc-2/download">http://www.mcs.anl.gov/petsc/petsc-2/download</a></td>
          </tr>
        </tbody>
      </table>
	
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to         Installation Instructions</a>&nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">  Return to  Manual Installation Instructions</a></b></font></p>
      <hr> 	
      <p><font color="#551a8b"><b><a name="MPI:">MPI:</a></b></font>
This software provides the parallel functionality for PETSc. </p>
      <ul>
        <li> If <font color="##ff0000">./config/configure.py</font> cannot locate MPI you can indicate its location with
             <font color="##ff0000">--with-mpi-dir=directory</font> or <font color="##ff0000">--with-mpi-include=directory</font>
             <font color="##ff0000">--with-mpi-lib=libraryname</font> <font color="##ff0000">--with-mpi-run=pathofmpirun</font>
           </li>
           <ul>
             <li>On parallel machines, Vendor provided MPI might already be
                  installed.&nbsp;     IBM, SGI, Cray etc provide their own.&nbsp;</li>
             <li>If vendor provided MPI is not available, it can be
                   installed from sources.     We recommend MPICH</li>
           </ul>
     <li>Use the <font color="##ff0000">./config/configure.py</font> option <font color="##ff0000">--with-mpich</font> 
         then PETSc will download and install MPICH for you.
      </ul>
      <table border="1" cellpadding="0" cellspacing="0"
 style="border-collapse: collapse;" bordercolor="#111111" width="72%"
 id="AutoNumber5">
        <tbody>
          <tr>
            <td width="26%">&nbsp;MPI&nbsp;&nbsp;&nbsp; </td>
            <td width="74%">&nbsp;<a href="http://www.mpi-forum.org">http://www.mpi-forum.org</a></td>
          </tr>
          <tr>
            <td width="26%">&nbsp;MPICH</td>
            <td width="74%">&nbsp;<a
 href="http://www.mcs.anl.gov/mpi/mpich">http://www.mcs.anl.gov/mpi/mpich</a></td>
          </tr>
          <tr>
            <td width="26%">&nbsp;LAM</td>
            <td width="74%">&nbsp;<a href="http://www.lam-mpi.org">http://www.lam-mpi.org</a></td>
          </tr>
          <tr>
            <td width="26%">&nbsp;MPICH-NT (Microsoft Windows)</td>
            <td width="74%">&nbsp;<a
 href="http://www-unix.mcs.anl.gov/%7Eashton/mpich.nt">http://www-unix.mcs.anl.gov/~ashton/mpich.nt</a></td>
          </tr>
          <tr>
            <td width="26%">&nbsp;MPI/Pro (Microsoft Windows)</td>
            <td width="74%">&nbsp;<a
 href="http://www.mpi-softtech.com/products/mpi_pro">http://www.mpi-softtech.com/products/mpi_pro</a></td>
          </tr>
          <tr>
            <td width="26%">&nbsp;HPVM (Microsoft Windows)</td>
            <td width="74%">&nbsp;<a
 href="http://www-csag.ucsd.edu/projects/hpvm.html">http://www-csag.ucsd.edu/projects/hpvm.html</a></td>
          </tr>
          <tr>
            <td width="26%">&nbsp;WMPI (Microsoft Windows)</td>
            <td width="74%">&nbsp;<a
 href="http://www.criticalsoftware.com/hpc">http://www.criticalsoftware.com/hpc</a></td>
          </tr>
        </tbody>
      </table>
	
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to         Installation Instructions</a>&nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">  Return to  Manual Installation Instructions</a></b></font> </p>
      <hr> 	
      <p><font color="#551a8b"><b><a name="I don't want to use MPI:">I
don't want to use MPI:</a></b></font> You can build (sequential) PETSc
without an MPI.</p>
      <ul>
        <li>If building PETSc with configure run <font color="#ff0000">./config/configure.py
--with-mpi=0 ....</font></li>
        <li>Otherwise edit<font color="#ff0000"> </font><b><font
 color="#551a8b"><a name="bmake/${PETSC_ARCH}/packages">bmake/${PETSC_ARCH}/packages</a> </font> </b>and
use
          <pre># Location of MPI (Message Passing Interface) software<br>#<br>MPI_LIB        = ${PETSC_DIR}/lib/lib${BOPT}/${PETSC_ARCH}/libmpiuni.a<br>MPI_INCLUDE    = -I${PETSC_DIR}/include/mpiuni<br>MPIRUN         = ${PETSC_DIR}/bin/mpirun.uni<br></pre>
        </li>
      </ul>
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to         Installation Instructions</a>&nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">  Return to  Manual Installation Instructions</a></b></font> </p>
      <hr>
      <p><font color="#551a8b"><b><a name="Optional Packages">Optional
Packages</a>:</b></font>&nbsp; PETSc can be installed with <a
 href="http://www.mcs.anl.gov/petsc/petsc-2/miscellaneous/acknwldg.html#otherpackages">
various optional packages</a> - including SuperLU, Spooles, Matlab
etc..&nbsp;</p>
      <p>The optional package information is specified in
bmake/${PETSC_ARCH}/packages file. An example specification is as
follows:</p>
      <pre>PARMETIS_INCLUDE    = -I/home/petsc/soft/solaris-9/ParMetis-3.0<br>PARMETIS_LIB        = -L/home/petsc/soft/solaris-9/ParMetis-3.0 -lparmetis -lmetis<br>PETSC_HAVE_PARMETIS = -DPETSC_HAVE_PARMETIS</pre>
      <p>Notice that the include, library paths, library files are
specified, and a flag is set - to enable the package within PETSc.
For more example usage for any other package, check out the default
bmake/*/packages files in the distribution</p>
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to         Installation Instructions</a>&nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">  Return to  Manual Installation Instructions</a></b></font></p>
      <hr>
      <h3><a name="Aditional Microsoft Windows Notes:"><font color="#551a8b">Aditional
Microsoft Windows Notes:</font></a></h3>
      <p><b><font color="#551a8b">Compilers:</font></b> Support
Microsoft (win32_ms*), Intel (win32_intel), Borland (win32_borland),
Gnu compilers (win32_gnu)</p>
      <p><font color="#551a8b"><b>Project Files:</b> </font>We provide
default project files that work with PETSC_ARCH=win32_ms_mpich.  They
are located at ${PETSC_DIR}/projects. Be sure to build the libraries
that correspond to the project configuration you are using.  To use a
C++ project with Debug configuration, BOPT=g_c++ libraries are required.</p>
      <p><b><font color="#551a8b">Debugger:&nbsp; </font></b>Running
PETSc probrams with -start_in_debugger is not supported on this
platform, so debuggers will need to be initiated manually.  Make sure
your environment is properly configured to use the appropriate debugger
for your compiler.  The debuggers can be initiated using Microsoft
Visual Studio 6: <b>msdev&nbsp;ex1.exe</b>, Microsoft Visual Studio
.NET: <b>devenv&nbsp;ex1.exe</b>, Intel Enhanced Debugger: <b>edb&nbsp;ex1.exe</b>,
or GNU Debugger <b>gdb&nbsp;ex1.exe</b>.</p>
      <p><b><font color="#551a8b">PETSc Win32 front end - win32fe</font>:</b>&nbsp;
This tool is used as a wrapper to Microsoft/ Borland/ Intel compilers
and associated tools - to enable building PETSc libraries using make
and other UNIX tools. For additional info, run
${PETSC_DIR}/bin/win32/win32fe without any options.</p>
      <p><font color="#551a8b"><b><a href="#Docs:%20%20Installation">Return
to         Installation Instructions</a>&nbsp;&nbsp;&nbsp;&nbsp<a href="#Manual">  Return to  Manual Installation Instructions</a></b></font></p>
      <hr> 	
      <hr> 	
      <hr> 	
  <h4><font color="#551a8b"><a name="Manual">Manual Installation:</a></font>
  <ul>
     <li>apply the <a href="../download/petsc-patches.html">patches</a> (using GNU patch utility)<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">cd
         petsc-2.2.0<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; patch -Np1 &lt; petsc_patches_all_2.2.0 </font></li>
     <li>Run <font color="#ff0000">bin/petscarch -suggest </font> and from the list
         of manual choices select the one that most closely resembles your system, call it <font color="#ff0000">arch</font></li>
     <li> Select a name for your configuration, we recommend <font color="#ff0000">arch</font>
          followed by <font color="#ff0000">_local</font>. For example, <font color="#ff0000">linux_local</font>
     <li>sh/bash shell <br>
          <font color="#ff0000"><a href="#PETSC_DIR">PETSC_ARCH</a>=choosen name; export PETSC_DIR</font></br>
          csh/tcsh shell<br>
          <font color="#ff0000">setenv <a href="#PETSC_DIR">PETSC_ARCH</a> chosen name</font></li>
       <li> <font color="#ff0000">mkdir bmake/${PETSC_ARCH}</font></li>
     <li> <font color="#ff0000">cp bmake/arch/* bmake/${PETSC_ARCH}</font> (ignore possible warning messages about not copying directories)</li>
     <li> Edit <a href="#bmake/$%7BPETSC_ARCH%7D/packages">bmake/${PETSC_ARCH}/packages</a> and
          specify the location of <a href="#BLAS/LAPACK">BLAS, LAPACK</a> and <a href="#MPI:">MPI</a>.
          I <a href="#I%20don%27t%20want%20to%20use%20MPI:">Don't want MPI</a> </li>
     <li><a href="#Optional%20Packages">Add</a> optional packages to
            the <font color="#008080"><a href="#bmake/$%7BPETSC_ARCH%7D/packages">bmake/${PETSC_ARCH}/packages</a></font> </li>
       <li> <font color="#ff0000">make BOPT=g all</font></li>
        <li><font color="#ff0000">make BOPT=g test</font></li>
   </ul>
Examples:
   <ul>
<li>install PETSc on solaris&nbsp; manually&nbsp; by modifying
the configuration files with   Sun compilers<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">export
PETSC_DIR=/home/petsc/petsc-2.1.6<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $PETSC_DIR<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bin/petscarch -suggest<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PETSC_ARCH=solaris_local; export PETSC_ARCH<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkdir bmake/solaris_local<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp bmake/solaris/* bmake/solaris_local</font><br>
&nbsp; edit <font color="#008080">bmake/solaris_local/packages</font> - and
update the   location of BLAS, LAPACK, MPI<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">make BOPT=g<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=g test</font></li>
        <li>install PETSc on Microsoft Windows, with MPICH-NT, Microsoft
Compilers, Intel MKL<br>
&nbsp; install cygwin package and use 'bash' from cygwin as the
working   shell<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">export
PETSC_DIR=/home/petsc/petsc-2.1.6<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cd $PETSC_DIR<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bin/petscarch -suggest<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; export
PETSC_ARCH=win32_ms_mpich_local<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mkdir bmake/win32_ms_mpich_local</font><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cp bmake/win32_ms_mpich/* bmake/win32_ms_mpich_local<br>
&nbsp; edit <font color="#008080">bmake/win32_ms_mpich_local/packages</font>
and make sure the paths to     MPICH-NT, Intel MKL (BLAS,LAPACK) are
correct<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">make BOPT=g<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; make BOPT=g test</font></li>
      </td>
	</body>
</html>