Each release of Linux changes many things, primarily the glibc libraries, the locations of files and headers for gcc, and changes to how executables are built. As a result, the PGI compiler install process has to adjust with each release, and the code shipped needs to be updated or expanded. Most compiler releases will be compatible with previous Linux versions existing at that time, though we do change the oldest release we support as the releases proceed.
Here are the PGI compiler releases and the versions of Linux they work with. Note, as is commonly done, we only update the most current release for a new version of Linux. The Linux version involved comes with a specific glibc and gcc version. If you use the versions that are bundled as part of the development tools for that Linux release, and they match another supported release below, then your installation will probably succeed. Not all versions of gcc/glibc can work with any linux release/kernel, however, so any a custom combination of Linux with gcc tools and libs should not be too different from the bundled release.
Here is a table of the Releases available and how to bring them up to their most up-to-date version. Be sure to add any patches after the latest version is downloaded and installed.
| Release | Linux Releases Verified to Install | Latest Version | Notes |
|---|---|---|---|
| 2010 |
32-bit and 64-bit - Red Hat 9.0, and RHEL 4.0/5.0/5.3,
SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3/11.0/11.1, SLES 9/10/11, Fedora 4/5/6/7/8/9/10/11, Ubuntu 8/9/9.04 |
10.3 | See new release page |
| 9.0 |
32-bit - Red Hat 9.0, and RHEL 3.0/4.0/5.0/5.3,
SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3, SLES 9/10/11, Fedora 4/5/6/7/8/9/10/11, Ubuntu 8/9 64-bit - SLES 9/10/11, SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3/11.0/11.1, RHEL 3.0/4.0/5.0/5.3, Fedora 4/5/6/7/8/9/10/11, Ubuntu 8/9 |
9.0-4 | See archive page |
| 8.0 |
32-bit - Red Hat 9.0, and RHEL 3.0/4.0/5.0/5.3,
SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3, SLES 9/10/11, Fedora 4/5/6/7/8/9, Ubuntu 8 64-bit - SLES 9/10/11, SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3, RHEL 3.0/4.0/5.0/5.3, Fedora 4/5/6/7/8/9, Ubuntu 8 |
8.0-6 | See archive page |
| 7.2 |
32-bit - Red Hat 9.0, and RHEL 3.0/4.0/5.0,
SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3, SLES 9/10, Fedora Core 4/5/6/7/8 64-bit - SLES 9/10, SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3, RHEL 3.0/4.0/5.0, Fedora Core 4/5/6/7/8 |
7.2-5 | See archive page |
| 7.1 |
32-bit - Red Hat 9.0, and RHEL 3.0/4.0/5.0,
SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3, SLES 9/10, Fedora Core 4/5/6/7 64-bit - SLES 9/10, SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3, RHEL 3.0/4.0/5.0, Fedora Core 4/5/6/7 |
7.1-6 | See archive page |
| 7.0 |
32-bit - Red Hat 7.3/8.0/9.0, and RHEL 3.0/4.0/5.0,
SuSE 8.0/8.1/8.2/9.0/9.1/9.2/9.3/10.0/10.1/10.2, SLES 9/10, Fedora Core 2/3/4/5/6 64-bit - SuSE SLES 8 SP2, SLES 9/10, SuSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2, RHEL 3.0/4.0/5.0, Fedora Core 2/3/4/5/6 (AMD64, Xeon EM64T) |
7.0-7 | See archive page |
| 6.2 |
32-bit - Red Hat 7.3/8.0/9.0, and RHEL 3.0/4.0,
SuSE 8.0/8.1/8.2/9.0/9.1/9.2/9.3/10.0/10.1, SLES 9/10, Fedora Core 2/3/4/5 64-bit - SuSE SLES 8 SP2, SLES 9/10, SuSE 9.0/9.1/9.2/9.3/10.0/10.1, RHEL 3.0/4.0, Fedora Core 2/3/4/5 (AMD64, Xeon EM64T) |
6.2-5 | See archive page |
| 6.1 |
32-bit - Red Hat 7.3/8.0/9.0, and RHEL 3.0/4.0,
SuSE 8.0/8.1/8.2/9.0/9.1/9.2/9.3/10.0, SLES 9, Fedora Core 2/3/4/5, 64-bit - SuSE SLES 8 SP2, SLES 9 SuSE 9.0/9.1/9.2/9.3/10, RHEL 3.0/4.0, Fedora Core 2/3/4/5 (AMD64, Xeon EM64T) |
6.1-6 | None |
| 6.0 |
32-bit - Red Hat 7.3/8.0/9.0, and RHEL 3.0/4.0,
SuSE 8.0/8.1/8.2/9.0/9.1/9.2/9.3, SLES 9, Fedora Core 2/3/4, 64-bit - SuSE SLES 8 SP2, SLES 9 SuSE 9.0/9.1/9.2/9.3.10, RHEL 3.0/4.0, Fedora Core 2/3/4 (AMD64, Xeon EM64T) |
6.0-8 |
SuSE 10 patch required
installed in $PGI |
| 5.2 |
32-bit - Red Hat 7.0/7.1/7.2/7.3/8.0/9.0, and RHEL 3.0,
SuSE 7.1/7.2/7.3/8.0/8.1/8.2/9.0/9.1/9.2, Fedora Core 2/3 64-bit - SuSE SLES 8 SP2, SuSE 9.0/9.1/9.2, RHEL 3.0 (AMD64, Xeon EM64T) |
5.2-4 |
See the 5.2
release page |
| 5.1 |
32-bit - Red Hat 7.0/7.1/7.2/7.3/8.0/9.0
SuSE 7.1/7.2/7.3/8.0/8.1/8.2/9.0 64-bit - SuSE SLES 8 SP2, SuSE 9.0 RHEL 3.0 (AMD64, Xeon EM64T) |
5.1-6 | None added |
| 5.0 |
32-bit RH 7.0/7.1/7.2/7.3/8.0/9.0
SuSE 7.1/7.2/7.3/8.0/8.1/8.2 64-bit SuSE 8.1 (AMD64, Xeon EM64T) |
64-bit 5.0-2
32-bit 5.0-2 |
Missing 64-bit Lapack
RedHat 7.3 libpgthread.so pgprof rebuild |
| 4.1 |
RH 6.0/6.1/6.2/7.0/7.1/7.2/7.3/8.0/9.0
SuSE 6.1/6.2/6.3/7.1/7.2/7.3/8.0/8.1/8.2 |
4.1-2 | 4.1-2 patches |
| 4.0 |
RH 6.0/6.1/6.2/7.0/7.1/7.2/7.3
SuSE 6.1/6.2/6.3/7.1/7.2/7.3/8.0 |
4.0-3 |
4.0-3 patch area
|
| 3.3 |
RH 6.0/6.1/6.2/7.0/7.1/7.2
SuSE 6.1/6.2/6.3/7.1/7.2/7.3 |
3.3-2 |
`cvttsd2si' problem
$SYSTEM problem -g77libs problem 3.3-2 patch area |
| 3.2 |
RH 6.0/6.1/6.2/7.0
SuSE 6.1/6.2/6.3/7.0/7.1 |
3.2-4 |
RH 7.0 patch
3.2-4 patch area |
| 3.1 | Red Hat 5.2/6.0/6.1 | 3.1-4 | 3.1-4 patch area |
| 3.0 | Red Hat 5.2 | 3.0-4 | 3.0-4 patch area |
PGI Workstation and PGI Server for Windows. Versions are added as they become available.
| Release | Windows Versions Verified to Install | Latest Version | Notes |
|---|---|---|---|
| 2010 |
32-bit - XP/Server 2003/Vista/Windows 7
64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server/HPC Server 2008/ Windows 7 64-bit |
10.3 | See new release page |
| 9.0 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server/HPC Server 2008 |
9.0-4 | See archive page |
| 8.0 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server/HPC Server 2008 |
8.0-6 | See archive page |
| 7.2 |
32-bit - 2000/XP/Server 2003/Vista
64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server |
7.2-5 | See archive page |
| 7.1 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server |
7.1-4 | See archive page |
| 7.0 |
32-bit - 2000/XP/Server 2003/Vista
64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server |
7.0-7 | See archive page |
| 6.2 |
32-bit - 2000/XP/Server 2003
64-bit - XP x64/Server 2003 x64/Compute Cluster Server |
6.2-5 | See archive page |
| 6.1 | 2000/XP/Server 2003/Windows x64 | 6.1-6 | |
| 6.0 | 2000/XP/Server 2003 | 6.0-8 | |
| 5.2 | XP/2000/NT | 5.2-4 | |
| 5.1 | XP/Me/2000/NT/98 | 5.1-6 |
|
| 5.0 | XP/Me/2000/NT/98 | 5.0-2 |
|
| 4.1 | XP/Me/2000/NT/98 | 4.1-2 | 4.1-2 patch area |
| 4.0 | XP/Me/2000/NT/98 | 4.0-3 | 4.0-3 patch area |
| 3.3 | XP/Me/2000/NT/98 | 3.3-2 |
`cvttsd2si' problem
Win98 'bad parameter' Win2K 'Temp' problem 3.3-2 patch area |
| 3.2 | Me/2000/NT/98 | 3.2-4 | 3.2-4 patch area |
| 3.1 | 2000/NT/98 | 3.1-4 | 3.1-4 patch area |
| 3.0 | NT/98 | 3.0-4 | 3.0-4 patch area |
PGI Visual Fortran Workstation and Server for Windows. Versions are added as they become available.
| Release | Windows Versions Verified to Install | Latest Version | Notes |
|---|---|---|---|
| 2010 |
32-bit - XP/Server 2003/Vista/Windows 7
64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista/HPC Server 2008/ Windows 7 64-bit Supports Microsoft Visual Studio 2008 (VS 2008 shell included) and 2005 |
10.3 | See new release page |
| 9.0 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista/HPC Server 2008 Supports Microsoft Visual Studio 2008 (VS 2008 shell included) and 2005 |
9.0-4 | See archive page |
| 8.0 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista/HPC Server 2008 Supports Microsoft Visual Studio 2008 (VS 2008 shell included) and 2005 |
8.0-6 | See archive page |
| 7.2 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista Supports Microsoft Visual Studio 2008 and 2005 |
7.2-5 | See archive page |
| 7.1 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista Supports Microsoft Visual Studio 2005 |
7.1-4 | See archive page |
| 7.0 |
32-bit - XP/Server 2003/Vista
64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista Supports Microsoft Visual Studio 2005 |
7.0-7 | See archive page |
| 6.2 |
32-bit - XP/Server 2003
64-bit - XP x64/Server 2003 x64/Compute Cluster Server Supports Microsoft Visual Studio 2005 |
6.2-6 | See archive page |
PGI Workstation and Server for OS X. Versions are added as they become available.
Note: PGI compilers and tools are not supported on Macintosh computers with PowerPC processors.
| Release | Mac OS X Versions Verified to Install | Latest Version | Notes |
|---|---|---|---|
| 2010 |
32-bit - MacOS 10.5 Leopard /10.6 Snow Leopard
64-bit - MacOS 10.5 Leopard /10.6 Snow Leopard |
10.3 | See new release page |
| 9.0 |
32-bit - MacOS 10.4.9 Tiger/10.5 Leopard/10.6 Snow Leopard
64-bit - MacOS 10.4.9 Tiger/10.5 Leopard |
9.0-4 | See archive page |
| 8.0 |
32-bit - MacOS 10.4.9 Tiger/10.5 Leopard
64-bit - MacOS 10.4.9 Tiger/10.5 Leopard |
8.0-6 | See archive page |
| 7.2 |
32-bit - MacOS 10.4.9 Tiger/10.5 Leopard
64-bit - MacOS 10.4.9 Tiger/10.5 Leopard |
7.2-5 | See archive page |
| 7.1 |
32-bit - MacOS 10.4.9 Tiger
64-bit - MacOS 10.4.9 Tiger |
7.1-6 | See archive page |
There are five types of licenses provided with PGI compilers. Four are still available.
The Trial license acts much like the FLEXnet style license, except it also has a time limit. It also introduces a time limit in the executable. Unless codes compiled with a trial license are recompiled with a permanent or temp license, they will stop working.
The Temporary/Demo license will work regardless of whether FLEXnet is running, and it does not introduce a time limit.
All other licenses are permanent—they never stop working with the PGI release version for which they were created. They will work also with all earlier PGI release versions back to 5.0.
User-Locked, node-Locked (a/k/a PGI style licenses) are no longer supported in PGI releases after 7.1 (ie 7.2 and newer releases will not work). They were created when users did not have a flexlm hostid, because they have no network card. That is rarely the case now. Network cards only need to be configured; they do not need to be connected to a network.
Node-Locked licenses restrict the use to a particular host and a certain maximum number of concurrent users. They are very useful when a number of users want to share a PGI product.
Floating licenses allow multiple nodes to use the compilers, and only restricts the maximum number of concurrent users across all of the systems. They usually require a single license server to serve all the paltforms running the compilers.
On Solaris, the hostid is a unique identifier the OS provides for your system that we use to manage our license usage. It is the output of 'hostid'.
On Windows, Linux, and OS X, the hostid is the Ethernet address (a/k/a MAC) of the network card that is configured. Older releases supported only device eth0 for FLEXnet style licensing, but the newer releases (as of 9.0) now support multiple configured network cards. If your license works with the current release, it should work with previous releases back to 5.0. Making the current release license work often requires the version of pgroupd be the one the came with the current release.
Whichever license is used, the hostid used to create the PGI license must not change, or the license validation will fail.
If your license.dat has a HOSTID=number, run
lmutil lmhostid
in the Windows, Linux, or OS X environment. lmutil resides in the same directory as the PGI compilers.
See if any of the hostid values displayed agree with the one found in your license.dat file. There can be more than one displayed.
If the hostid has changed, then login to your account and create new license keys. If you don't have an account, you'll need to register first. The PIN Code used to tie the license PIN to your account can be found in the original PGI order confirmation you received at the time of purchase. If you do not have your order acknowledgment then please contact PGI License Support and request that your PIN(s) be tied to your account.
The following applies to FLEXnet style node-locked and floating licenses only. Most problems with running license daemons are relatively minor although they may not seem like it at the time.
Use the following checklist to eliminate the easy things.
Is the compiler looking at the right license file?
You should see different behavior if you remove or rename the license.dat file. Check to see the $LM_LICENSE_FILE is set properly. $LM_LICENSE_FILE should be set to the full pathname of the license file, for node-locked (e.g. Workstation) licenses. For floating (SERVER, CDK) licenses, $LM_LICENSE_FILE can be the full pathname or of the form port_number_in_license@hostname_of_the_license_server. (Note: on the license server itself, $LM_LICENSE_FILE should only be set to the full pathname of the license file.)
Is the hostname of the license server in the SERVER line of the license file, a name that every machine using the compilers (including the license server) can use to communicate with the license server?
The /etc/hosts file and DNS associate hostnames to IPAs (IP Addresses). The FLEX utiliites require that the host specified as the hostname in the SERVER line of the license file be able to provide them with real IPAs. DNS can defeat this.
telnet hostname_of_the_license_server
or
ping hostname_of_the_license_server
or
rsh hostname_of_the_license_server date
or
ssh hostname_of_the_license_server date
succesfully from license_server to itself (for FLEXnet style node-locked), or from the compile platform to the license_server (for FLEXnet style floating licenses), it may be a candidate. But it may not be.
The PGI FLEXnet utility lmutil can provide a possible hostname_of_the_license_server. Try
lmutil lmhostid -hostname
which should return HOSTNAME=xxxxxx and the possible hostname_of_the_license_server would be xxxxxx in this case. But it may not work, due to DNS and other reasons.
Many node-locked (Workstation class) licenses can use the standard localhost name for the hostname_of_the_license_server and it often bypasses DNS.
Users can edit by hand the hostname_of_the_license_server on the SERVER line of the license file without having to regenerate the license.
Does the hostid agree with the one in license.dat?
See the previous section.
Is $PGI defined properly (e.g. export PGI=/opt/pgi) ?
Entering the command
set | grep PGI
will determine if it is properly defined.
Is $LM_LICENSE_FILE defined properly (e.g. export LM_LICENSE_FILE=/opt/pgi/license.dat)?
Entering the command
setenv | grep LM_LICENSE_FILE
will determine if it is properly defined.
Has the license.dat file been modified improperly?
This file must adhere to a specific format. Specifically,
The following is an example of a license.dat file
------------------------------------------------not including this SERVER hostname_of_the_license_server 0123456789ab 27000 DAEMON pgroupd PACKAGE pgi100-cdk-all pgroupd 10.0 DA207B27FB96 \ COMPONENTS="pgi-hpf-lin64:10.0 pgi-f95-lin64:10.0 \ pgi-f77-lin64:10.0 pgi-cc-lin64:10.0 pgi-cpp-lin64:10.0 \ pgi-hpf-lin32:10.0 pgi-f95-lin32:10.0 pgi-f77-lin32:10.0 \ pgi-cc-lin32:10.0 pgi-cpp-lin32:10.0 pgi-f95-win64:10.0 \ pgi-f77-win64:10.0 pgi-cc-win64:10.0 pgi-cpp-win64:10.0 \ pgi-f95-win32:10.0 pgi-f77-win32:10.0 pgi-cc-win32:10.0 \ pgi-cpp-win32:10.0 pgi-f95-osx64:10.0 pgi-f77-osx64:10.0 \ pgi-cc-osx64:10.0 pgi-cpp-osx64:10.0 pgi-f95-osx32:10.0 \ pgi-f77-osx32:10.0 pgi-cc-osx32:10.0 pgi-cpp-osx32:10.0 \ pgi-prof:10.0 pgi-dbg:10.0 pgi-dbg-gui:10.0 pgi-pvf:10.0" \ OPTIONS=SUITE_RESERVED SIGN="077E 6409 60D9 4951 5AE3 84B2 \ 8222 6F60 CC57 1B07 30A5 5EAA 7753 AE62 F5C7 10AE 6F22 FD08 \ 5368 3AD5 BFCF 38EF D39B 885A F2C6 B60F 6E38 F83C B4F6 D354" FEATURE pgi100-cdk-all pgroupd 10.0 31-dec-0 16 F29617892E85 \ VENDOR_STRING=000000:32:cdk:accel DUP_GROUP=U \ SUITE_DUP_GROUP=U BORROW=336 TS_OK SIGN="1A71 3F14 7F49 6FE2 \ 62CD C92F 3DA7 5412 40FF C1EE A18B FAF9 01D8 7F91 82AB 1D00 \ 32B2 B457 2595 8309 14DD 5947 1DBC 4F6D 7374 690F A05F E2E3 \ 6AC5 08AE" PACKAGE pgi71-cdk-all pgroupd 7.1 8D0D13A3265E \ COMPONENTS="pghpf-linux86-64:7.1 pgf90-linux86-64:7.1 \ pgf77-linux86-64:7.1 pgcc-linux86-64:7.1 pgcpp-linux86-64:7.1 \ pghpf-linux86:7.1 pgf90-linux86:7.1 pgf77-linux86:7.1 \ pgcc-linux86:7.1 pgcpp-linux86:7.1 pgf90-win64:7.1 \ pgf77-win64:7.1 pgcc-win64:7.1 pgcpp-win64:7.1 pgf90-win32:7.1 \ pgf77-win32:7.1 pgcc-win32:7.1 pgcpp-win32:7.1 pgf90-osx64:7.1 \ pgf77-osx64:7.1 pgcc-osx64:7.1 pgcpp-osx64:7.1 pgf90-osx32:7.1 \ pgf77-osx32:7.1 pgcc-osx32:7.1 pgcpp-osx32:7.1 pgprof:7.1 \ pgdbg:7.1 pgdbg-gui:7.1 pgdbg-linux86-64:7.1 pvf:7.1" \ OPTIONS=SUITE_RESERVED SIGN="145B 77BF 29C8 BAD5 DB5E B960 \ 1A47 DF3B 1C53 1DA6 8707 9B01 E786 CC71 4C3C 1BD8 B6F8 3C17 \ 14F5 BED9 31B3 AC8D 81D3 911C B3A5 0A77 5BAE 91D4 FB2C 326A" FEATURE pgi71-cdk-all pgroupd 7.1 31-dec-0 16 F9D7A7DE4E4A \ VENDOR_STRING=000000:32:cdk DUP_GROUP=U SUITE_DUP_GROUP=U \ TS_OK SIGN="0DCF 08F7 7F22 D27B B59B B7CB 7277 18B4 A851 9C9C \ D6AD C16E 07DC B8CD 75D8 1F28 5F6E 4338 31A3 0B7F D4D6 C2FC \ ECF5 B998 8C22 D7AF 0A34 AA6C FE24 75B8" -------------------------------------------------not including this
Has the line "DAEMON pgroupd" in license.dat been modified to point to the pgroupd location? As an example
DAEMON pgroupd /usr/pgi/linux86/10.0/bin/pgroupd
Note that PGI release 2010 (10.0) and later licenses require the pgroupd version 11.7 included with the release packages.
To be sure, stop them all and restart the license manager. Enter the following commands:
ps ax | grep lmgrd
or
$PGI/linux86/10.0/bin/lmutil lmstat ps ax | grep pgroupd
If processes lmgrd and pgroupd are running, kill them off. Then enter the command
$PGI/linux86/10.0/bin/lmgrd.rc restart
Acresso, the vendor of FLEXnet software, maintains an FAQ of commonly-asked questions about Flexera.
In addition, here are some typical license manager problems and solutions that might be encountered when using PGI software products.
LICENSE MANAGER PROBLEM Cannot find license file ... No such file or directory
Solution
The environment variable LM_LICENSE_FILE must be set to the location of the license file, and license.dat must be there.
LICENSE MANAGER PROBLEM cannot connect to license server ... Connection refused.
Solution
This message occurs when the license daemon has not been started. Check to see whether you have started the license daemons as specified in the second section of the INSTALL file.
If you have indeed started the license server, check to make sure it is actually there by running the command
ps ax | grep lmgrd
or
$PGI/linux86/10.0/bin/lmutil lmstat
If the license server lmgrd is not running, the file $PGI/flexlm.log may contain details on why lmgrd failed to start. A likely problem is a failure to correctly specify the path to the vendor daemon pgroupd on the DAEMON line.
Error Message
LICENSE MANAGER PROBLEM cannot connect to license server ... Network is unreachable
Solution
The "network is unreachable" message may mean problems with the networking configured on that system. What happens when you run telnet hostname when you're already logged into hostname? If you don't get a login prompt, then either networking has not been configured or has not been configured properly.
LICENSE MANAGER PROBLEM the desired vendor daemon is down
Solution
This message indicates that the pgroupd vendor daemon is down. Look at the last fifty or so lines of the $PGI/flexlm.log logfile and see if the contents appear to match with any of these previously-identified logfile entries
LICENSE MANAGER PROBLEM: Cannot find SERVER hostname in network database
Solution
The hostname that is listed on the SERVER line in the license file was not found in either /etc/hosts or your site's DNS. Almost always, you want that hostname to be a fully-qualified hostname (i.e., host.your.site).
So, either fix the SERVER line in $PGI/license.dat, or the hostname needs to be added to /etc/hosts or the DNS. See your system administrator for details on the latter.
Error Message
LICENSE MANAGER PROBLEM No such feature exists
Solution
This error occurs when you try to run software without a corresponding FEATURE line in the license file. In this case, usually one of two things are true:
Another possibility is that the environment variable LM_LICENSE_FILE is set incorrectly.
Yet another possibility is the license file has been corrupted.
Error Message
LICENSE MANAGER PROBLEM No such feature exists ... Permission denied
Solution
The "permission denied" part of the message leads me to suspect that the license file is not readable by the user running the compilers.
Error Message
LICENSE MANAGER PROBLEM Invalid host
Solution
Typically, this error occurs when one of two things is true:
Most—but not all—license files are nodelocked to a particular system. For instance, if you purchased PGI Workstation and NFS-export the PGI directory to other systems, those other system are not allowed to run the compilers.
For the latter case, you need a new license.
Note that with release 7.2, PGI style licenses are no longer supported.
LICENSE MANAGER PROBLEM License file does not support this version ... Connection refused
Solution
The error message occurs when there's a mismatch between the software version and the software license.
If you're installing a new release, the most likely problems are
If you're installing a new release, the most likely problem is that LM_LICENSE_FILE is still set to the old license file which takes precedence over the new 15-day temporary license. In that case, either unset LM_LICENSE_FILE or install the permanent license for the new release. If you've done the latter and still get this error, please realize that the license daemon must be restarted in order to read the new license file.
If you have a current software subscription and you have downloaded a new release of PGI software, please be aware that you must generate new license keys specific for that release. Log in to your account and create new license keys.
LICENSE MANAGER PROBLEM Invalid (inconsistent) license key
Solution
This error happens sometimes when the license file has been changed in such a that invalidates it. More often, it is because you are using an older pgroupd version that does not support the new encryption in 7.1 and newer licenses.
Another possibility is the license file has been corrupted.
Error Message
LICENSE MANAGER PROBLEM Cannot read data from license server
Solution
The error usually indicates some sort of networking problem, or that the license daemon is confused by something.
Error Message
LICENSE MANAGER PROBLEM cannot connect to license server ... no buffer space available
Solution
While logged onto the computer, see if you can 'ping' the system itself or telnet to itself. If you get the same error, then the loopback network interface is either misconfigured or it is missing. It is very unwise to mess with the loopback interface.
Problem
When I look at the log created by lmgrd, I see messages that look like this:
18:41:16 (lmgrd) Retrying socket bind (address in use: port 27000) 18:41:23 (lmgrd) Retrying socket bind (address in use: port 27000) 18:41:46 (lmgrd) Retrying socket bind (address in use: port 27000) 18:41:53 (lmgrd) Retrying socket bind (address in use: port 27000) 18:42:16 (lmgrd) Retrying socket bind (address in use: port 27000) 18:42:23 (lmgrd) Retrying socket bind (address in use: port 27000) 18:42:46 (lmgrd) Retrying socket bind (address in use: port 27000) 18:42:53 (lmgrd) Retrying socket bind (address in use: port 27000)
What does this mean?
Suggestion
The 'address in use' message indicates multiple instances of the master license daemon lmgrd are running. Only one lmgrd process should be running. Use the ps command to find all the lmgrd processes and kill them. Then start up a single lmgrd.
Problem
I see the following in my $PGI/flexlm.log:
15:27:45 (lmgrd) lmgrd running as root: 15:27:45 (lmgrd) This is a potential security problem 15:27:45 (lmgrd) And is not recommended
What is recommended?
Suggestion
This was the subject of a CERT security warning a few years ago.
If you want to change this, you should start the daemon up as another user, e.g., create a user flexlm and then start lmgrd as
su flexlm -c /usr/pgi/linux86/10.0/bin/lmgrd ...
16:54:18 (lmgrd) FLEXnet (v4.1) started on foo.bar.com (IBM RS/6000) 16:54:18 (lmgrd) FLEXnet Copyright 1988-1994, Globetrotter Software, Inc. 16:54:18 (lmgrd) License file: "/usr/local/pgi/license.dat" 16:54:18 (lmgrd) Starting vendor daemons ... license daemon: execl failed: (/usr/pgi/linux86/10.0/bin/pgroupd or /usr/pgi/linux86/10.0/bin/pgroupd/pgroupd) -T foo.bar.com 4.1 3 -c /usr/local/pgi/license.dat
Suggestion
In the license file, there are comments like
# # In the DAEMON line, the location of the pgroupd daemon # may need to be modified. # DAEMON pgroupd /usr/pgi/linux86/10.0/bin/pgroupd
The failed execl above indicates that the path of pgroupd has not been set correctly. See the INSTALL file for details.
Problem
My license daemon fails to run. When I look in $PGI/flexlm.log, I see the following:
21:07:15 (lmgrd) "foo.bar.com": Not a valid server hostname, exiting. 21:07:15 (lmgrd) Valid server hosts are: "zot.bar.com" 21:07:15 (lmgrd) Using license file "/usr/pgi/license.dat"
Suggestion
There is a mismatch between the hostname on the SERVER line in the license file and the actual hostname of the system where you are trying to run the daemon. My experience is that the hostname on the SERVER line must match the output of uname -n. If this is not the case, then one of the values must be adjusted. It is usually best if the actual hostname of the system is a fully-qualified hostname. There are a variety of ways to effect this with Linux, all depending on the distribution that you are using. See the Linux documentation for details.
My license daemon fails to run. When I look in $PGI/flexlm.log, I see the following:
19:22:13 (lmgrd) FLEXnet Copyright 1988-1996, Globetrotter
Software, Inc.
19:22:13 (lmgrd) World Wide Web: http://www.flexerasoftware.com
19:22:13 (lmgrd) License file: "/usr/pgi/license.dat"
19:22:13 (lmgrd) Starting vendor daemons ...
19:22:13 (lmgrd) Started pgroupd (internet tcp_port 1310 pid 3813)
19:22:13 (pgroupd) Wrong hostid, exiting (expected 0000c9b3f68b,
got 000092969da0).
19:22:13 (lmgrd) Please correct problem and restart daemons
Suggestion
You probably changed your network card. Since the FLEXnet hostid is the Ethernet address, changing the network card also means that your computer has a new Ethernet address.
Simply log in to your account and create new license keys.
Another possibility is multiple network cards.
I see lines like the following in my $PGI/flexlm.log file and I want to know what they mean?
3:22:53 (pgroupd) Vendor daemon can't talk to lmgrd (Cannot connect to license server (-15,12:110) Connection timed out) 3:22:53 (lmgrd) Vendor daemon died with status 241 3:22:53 (lmgrd) Since this is an unknown status, lmgrd will 3:22:53 (lmgrd) attempt to re-start the vendor daemon. 3:22:53 (lmgrd) REStarted pgroupd (internet tcp_port 1048 pid 771) 3:22:53 (pgroupd) Server started on foo for: pgf77-linux86 3:22:53 (pgroupd) pgprof pgdbg 3:23:03 (pgroupd) Vendor daemon can't talk to lmgrd (Cannot connect to license server (-15,12:110) Connection timed out)
Suggestion
Check that the hostname's actual IP address (determined by running /sbin/ifconfig) is the same as listed in /etc/hosts or the site's DNS. If the system contains a network card, then the hostname should not be listed on the 127.0.0.1 line (the localhost or loopback interface).
Another very useful diagnostic is to see whether, when you are logged-on to the system where the license daemon is supposed to run, you can telnet or login to the system from itself. This test exercises the same set of networking protocols that the daemons will use to communicate and when the compiler tries to communicate to the license daemon. Note, some sites disable or remove the ability to telnet. Rsh, ssh, and ftp will all do the same thing, just not as easily. Ping and traceroute are not useful, since they use the ICMP protocol and not TCP, like telnet. If enabled by inetd or xinetd, you could also use the TCP test utilities such as daytime and/or echo.
Another possibility is that you are running ipchains or its kernel 2.4 replacement, netfilter (iptables). Check and see whether the files /etc/sysconfig/ipchains or /etc/sysconfig/ipchains exit. If they do, then please send mail to PGI Technical Support and we will work with you to solve this problem.
When I use the Online License system, I enter my hostid but I get a error that says
Error
Nodelocked, PGI style hostids must be 26 characters long. Please
return to
the previous page and correct this.
Suggestion
You have typed your twelve digit FLEXnet hostid into the first set of input fields, which are labeled
Licensing for Linux86 systems—PGI style hostids.
Instead, you need to type the FLEXnet hostid into the second set of input fields which are labeled
Licensing for Linux86 systems—FLEXnet style hostids.
Problem
I have a license file that requires a license daemon to run, yet when lmgrd starts up, I cannot find a $PGI/flexlm.log file on my system.
Suggestion
You probably have the $PGI directory installed as read-only. This was a bug in the PGI Release 3.0 install script.
Usually, the $PGI directory settings should be 0777 (or 0775, if giving anyone write permission makes you wince), and then chmod a-w $PGI/*.
Problem
I've done everything in the INSTALL notes and I still can't seem to lmgrd to work right. My Linux distribution is Red Hat 6.0.
Suggestion
This might work. Try changing the symlink below
ln -s /etc/rc.d/init.d/lmgrd /etc/rc.d/rc2.d/S90lmgrd
to
ln -s /etc/rc.d/init.d/lmgrd /etc/rc.d/rc3.d/S90lmgrd
and reboot.
I've done everything in the INSTALL notes and I still can't seem to lmgrd or lmutil to work right. I'm using PGI Release 3.1 and my Linux distribution is a newer one like SuSE 6.4 or Red Hat 7.x.
When I try to run
lmutil lmhostid
I get the message
lmutil: Command not found.
When I try to start the license daemon by hand, I see the following:
/usr/pgi/linux86/10.0/bin/lmgrd.rc: /usr/pgi/linux86/10.0/bin/lmgrd:
No such file or directory
Suggestion
The license utilities lmgrd, lmutil, and pgroupd included in Release 3.1 unfortunately had a dependency on the now-obsolete C library, libc5. SuSE 6.4 choose not to install this library by default. You can either install the libc5 library, or download glibc2-aware license utilities from ftp://ftp.pgroup.com/pub/flexlm/linux86_glibc2.tar.gz. Install the tarfile into untarring it into $PGI.
A better idea would be to simply upgrade to the latest release.
I have two license files from two different vendors' products. How do I set $LM_LICENSE_FILE to access both products?
Suggestion
If you are using other products managed by FLEXnet and have previously set the environment variable LM_LICENSE_FILE, either incorporate the PGI license keys into your existing license file or issue the following command to append the PGI license file to the definition of LM_LICENSE_FILE, assuming csh:
setenv LM_LICENSE_FILE "$LM_LICENSE_FILE":$PGI/license.dat
Or, assuming sh or its variants:
LM_LICENSE_FILE=$LM_LICENSE_FILE:$PGI/license.dat export LM_LICENSE_FILE
Problem
I have a three-server license file, and have installed and configured the license daemon on each of the three systems. However, if one of three systems does down, then the license daemon on the other two servers goes down too. What can I do?
Suggestion
In my experience, redundant license servers look interesting in theory but can cause many problems for both users and IT staff. We recommend that out customers use a single license server, preferably on a computer dedicated to administrative functions.
Problem
When I run the command lmutil lmhostid, it returns
lmutil - Copyright (c) 1989-2000 Globetrotter Software
The FLEXnet host ID of this machine is ""
What does that mean?
Suggestion
On computers running Linux, an empty FLEXnet hostid means one of two things:
For Linux, the FLEXnet hostid uses the Ethernet address of the network card.
The computer that is running the license daemon has three network cards. I used the Ethernet address from the public interface which is eth4, but it appears that the license daemon wants to use the Ethernet address of the card which is eth0. How do I fix this?
Suggestion
Unfortunately, on Linux, for pre-9.0 releases, the Ethernet address that is used as the FLEXnet hostid is the address of the eth0 device. There is no workaround to this. Current FLEXnet utilities do fnd the other net cards configured.
Problem
I have a PGI Server license. Can users at other machines simply set the $LM_LICENSE_FILE environment variable to my host, e.g.,
export LM_LICENSE_FILE=foo.bar.com
Suggestion
This would not work.
Usually we tell people to copy the license file to whatever systems they are going to use the software. This is the simplest and most straight-forward way to do it.
However, there is a short cut and I just tried it and it works. You can say 'LM_LICENSE_FILE=port@server'. 'port' is the fourth field on the SERVER line. 'server' is the system where the license server is running, and which is the second field on the SERVER line.
I need to change the port which the license daemon lmgrd listens on. How can I do this?
Suggestion
A typical server line looks like this:
SERVER billybob.mysite.com 0090123c30e8 27000
The fourth field of the SERVER line is the TCP port. Change that field to the desired value and then restart the license daemon.
For the sake of completeness, the second field is the hostname of the system running the license daemon, and the third field is the Ethernet address of the network interface.
My site has a firewall and I need to be able to set the port on which the license daemons run. How do I do this?
Suggestion
Changing the port that the lmgrd process listens on is covered above.
You can set the port that the vendor daemon pgroupd listens on by adding PORT = number to each DAEMON line. For example,
SERVER billybob.mysite.com 0090123c30e8 28001 ... DAEMON pgroupd /usr/local/pgi/linux86/10.0/bin/pgroupd PORT=28005
Further, the firewall needs to permit access on the above ports.
Email questions about your license status, how to generate new license keys, and how to get your original order acknowledgment to PGI License Support.
When communicating with PGI, please provide your PIN (Personal Identification Number) with your inquiry. Your PIN can be found in your license file. Typically the license file is found at $PGI/license.dat (Linux and Mac OS X) or C:\Program Files\PGI\license.dat (Windows). In the license.dat file, look for
VENDOR_STRING=xxxxxx
where xxxxxx is a six digit number starting with a 1, 5 or 9. This is your PIN. If your file is not in $PGI, look at the location $LM_LICENSE_FILE.
This question applies to those who have purchased a license and have a permanent PIN. If you have a trial license, then you cannot generate a permanent license.
We recommend that you install the software first on the system you are using, or intend to move to, before trying to obtain a license for that system. If you are moving your compilers to a new system, DO NOT remove the compilers from your previous machine until things are working on your new system. Avoid leaving yourself with no working compilers in the event you have temporary license problem during the transfer.
To determine your PIN number as described in the PIN FAQ above.
In early 2008, PGI changed its systems to accommodate a single login format of email_address/password to both download new software and generate a license for one or several PINs. Go to the account log in page to obtain downloads and new licenses.
If you cannot tie your PIN to your account, send mail to PGI License Support, and provide as much info as you know about the original purchase so we can search. Usually, the name or email address of the purchaser is enough. More info may be needed if you have multiple licenses at your site.
To create a license, you will need a hostid for the device that is managing the license. If you have a workstation license, this is the hostid of the machine you installed the compilers on. If you have a server license, it is the hostid of the license server.
To move a license from one machine to another, log in to the online key generation system and choose "Delete license key". Then choose "Issue license key". Enter your new hostid and click "Create license keys". You can delete and issue new license keys once. If you need to reissue license keys more than once, contact PGI License Support and request a deletion. Once a deletion is completed, you will be able to generate a new license.
We appreciate the effort you have to go through to create or change a license, and we apologize for these extra steps needed to preserve the integrity of our software products.
PGI licenses use FLEXnet licensing components to manage compiler licenses. Licenses are generated based upon the unique output on each host of the FLEXnet command:
lmutil lmhostid
On Linux systems, this command returns the MAC address of the network cards configured. Older releases (pre 9.0) only returned hostids for net cards configured as eth0. This does not mean you have to be connected to the Internet, but it needs to be "visible" at runtime. For example, if you have root privilege and type ifconfig, you will see something like this:
ifconfig
eth0 Link encap:Ethernet HWaddr 00:BE:FE:BE:EF:FD
inet addr:167.6.543.21 Bcast:167.1.234.456 Mask:255.255.254.0
inet6 addr: beef::222:beef:feed:1234/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1234560 errors:0 dropped:0 overruns:0 frame:0
TX packets:0654321 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:7777
RX bytes:1212121212 (4321.0 Mb) TX bytes:54321234 (567.8 Mb)
Interrupt:123
In this case, the output of lmutil lmhostid is '00befebeeffd'.
Three common causes for a missing or hidden eth0 MAC address are:
Please check with your systems administrator or IT support group it you encounter this problem. Currently, PGI knows of no workaround if eth0 does not have a network card configured, on older releases. Current releases should find any of the network cards, if configured.
Instead of setting up the first "found" card to eth0 at boot time, newer Linux distributions have a habit of "remembering" past mappings, and then incrementing the network device number. Or, they dynamically assign the device numbers to the network cards.
See www.artwork.com for a reasonable description of the problem along with a solution for Ubuntu Linux.
Even if you have a floating license for PGI's Linux only compilers, you can still use a 32-bit or 64-bit Microsoft Windows based machine as a license server. Node-Locked licenses like the PGI Workstation product must use the machine running the compilers as the license server.
To use the machine as a license server, download and install the PGI Windows compilers in the default directory, C:\Program Files\PGI.
From the PGI Workstation command window, determine the hostid of the license server by typing lmutil lmhostid, and choosing one of the hostids to use when generating your license keys. The hostname can be found by typing uname -n in the PGI Workstation command window.
Copy your license keys into C:\Program Files\PGI\license.dat
Go to Start | Control Panel | Administrative Tools | Services, and select PGI License Server and start the license server. If it is already started, stop it and start it again, or type lmreread in the PGI Workstation command window.
On every machine that runs the compilers set the environment variable $LM_LICENSE_FILE to port@hostname. For example, with hostname "hal", export LM_LICENSE_FILE=27000@hal should work.
Even if you have a floating license for PGI's Windows, Linux, or OS X compilers, you can still use a 32-bit or 64-bit Sun Solaris based machine as a license server.
To use the Solaris machine as a license server, download the FLEXnet utiliites for Solaris from the license daemon archive.
On Solaris, the hostid used for the floating licenses is the output of the command
hostid
and you can use this shorter hostid to generate your license keys. The hostname can be found by typing
uname -n
Once you have generated the new keys and stored them in the path defined as $LM_LICENSE_FILE, start lmgrd with
lmgrd -c $LM_LICENSE_FILE
On every machine that runs the compilers set the environment variable $LM_LICENSE_FILE to port@hostname. Note that hostname here is the name the platform uses to contact the license server. This could be different from the hostname the license server uses. For example, with hostname "hal",
export LM_LICENSE_FILE=27000@hal
should work, because the platform can successfully execute the command
ssh hal 'date'
Beginning with PGI Release 7.2, users with network floating license of PGI products can "borrow" a license for use when not connected the license server.
The following example illustrates using this feature under Linux. Operation under Windows is similar.
To borrow a pgf95 license, using today's date, do the following:
In your shell, enter
% lmborrow pgroupd 21-may-2008 lmborrow - Copyright (c) 1989-2007 Acresso Software Inc. and/or Acresso Corporation. All Rights Reserved. Setting LM_BORROW=21-may-2008:pgroupd:21-may-2008
Compile a prgram using pfg95:
% pgf95 hello.f
A license to use pfg95 is now borrowed. You will need to repeat this process for each compiler and tool that you wish to borrow. Verify that you're borrowing licenses successfully.
% lmborrow -status lmborrow - Copyright (c) 1989-2007 Acresso Software Inc. and/or Acresso Corporation. All Rights Reserved. Vendor Feature Expiration ______ ________ __________ pgroupd pgi-f95-lin64 21-May-08 23:59
You can now disconnect from the network and use the compiler and tools that you checked out.
If you wish to return the license before the expiration date, connect to your network and use the lmborrow -return command (see -help for the complete syntax). For example,
% lmborrow -return pgi-f95-lin64
Again, verify that the license was returned using the lmborrow -status command:
% lmborrow -status lmborrow - Copyright (c) 1989-2007 Acresso Software Inc. and/or Acresso Corporation. All Rights Reserved.
For a complete list of commands enter
% lmborrow -help
lmborrow - Copyright (c) 1989-2007 Acresso Software Inc. and/or
Acresso Corporation. All Rights Reserved.
Usage: lmborrow {all|vendorname} dd-mmm-yyyy [hh:mm] (To borrow)
lmborrow -status (Report features borrowed to this node)
lmborrow -clear (Changed your mind -- do not borrow)
lmborrow -return [-c licfile] [-d display_name] [-fqdn] feature
(Return feature early)
lmborrow -help (Display usage information)
The syntax of the check out is:
lmborrow {all|vendorname} dd-mmm-yyyy [hh:mm]
Where all indicates all license vendors and vendorname indicates a specific vendor (e.g., pgroupd for PGI compilers/tools). dd-mmm-yyyy is the date that you anticipate returning the license and [hh:mm] is an optinal return time using 24 hour notation (i.e., 11pm is 23:00). By default the return time is 23:59.