PFT2 and EM3DR2 Downloading and Installing

PFT2 and EM3DR2 run on the following platforms:  AIX, Darwin (Mac OS X), IRIX (SGI), Linux, Solaris, Tru64 (OSF1), and OpenVMS.  We have attempted to make the two programs portable so they should compile on other platforms as well.


Availability and downloading

1) The package has extensive links to the Bsoft package.  Please download and install Bsoft 1.4 (or later) first.

2) Then download and install PFT2 (2.0.4 2008-04-10) and EM3DR2 (version 2.0.2 2008-03-29):
gzipped tar file (approx. 1.2 megabytes):  pft3dr_20080410.tgz
tar file (approx. 3.3 megabytes):                pft3dr_20080410.tar
OR, you may try a precompiled binary (Bsoft must be installed, these were compiled with Bsoft 1.5.4).  Install in pft3dr directory (see steps 2, 3, 5, 6, 8, and 9 of compiling and installing PFT3DR, below)
    -Macintosh (Darwin) Intel, PPC, and universal binaries
          pft3dr_20080410_bin_MacIntel.tgz
          pft3dr_20080410_bin_MacPPC.tgz
          pft3dr_20080410_bin_MacUniversal.tgz
    -Linux binaries
          pft3dr_20080410_bin_Linux.tgz


Compiling and installing PFT3DR

1) You must have C/C++ and FORTRAN compilers installed.  The GNU compilers, gcc and gfortran (or g77) are recommended.

2) For Unix machines, the best location for both Bsoft and PFT3DR is in the /usr/local directory, for example /usr/local/bsoft and /usr/local/pft3dr.

3) In the PFT3DR directory (e.g. /usr/local/pft3dr),
    a) Unzip the gzipped distribution file:
           gunzip pft3dr*.tgz
    b) Unpack the tar file:
           tar -xvf pft3dr.tar            (UNIX machine)
           vmstar -xvf pft3dr.tar      (VMS machine)
    c) Or, unzip and unpack in one step (UNIX only) with the command
           tar -zxvf pft3dr*.tgz

4) The package is compiled by typing within the pft3dr directory:
       ./make_pft3dr.sh     (UNIX)
       @make_pft3dr        (VMS)

5) The binary executables are deposited in the "pft3dr/bin" directory. The make_pft3dr.sh (UNIX) or make_pft3dr.com (VMS) script can be modified to install the binaries in other directories, or the binaries can be moved from the "bin" directory to a new location.

6) For UNIX installations, be sure that the "pft3dr/bin" directory is in your PATH.  For example, in the .cshrc file in your home directory, include the line
"setenv PATH /usr/local/pft3dr/bin:$PATH"

7) If you are upgrading, you may want to use run clean_pft3dr.sh (UNIX) or clean_pft3dr.com (OpenVMS) to first remove old files.  See the header of the script file for instructions.

8) Users of Linux and older versions of Mac OS X (Darwin), please note that you may need the following line in your environment-setup file (e.g. .cshrc):  "limit stacksize 32768".  Try running the programs without first.  If a program crashes execute the statement in your UNIX shell and try running again.

9) If, when running make_pft3dr.sh, you see the error "Standard C++ library not found" or the file libstdc++.* is not found:
        cd /usr/lib/
        ls -l libstdc++*
        You will see something like the following:
        -rw-r--r--   1 root  wheel  6766168 Sep 11  2006 libstdc++-static.a
        -rwxr-xr-x   1 root  wheel  3559472 Aug  1 11:36 libstdc++.6.0.4.dylib
        lrwxr-xr-x   1 root  wheel       21 Jul 13 10:36 libstdc++.6.dylib -> libstdc++.6.0.4.dylib
        Now, make a symbolic ("soft") link to libstdc++.6.dylib
        sudo ln -s libstdc++.6.dylib libstdc++.dylib
        A new file listing will show
        -rw-r--r--   1 root  wheel  6766168 Sep 11  2006 libstdc++-static.a
        -rwxr-xr-x   1 root  wheel  3559472 Aug  1 11:36 libstdc++.6.0.4.dylib
        lrwxr-xr-x   1 root  wheel       21 Jul 13 10:36 libstdc++.6.dylib -> libstdc++.6.0.4.dylib
        lrwxr-xr-x   1 root  wheel       17 Oct 24 15:08 libstdc++.dylib -> libstdc++.6.dylib

10) For Mac OS X (Darwin)
      *Recommend compilers
           -C/C++, Xcode from Apple
           -FORTRAN, gfortran from http://r.research.att.com/tools/
      *if you would like to make a universal (PowerPC and Intel) version
           -Install a version of gfortran that will make universal binaries (version 4.2 or later seems to be necessary)
           -Uncomment the following line in make_pft3dr.sh:
        set ARCH = '-arch ppc -arch i386'


11) For 64-bit Linux machines,
      PFT3DR does not currently work as 64 bit.  Therefore, you need to have a version of Bsoft that is 32-bit.
      -Compile Bsoft as 64-bit, put in /usr/local/bsoft
      -Compile Bsoft as 32-bit in the directory /usr/local/bsoft32
      -The LD_LIBRARY_PATH definition for Bsoft should include both 64-bit and 32-bit versions
             setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:/usr/local/bsoft32/lib:$BSOFT/lib  (in .cshrc)
             export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$BSOFT/lib":/usr/local/bsoft32/lib"  (in .bashrc)
      -Compile PFT3DR or use precompiled version


Back to main PFT3DR page


25 Apr 2008
Questions, problems, or bugs?  Contact David_Belnap@byu.edu