Lahey/Fujitsu Linux64 Fortran -- LF64 -- January 2009 Copyright (c) 2009, Lahey Computer Systems, Inc. Copyright (c) 2009, FUJITSU, LTD. Lahey/Fujitsu v8.10b Linux64 Fortran Package ------------------------------------------ 1. Installing LF64 2. Product Activation 3. Minimum System Requirements 4. Using LF64 5. Verifying the installation 6. Documentation 7. Uninstalling LF64 8. Release Notes 9. New Features 10. Known Technical Issues 11. Year 2000 Issues ------------------------------------------ 1. Installing LF64 ------------------ The following steps will guide you through the installation process. 1) Download lf64-8.1b.tar from the Lahey Computer Systems, Inc. web site. 2) Login to your Linux system as root. 3) Restore files from the archive lf64-8.1b.tar. E.G. tar -xpf lf64-8.1b.tar 4) Run ./install to install LF64. The default installation directory is /usr/local/lf6481, however, you can change it to a directory of your choice during the installation. 2. Product Activation --------------------- Before using LF64, it must be activated. This is true for both trials and for purchased products. If you have already activated a trial on this computer, then subsequently received a serial number for a licensed product, then you must complete the activation process again to enter your serial number and to receive a new lflic.dat file. The activation process determines a unique hardware I.D. for the system and creates a text file, keyreq.txt, which contains activation instructions and a 64-digit encrypted key comprised of the MAC address of the systems network interface card and date information. This key must be delivered to Lahey Computer Systems, Inc. either by online activation during the activation process or by entering it on the Lahey web site. The activation process can be completed during installation or can be started manually by running the activate script in /bin: cd /bin ./activate The activation process allows the choice to deliver the key online (Internet connection is required) or manually. Online Activation Simply answer yes to the request to attempt an online activation during the activation process. If an error occurs, follow the instructions for manual activation. If it is successful, Lahey will return the license file lflic.dat to the email address entered during the activation process. Save lflic.dat to /bin. The license file will limit operation of LF64 to the system on which keyreq.txt was created. Manual Activation If the system is not connected to the Internet, or if the manual method is desired, answer no to the request to attempt an online activation. This will create the file keyreq.txt in /bin. The user will need to copy the 64-digit license key from keyreq.txt and paste it into the license key field at www.lahey.com/actlf64.asp. Lahey will return the license file lflic.dat to the email address entered on the web form. Login as root and save lflic.dat to /bin. The license file will limit operation of LF64 to the system on which keyreq.txt was created. PRO Edition with serial number only: To enable use of the SSL/BLAS/LAPACK and WiSK libraries, after saving lflic.dat to your bin directory (as root user) run: cd /bin ./actlib Only the hardware ID and user information entered during the activation process will be delivered to Lahey Computer Systems, Inc. Registered users receive free technical support via fax and e-mail. If the user agrees, registration information will also be collected during the activation process. Registration can be completed at another time by running the register script in /bin. cd /bin ./register Upgrading from a Trial License to a Full License If you began with a trial license and have now purchased a full license, the product does not need to be re-installed, it only needs to be re-activated. Run the /bin/activate program and proceed with Manual or Online activation as detailed above, entering your new full license number. Once you have copied the new lflic.dat file into the /bin directory, the product will be recognised as a fully-licensed version. License Errors If there is a problem with activation or some configuration has changed, the following license errors may be generated when the compiler is used: ERROR -- License Error : 1 The license file lflic.dat has not been found. This file must be in /bin ERROR -- License Error : 2 The license file lflic.dat is damaged. Restore a good copy from backup. ERROR -- License Error : 3 The license file lflic.dat is damaged. Restore a good copy from backup. ERROR -- License Error : 4 The license has expired. The trial period has finished. ERROR -- License Error : 6 The MAC address encrypted in lflic.dat does not match any of the network card addresses ERROR -- License Error : 7 The license file lflic.dat is out of date. Locate your new v8.1 license file or contact sales to purchase an upgrade. ERROR -- License Error : 36510 A trial license has been upgraded to a full license but without running /bin/activate 3. Minimum System Requirements ------------------------------ Operating System We support LF64 on the following Linux distributions: Distribution Kernel libc ------------------------------------------------- Fedora 8 2.6.23 2.7-2 Ubuntu 8.04 2.6.24 2.7-10 CentOS 5 2.6.18 2.5-18 Open SUSE 10.3 2.6.22 2.6.1 ------------------------------------------------- Please see our web site, www.lahey.com, for a complete list of tested and supported operating systems. Required Software and files: The LF64 installation assumes that "as" (the GNU assembler), and "ld" (the GNU linker), and crt1.o are available on the system. - /usr/bin/as - /usr/bin/ld - /lib64/ld-linux-x86-64.so.2 - /usr/lib64/crt1.o - /usr/lib64/crti.o - crtbegin.o - crtend.o - /usr/lib64/crtn.o - libc - libm - libpthread - librt - libgcc_s, libgcc, libgcc_eh - libelf(*) If the f95 command outputs the error message "cannot find -lelf", install the libelf rpm or deb package, such as elfutils-libelf-devel-0.97-5, from Linux installation CD. - lib32gcc1, libC6-i386 Under Ubuntu-64, the 32-bit gcc software may need to be installed CPU Intel(R) EM64T, or AMD(R) AMD64 Hardware PC/AT compatible Disk 40MB Express 100MB Pro Memory 32MB RAM xpdf to view online PDF documentation 4. Using LF64 ------------- Environment variables The following environment variables must contain the information described for correct operation of LF64: PATH - (INSTALL DIRECTORY)/bin LD_LIBRARY_PATH - (INSTALL DIRECTORY)/lib64 An alternative to setting LD_LIBRARY_PATH is to add (INSTALL DIRECTORY)/lib64 to /etc/ld.so.conf and run /sbin/ldconfig. MANPATH - (INSTALL DIRECTORY)/manuals/man/lf64/ WISK - (INSTALL DIRECTORY)/ (PRO Edition only) Shell environment setup via bash_laheyfort_setup and/or csh_laheyfort_setup To use the LF64 products and view man pages, the shell environment variables must be updated with LF64 information. To accomplish this, two scripts have been created in LF64 installation directory. The script bash_laheyfort_setup is used to update the bash environment and the csh_laheyfort_setup script is used to update the csh environment. One of these scripts can be executed via the source command to set up the respective bash or csh environment. For example, the following command will update the environment variables of the csh shell: "source (INSTALL DIRECTORY)/csh_laheyfort_setup" Note, depending on your system you may need to execute bash_laheyfort_setup via the "." command for the settings to take effect. To update a shell environment automatically, this command can be added to the system login script(s). Note: The LF64 driver program (lfc) makes calls to the LF64 file f95 included in the bin directory of the LF64 installation. If another file with this name is available via the PATH environment variable before the LF64 version, the system will call it instead with unknown results. Lahey/Fujitsu Linux64 Fortran Compiler, LF64 To use LF64, type the following at the command prompt: lfc sourcefile (where sourcefile is the name of the file to compile) A symbolic link named lf95 has been created so that makefiles used with Lahey/Fujitsu LF95 can be used. Fujitsu Debugger, FDB To use the debugger type the following at the command prompt: fdb executable (where executable is the -g compiled program to debug) 5. Verifying the installation ----------------------------- To verify that LF64 has been installed correctly, compile and run an example program. During the installation the example program, demo.f90, is installed in the (INSTALL DIRECTORY)/examples/fortran directory. From the command prompt, build the demo program by changing to the directory where demo.f90 is installed, and entering: lfc demo.f90 This causes the compiler to read and compile the source file demo.f90 and generates modules utilities_module.mod and constants_module.mod. The modules are then combined with the demo object file and the runtime libraries via the linker ld to form the executable file a.out. Run the demo program executable by typing its name at the command prompt preceded by ./ to reference the current directory: ./a.out The demo program will begin with the following header and menu: Lahey/Fujitsu Linux64 Fortran Compiler -------------------------------------- installation test and demonstration program Copyright(c) 2006 Lahey Computer Systems, Inc. ----------------- Test/Action List: ----------------- 1 - factorials 2 - Fahrenheit to Celsius conversion 3 - Carmichael numbers 4 - Ramanujan's series 5 - Stirling numbers of the 2nd kind 6 - chi-square quantiles 7 - Pythagorean triplets 8 - date_and_time, and other system calls 0 - Please select an option by entering the associated number followed by . By completing these steps you have verified the installation of LF64 and have successfully built and run the example program. 6. Documentation ---------------- A PDF version of the LF64 User's Guide is installed as (INSTALL DIRECTORY)/manuals/user_man.pdf. A PDF version of the LF64 Language Reference is installed as (INSTALL DIRECTORY)/manuals/langref.pdf. Man pages for many Fortran intrinsic functions are also available. PRO Edition only Automake An Automake man page is available as "am" and a resource compiler man page is available as "rc". Information is also included in the LF64 User's Guide. WiSK documentation is installed as Help files are supplied in HTML format in (INSTALL DIRECTORY)/help/, accessible via the main wisk.htm file. To access the on-line help files from within WiSK's visual tools the WISK environment variable needs to be set to (INSTALL DIRECTORY)/. 7. Uninstalling LF64 -------------------- To uninstall LF64, Login to your Linux system as root and run (INSTALL DIRECTORY)/uninstall. During the uninstall, you will be prompted to undo changes made by the installation to /etc/profile.local, /etc/bash.bashrc.local, /etc/csh.cshrc/local, or /etc/csh.login.local. Note, if user files have been added to the installation directories, they will not be removed by the uninstall program. The directories that contain these files will also not be removed and the uninstall program will state this. 8. Release Notes ----------------- Bug Fixes in v8.10b ------------------- * WRITE(*,'(a)') was missing the first character on output * Programs were terminating abnormally when allocatable component was specified in the derived type with SAVE attribute. Ex: module mod type t real,allocatable :: a(:) end type end module subroutine sub() use mod type(t),allocatable,save :: ta(:) .... end subroutine * The execution performance was worse when a dummy argument was associated with actual argument of array section, and the issue is improved. Ex: call sub( array(:,:,1),i,j,k ) end subroutine sub(array,i,j,k) real array(i,j,k) .. end subroutine * Executable programs were terminating abnormally when intrinsic function SIN and COS were specified together in a loop. * The compiler was terminating abnormally when the program that uses nested loops was compiled with -O2 or higher option. * The program was terminating abnormally when an OpenMP or automatic-parallelized program was built as shared library. Bug Fixes in v8.10a ------------------- * --blocksize now supported correctly * --xref: Seg fault fixed due to bad managed buffer and incorrect creation of temp. files * --inline and -x now supported correctly * Licence Errors have been improved so compiler continues working if ethernet is disconnected * Improved syntax validation of email during installation to fix HTTP_POST_ERROR messages * bash_setup and csh_setup renamed to bash_laheyfort_setup and csh_laheyfort_setup to make uninstallation safer * library path added to /etc/ldd.so.conf.d/laheyFortran.conf during installation so libraries can always be found (in some distributions LD_LIBRARY_PATH can not be set) * Modified Installation files to make them compatible with more distributions 9. New Features ---------------- New Features in LF64 v8.1 ========================= * COMPLEX constants (a Fortran 2003 feature) are now supported REAL, PARAMETER :: a = 1.0 REAL, PARAMETER :: b = 2.0 COMPLEX :: c = (a,b) * suboptions "f" and "o" are supported within --chk and --chkglobal option "f" checks whether a file is connected with two devices at the same time "o" checks overlapping dummy arguments checks when an INTENT(OUT) assumed-size array is referenced, whether the variable is defined checks when a variable with SAVE is referenced, whether the variable is defined forces "a" and "u" suboptions * A new information message has been added: 2003-I "a.h", line 1: 'xxx' is declared in INCLUDE but never referenced To suppress the message, you can specify: lfc --info -swm 2003 a.f95 * Updated User Guide and Language Reference on-line PDF documentation 10. Known Technical Issues -------------------------- * The runtime is unable to trap numeric exceptions on the AMD(R) AMD64 processor. This means that --trap will have no effect. * Running the FDB debugger on Ubuntu and Fedora produces a Change_mode Internal Error. This can be corrected by linking the program with the -static switch. 11. Year 2000 Issues -------------------- Lahey compilers include a 2-digit date subroutine called DATE() that returns the last two digits of the current system date. Changing the output of this subroutine to 4 digits would cause problems in existing code so this subroutine will not be revised (however, the compiler will issue a warning that DATE does not return 4-digit year value). If you have code that calls the DATE subroutine, and that code assumes that the century is 1900, you may be subject to "Year 2000" problems. LF64 includes the Fortran 95 Standard DATE_AND_TIME subroutine. DATE_AND_TIME returns a 4-digit date. We recommend changing all code that uses DATE to use DATE_AND_TIME instead.