Windows Questions

Frequently Asked Windows Questions

Installation & License Questions

After installation, I receive the message “Unable to obtain license: license server not found” or “Unable to obtain license: license not found.” How do I fix this?

Single User Licenses:
  1. Using a text editor, open the file named license.dat located in the Absoft installation folder (usually C:\AbsoftXX.X where XX.X represents the product version number)
  2. If your license file does not contain a line which reads “SERVER: 127.0.0.1”, add this line at the top of the file.
  3. Verify that there is a line which begins with “LICENSE:” If there is a line which begins with “PRO:”, replace “PRO:” with “LICENSE:”
  4. Verify that the string following “LICENSE:” does not contain any dashes (“-“).
  5. If you made any changes, save the license file in plain text format.
  6. Reboot your computer and test.
  7. If you still receive the error, contact our support team for further assistance.
Multiple User Licenses:
  1. Contact our support team and describe your issue, being sure to include the operating system and hardware information for the system on which you are running the Absoft license server and for the client which is unable to obtain a license.

*Attach the license.dat files from the server and from the client which is unable to obtain a license.

How do I upgrade a trial license to a purchased license without re-installing?

To replace a trial license with a purchased license:

  1. Using a text editor, open the file named license.dat located in the Absoft installation folder (usually C:\AbsoftXX.X where XX.X represents the product version number)
  2. Delete the license string that follows the word “LICENSE:”
  3. Type in your new license string without the dashes.
  4. Save the license file in plain text format.
  5. Restart your computer.

Do I need to uninstall my previous Absoft compiler before installing my upgrade

No. You do not need to remove any previous version of Absoft Pro Fortran to install a later version.

How do I install my Absoft compiler?

Use the following instructions to install the product.

For electronic delivery compilers:

  1. After downloading the compiler, double click the .exe which will unpack the product and then  launch the install browser.
  2. After the install browser appears, double click on the Absoft Pro Fortran item to begin installation.

You will need to enter your serial number to complete the installation. This can be found in your electronic delivery email.

If you have an Absoft USB or CD-ROM:

  1. Insert the Absoft Pro Fortran USB or CD-ROM in your computer.
  2. If the install browser program does not start automatically, open the USB or CD-ROM using the Windows Explorer and double click on Setup.exe to launch the install browser.
  3. After the install browser appears, double click on the Absoft Pro Fortran item to begin installation.

You will need to enter your serial number to complete the installation. This  can be found on the inside front cover of the CD/USB media case.

Common Memory Questions

Can I use more than 2 GB of memory on a 32-bit system?

The Windows limit of addressable space per application is 2 GB. However, a change to boot.ini can raise the limit to 3GB.

Information regarding this can be found here:http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx

How do I solve stack overflow problems?

The default for Pro Fortran is a 1 megabyte stack. The option -stack:n can be used to increase the stack (where n is the amount of stack required). For example, -stack: 0x2000000 will allocate approximate 32 megabytes to the stack.

Alternately, you can use the -s compiler option to program storage from the stack to the heap.

Compiling & Linking Questions

What are the default external name conventions for Absoft compilers?

Starting with version 10.1, the default behavior for Absoft compilers is to fold external names to lower case and append a single underscore.

How do I resolve the error “XXXX is specified as the module name on a USE statement, but the compiler cannot find it.”?

The Absoft compilers will look for Fortran 90 module files in the current directory and in any directories specified using the -p option from the command line or through the FORTRAN options page in the AbsoftTools IDE.

How do I resolve undefined reference errors for procedures which are contained in Fortran 90 modules?

When Fortran 90 modules are compiled, the compiler creates a .mod file for the module’s definitions and an object file for the module’s code and data items. This object file must be presented to the linker to resolve reference to the module’s code and data items.

Can I generate 64 bit Windows programs on my 32 bit system?

Yes. Adding the -m64 option at the command line or the selecting “64-bit Code” target option in the AbsoftTools IDE will create a 64 bit application on either a 32 or a 64 bit system. However, a 64 bit application will only execute on a 64 bit system.

How can I compile my Fortran/C/C++ program on Windows?

The Absoft Pro Fortran Compiler Suite is designed to work with Microsoft Visual C for mixed language programming.

The Microsoft Visual C/C++ express version is free to download and install here

IMSL & Other Library Questions

How do I use the IMSL libraries?

NOTE: The IMSL library is built with all external symbols folded to lower case with trailing underscores.

If you are building your program with the Absoft Developer Tools Interface, simply select Default Tool Options from the Project Menu, choose General options, and click the IMSL check box. The Absoft Developer Tools Interface will add all of the necessary compiler options and libraries.

To use the library from the command line, the necessary environment variables were established when the library was installed. Refer to the following document for complete details on using the library from the command line:

C:\AbsoftXX.X\imsl\fnl700\winab115i32\notes\Quickstart.txt

Or:

C:\AbsoftXX.X\imsl\fnl700\winab115x64\notes\Quickstart.txt

Where do I find the IMSL documentation?

The IMSL documentation, supplied in PDF format, is located in:

C:\AbsoftXX.X\imsl\fnl700\help

How do I link to libraries?

All libraries supplied with the Absoft compiler (such as LAPACK) are built with all external symbols folded to lower case with trailing underscores. The required options for linking to these libraries are:

f90: -YEXT_NAMES=LCS, -YEXT_SFX=_

f77: -f -N15

NOTE: These are default options for Pro Fortran V10.1.

To link with other third party libraries, it is necessary to determine how the external symbol names are presented (case folding and decoration) and use the appropriate compiler options.

Other Common Questions

How can I modify the default behavior of the Absoft runtime library?

The runtime library checks for an environment variable named ABSOFT_RT_FLAGS on entry to the first I/O statement in a program.

The following switches can be specified using this variable:

-defaultcarriage:
Causes the units preconnected to standard output to interperet carriage control characters as if they had been connected with ACTION=’PRINT’.

-fileprompt:
Causes the library to prompt the user for a filename when it implicitly opens a file as the result of I/O to an unconnected unit number. By default, the library creates a filename based on the unit number.

-vaxnames:
Causes the library to use ‘vax style’ names (FORnnn.DAT) when creating a filename as the result of I/O to an unconnected unit number.

-unixnames:
Causes the library to use ‘unix style’ names (fort.nnn) when creating a filename as the result of I/O to an unconnected unit number.

-bigendian:
Causes the library to interpret all unformatted files using big endian byte ordering.

-littleendian:
Causes the library to interpret all unformatted files using little endian byte ordering.

-noleadzero:
Causes the library to surpress the printing of leading zeroes when processing an Fw.d edit descriptor. This only affects the limited number of cases where the ANSI standard makes printing of a leading zero implementation defined.

-reclen32:
Causes the library to interpret the value specified for RECL= in an OPEN statement as 32-bit words instead of bytes.

-f90nlexts:
Allows f90 namelist reads to accept non-standard syntax for array elements. Without this flag, the following input results in a runtime error:

$ONE

A(1)=1,2,3,4

$END

When -f90nlexts is set, the values are assigned to the first four elements of A.

-connectunit9
Causes UNIT 9 to be preconnected to standard input and output.

-maceol
Formatted sequential files are in Classic Macintosh format where each record ends with a carriage return.

-doseol
Formatted sequential files are in Windows format where each record ends with a carriage return followed by a line feed.

-unixeol
Formatted sequential files are in Unix format where each record ends with a line feed.

-hex_uppercase
Data written with the Z edit descriptor will use upper case characters for A-F.

To set ABSOFT_RT_FLAGS open a command prompt window and enter:

set ABSOFT_RT_FLAGS=-switch

*Note: MRWE applications must be launched from the command prompt so that the ABSOFT_RT_FLAGS will be used.

Is there a compiler option that will force the compiler to consider the byte ordering of all unformatted files to either big or little endian?

Use the F90 open statement specifier:

convert ={“big_endian”|”little_endian”}

For example:
Open (10,file=”filename”,form=”unformatted”,convert=”big_endian”)

Or, use the ABSOFT_RT_FLAGS as described in the FAQ on using the ABSOFT_RT_FLAGS environment variable.

Is there a way to read an ASCII tab character, CHAR(9), from a file?

Tabs read from formatted files are expanded modulo TABSIZE where TABSIZE is an environment variable. If TABSIZE is not set, tabs are expanded modulo 8. If TABSIZE is set to 0, the tab is passed unmolested to the application.

Are Unix and Vax subroutines such as DATE, TIME, GETARG, IARGC, etc, supplied with the Absoft compiler?

Complete Unix and Vax compatibility libraries are provided with the Absoft compiler. They are documented in the Absoft manual “SupportLibrary.pdf” in the Absoft documentation directory. Several methods of accessing the library are available. The easiest is with the Absoft Developer Tools Interface. From the Project menu, select Default Tool Options. In the General options section, check the Unix Library or the Vax Library check box.

Fortran 90/95 modules are also provided for these libraries. Simply add a USE statement to use program.

For example:

use vax_library
character*20 thedate
call date(thedate)
print *,thedate
end

use unix_library
character*24 tim
tim = ctime(5)
write (*,*) tim
end

Is it possible to execute DOS commands like DIR or CLS with the Unix library SYSTEM function?

You need to use “cmd /c ” to execute the MS-DOS prompt built-in commands. For example: call SYSTEM(“cmd /c dir”)

How do I pass an array from VB to a DLL?

Refer to your Microsoft VisualBasic Programmer’s Guide page 652. VB passes entire arrays using OLE Automation argument protocols. Absoft F77/F90 expect CDECL arguments. The VB manual section explains how to pass the address of the first argument of the array.

Basically:

Declare … lParam as Any

Dim array(100)

Call DLL(array(0))