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 |
|---|---|---|---|
| 2013 | 32-bit and 64-bit - Red Hat 9.0, and RHEL 4.0/5.0/5.3/6.0/6.2/6.3, SUSE 9.0/9.1/9.2/9.3/10.0/10.1/10.2/10.3/11.0/11.1/11.2, SLES 9/10/11 SP1 & SP2, openSUSE 12.2, Fedora 4–17 Ubuntu 8/9/9.04/10.04/10.10/11.04/11.11/12.04/12.10 |
13.5 | Release & version info |
| 2012 | 32-bit and 64-bit - Red Hat 9.0, and RHEL 4.0/5.0/5.3/6.0/6.2, 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 SP1, Fedora 4–16, Ubuntu 8/9/9.04/10.04/10.10/11.04/11.11 |
12.10 | Release & version info |
| 2011 | 32-bit and 64-bit - Red Hat 9.0, and RHEL 4.0/5.0/5.3/6.0, 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/12/13/14, Ubuntu 8/9/9.04/10.04/10.10/11.04 |
11.10 | Release & version info |
| 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.9 | Release & version info |
| 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 | Release info |
| 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 | Release info |
| 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 | Release info |
PGI Workstation and PGI Server for Windows. Versions are added as they become available.
| Release | Windows Versions Verified to Install | Latest Version | Notes |
|---|---|---|---|
| 2013 | 32-bit - XP/Vista/7/8/Server 2003/Server 2008 64-bit - XP x64/Vista/7/8/Server 2003 x64/Server 2008 R2 |
13.5 | Release & version info |
| 2012 | 32-bit - XP/Vista/7/Server 2003 64-bit - XP x64/Vista/7/Server 2003 x64/Compute Cluster Server/ HPC Server 2008 R2 |
12.10 | Release & version info |
| 2011 | 32-bit - XP/Vista/7*/Server 2003 64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server/ HPC Server 2008 R2 |
11.10 | Release & version info |
| 2010 | 32-bit - XP/Vista/7*/Server 2003 64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server/ HPC Server 2008 |
10.9 | Release & version info |
| 9.0 | 32-bit - XP/Vista/Server 2003 64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server/HPC Server 2008 |
9.0-4 | Release info |
| 8.0 | 32-bit - XP/Vista/Server 2003 64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server/HPC Server 2008 |
8.0-6 | Release info |
| 7.2 | 32-bit - 2000/XP/Vista/Server 2003 64-bit - XP x64/Vista/Server 2003 x64/Compute Cluster Server |
7.2-5 | Release info |
*Note on Windows 7 compatibility: FLEXlm versions delivered with PGI 2010 and PGI 2011 releases were compatible with only the 32-bit versions of Windows 7. PGI 2012 and forward releases are compatible with both the 32-bit and the 64-bit versions of Windows 7.
PGI Visual Fortran Workstation and Server for Windows. Versions are added as they become available.
Note: PVF is NOT compatible with Visual Studio Express. PVF will not install or run successfully on systems with VS Express present regardless of the VS Express version or PVF version.
| Release | Windows Versions Verified to Install | Latest Version | Notes |
|---|---|---|---|
| 2013 | 32-bit - XP/Vista/7/8/Server 2003 64-bit - XP x64/Vista/7/8/Server 2003 x64/ Compute Cluster Server/HPC Server 2008 R2 Supports Microsoft Visual Studio 2012 (VS 2012 shell included), 2010 and 2008 |
13.5 | Release & version info |
| 2012 | 32-bit - XP/Vista/7/Server 2003 64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista/ HPC Server 2008 R2/Windows 7 Supports Microsoft Visual Studio 2010 (VS 2010 shell included) and 2008 |
12.10 | Release & version info |
| 2011 | 32-bit - XP/Vista/7/Server 2003 64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista/ HPC Server 2008 R2 Supports Microsoft Visual Studio 2010 (VS 2010 shell included) and 2008 |
11.10 | Release & version info |
| 2010 | 32-bit - XP/Vista/7/Server 2003 64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista/ HPC Server 2008 Supports Microsoft Visual Studio 2010, 2008 (VS 2008 shell included) and 2005 |
10.9 | Release & version info |
| 9.0 | 32-bit - XP/Vista/Server 2003 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 | Release info |
| 8.0 | 32-bit - XP/Vista/Server 2003 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 | Release info |
| 7.2 | 32-bit - XP/Vista/Server 2003 64-bit - XP x64/Server 2003 x64/Compute Cluster Server/Vista Supports Microsoft Visual Studio 2008 and 2005 |
7.2-5 | Release info |
See the note above on Windows 7 compatibility.
No. PVF will not install and run successfully on a system with Visual Studio Express installed. Even installing PVF with the VS 2010 shell onto a system with VS Express 2008 already installed will not work. You must first remove VS Express before installing PVF.
PGI Workstation and PGI 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 | Apple OS X Versions Verified to Install | Latest Version | Notes |
|---|---|---|---|
| 2013 | 32-bit - OS X 10.6 Snow Leopard/10.7 Lion/10.8 Mountain Lion 64-bit - OS X 10.6 Snow Leopard/10.7 Lion/10.8 Mountain Lion |
13.5 | Release & version info |
| 2012 | 32-bit - Mac OS X 10.6 Snow Leopard/10.7 Lion 64-bit - Mac OS X 10.6 Snow Leopard/10.7 Lion |
12.10 | Release & version info |
| 2011 | 32-bit - Mac OS X 10.5 Leopard/10.6 Snow Leopard/10.7 Lion 64-bit - Mac OS X 10.5 Leopard/10.6 Snow Leopard/10.7 Lion |
11.10 | Release & version info |
| 2010 | 32-bit - Mac OS X 10.5 Leopard/10.6 Snow Leopard 64-bit - Mac OS X 10.5 Leopard/10.6 Snow Leopard |
10.9 | Release & version info |
| 9.0 | 32-bit - Mac OS X 10.4.9 Tiger/10.5 Leopard/10.6 Snow Leopard 64-bit - Mac OS X 10.4.9 Tiger/10.5 Leopard |
9.0-4 | Release info |
| 8.0 | 32-bit - Mac OS X 10.4.9 Tiger/10.5 Leopard 64-bit - Mac OS X 10.4.9 Tiger/10.5 Leopard |
8.0-6 | Release info |
| 7.2 | 32-bit - Mac OS X 10.4.9 Tiger/10.5 Leopard 64-bit - Mac OS X 10.4.9 Tiger/10.5 Leopard |
7.2-5 | Release info |
There are five types of licenses provided with PGI compilers.
A Starter license has a 30 day time limit. It also introduces a 30 day time limit in the executable. Unless codes compiled with a starter license are recompiled with a permanent or temp license, they will stop working. Typically, starter keys are only provided to new users one time. Users can generate a trial license after the starter license expires. The Starter license works regardless of whether the FlexNex license manager (lmgrd) is running.
The Trial license has a 15 day time limit. It also introduces a 15 day time limit in the executable. Unless codes compiled with a trial license are recompiled with a permanent or temp license, they will stop working. Under the terms of the PGI evaluation license agreement, each account is permitted to generate one 15 day trial license every six months, or whenever a new release comes out. The Trial license acts much like the FlexNet type license in that it requires a hostid.
The Temporary/Demo license will work regardless of whether the FlexNet license manager (lmgrd) is running, and it does not introduce a time limit. Typically, temp licenses are provided by PGI only to permanent PGI license owners when their permanent licenses have problems.
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 7.2.
Node-Locked licenses restrict use to a particular host and one user at a time. They are very useful when a number of users want to share a PGI product. Node-locked licenses require the license service (lmgrd) run on the same machine the compilers are running on.
Floating licenses allow the license service to run on a machine different from the machines running the compilers. Floating licenses allow multiple platforms 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. Users with floating licenses can "borrow" seats for out-of-office compiling.
Here is a typical set of PGI license keys. It is broken down into sections, with important parts labeled. The dashed lines and (!) comments are added, and the parts in parantheses are optional.
--------------------------------------------------- SERVER hostname_of_the_license_server 001122334455 27000 !SERVER line ------------------------------------------------------------------------ DAEMON pgroupd (/path/to/pgroupd) (PORT=port_number) !DAEMON line ------------------------------------------------------------------------ PACKAGE PGI2011-server-complete pgroupd 2012.1231 CDCACA89C981 \ COMPONENTS="pgi-hpf-lin64 pgi-f95-lin64 pgi-f77-lin64 \ pgi-cc-lin64 pgi-cpp-lin64 pgi-hpf-lin32 pgi-f95-lin32 \ pgi-f77-lin32 pgi-cc-lin32 pgi-cpp-lin32 pgi-hpf-lin32 \a ! 7.2-current pgi-f95-lin32 pgi-f77-lin32 pgi-cc-lin32 pgi-cpp-lin32 \ ! license pgi-prof pgi-dbg pgi-dbg-gui" OPTIONS=SUITE_RESERVED \ SIGN="168E 5D85 2366 363A 6771 C2F0 6571 D2D0 20FE 8041 E1AF \ 7085 5A37 1BF0 64E9 1F19 637E E89D 17F7 3478 4257 D95F CE10 \ F8D8 6784 6DF8 DE04 B889 2862 5E3F" FEATURE PGI2011-server-complete pgroupd 2011.1231 permanent 2 \ A31848E4059C VENDOR_STRING=590001:16:ws:accel DUP_GROUP=U \ SUITE_DUP_GROUP=U BORROW=336 SIGN="056E 9418 4FA9 D9AB ED68 \ DC46 4B0B C11F 996B 3399 9387 7604 42F0 95B6 01BA 1EA9 33BF \ A859 6B71 2D63 5C3B DE78 A924 914C F447 77C1 BFD5 6B78 FEE4 \ 4590" ------------------------------------------------------------------------ PACKAGE PGI71-server-complete pgroupd 7.1 C13C168E5772 \ 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 pghpf-linux86:7.1 \ ! older -7.1 pgf90-linux86:7.1 pgf77-linux86:7.1 pgcc-linux86:7.1 \ ! license pgcpp-linux86:7.1 pgprof:7.1 pgdbg:7.1 pgdbg-gui:7.1 \ pgdbg-linux86-64:7.1" OPTIONS=SUITE_RESERVED SIGN="1E10 1F91 \ 7283 6EFF 884E E4EE 78DC 1718 87BD D28E 24C5 7FD5 F09A 235F \ E8E2 103E 090C 0183 1E68 5835 3B90 83ED 7266 799E D5C3 71B3 \ 51EB E611 7C3A 33DB" FEATURE PGI71-server-complete pgroupd 7.1 permanent 2 287877419D13 \ VENDOR_STRING=59001:16:ws DUP_GROUP=U SUITE_DUP_GROUP=U \ SIGN="14E4 9C21 0927 FB91 215B 28C3 0DCD 0DA1 310D 4A9B 0190 \ 9A3D 1DC9 78E9 84E8 1075 7FFD 9960 ABCB 6AAB 95E2 9164 686E \ 093E 4D5F 5C37 830E E7E0 C3F0 2948" ------------------------------------------------------------------------
The SERVER line has three components, the hostname of the license server, the hostid of the license server, and the PORT used by lmgrd to process the license requests. You can edit the hostname and PORT used (27000) by hand without regenerating the license.
The DAEMON line has three components, the name of the DAEMON used (pgroupd), the path to the daemon, if not where lmgrd is located (as in /usr/pgi/daemon/pgroupd) and a PORT which pgroupd would use to communicate.
The PORT used (27000 for lmgrd, not designated for pgroupd) can be any unused integer that the Operating System allows. We do not know how to tell which PORT numbers would be successful, but you can change them by hand in the license file.
The path to pgroupd can be added to a DAEMON line if you want to make sure the license service uses a particular DAEMON. Newer DAEMONs can read the newer license file formats, as well as the older ones.
The first line of the License section begins with PACKAGE, and has the number 2012.1231 in it. This number designates when the license subscription expires, and it also tells you which releases the license will work with. For this case, the license subscription expires on December 31 2012, and this means the license will work with current releases and future releases up to 12.12 release. This means you do not have to update the license until after you renew your subscription late in 2012.
There most common license problems are:
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 releases 9.0 and later 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 included 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.
The SERVER line of your license file has the form
SERVER hostname_of_the_license_server 001122334455 27000
In the above, 001122334455 is the hostid, and 27000 is the PORT used for lmgrd.
If you have a permanent license, 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.
Use the following checklist to eliminate the easy things. But first, run the following commands after the compilers have been installed and the environment set up. lmutil resides in the PGI bin directory.
lmutil lmhostid ! obtain the hostids that are detected lmutil lmhostid -hostname ! obtain the hostname lmutil lmhostid -internet ! obtain the IPA of the hostname
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.
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.)
Windows expects the license to be at C:\Program Files\PGI\license.dat, and OSX expects the license to be at /opt/PGI/license.dat. Linux looks first at $LM_LICENSE_FILE, and then at $PGI/license.dat
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.
If the hostname needs to change, you can edit the license file by hand without regenerating the license. If a license has worked before try using the same hostname and PORT number in the SERVER line.
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 PGI Workstation 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 001122334455 27000 DAEMON pgroupd PACKAGE PGI2011-server-complete pgroupd 2012.1231 CDCACA89C981 \ COMPONENTS="pgi-hpf-lin64 pgi-f95-lin64 pgi-f77-lin64 \ pgi-cc-lin64 pgi-cpp-lin64 pgi-hpf-lin32 pgi-f95-lin32 \ pgi-f77-lin32 pgi-cc-lin32 pgi-cpp-lin32 pgi-hpf-lin32 \ pgi-f95-lin32 pgi-f77-lin32 pgi-cc-lin32 pgi-cpp-lin32 \ pgi-prof pgi-dbg pgi-dbg-gui" OPTIONS=SUITE_RESERVED \ SIGN="168E 5D85 2366 363A 6771 C2F0 6571 D2D0 20FE 8041 E1AF \ 7085 5A37 1BF0 64E9 1F19 637E E89D 17F7 3478 4257 D95F CE10 \ F8D8 6784 6DF8 DE04 B889 2862 5E3F" FEATURE PGI2011-server-complete pgroupd 2011.1231 permanent 2 \ A31848E4059C VENDOR_STRING=590001:16:ws:accel DUP_GROUP=U \ SUITE_DUP_GROUP=U BORROW=336 SIGN="056E 9418 4FA9 D9AB ED68 \ DC46 4B0B C11F 996B 3399 9387 7604 42F0 95B6 01BA 1EA9 33BF \ A859 6B71 2D63 5C3B DE78 A924 914C F447 77C1 BFD5 6B78 FEE4 \ 4590" PACKAGE PGI71-server-complete pgroupd 7.1 C13C168E5772 \ 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 pghpf-linux86:7.1 \ pgf90-linux86:7.1 pgf77-linux86:7.1 pgcc-linux86:7.1 \ pgcpp-linux86:7.1 pgprof:7.1 pgdbg:7.1 pgdbg-gui:7.1 \ pgdbg-linux86-64:7.1" OPTIONS=SUITE_RESERVED SIGN="1E10 1F91 \ 7283 6EFF 884E E4EE 78DC 1718 87BD D28E 24C5 7FD5 F09A 235F \ E8E2 103E 090C 0183 1E68 5835 3B90 83ED 7266 799E D5C3 71B3 \ 51EB E611 7C3A 33DB" FEATURE PGI71-server-complete pgroupd 7.1 permanent 2 287877419D13 \ VENDOR_STRING=59001:16:ws DUP_GROUP=U SUITE_DUP_GROUP=U \ SIGN="14E4 9C21 0927 FB91 215B 28C3 0DCD 0DA1 310D 4A9B 0190 \ 9A3D 1DC9 78E9 84E8 1075 7FFD 9960 ABCB 6AAB 95E2 9164 686E \ 093E 4D5F 5C37 830E E7E0 C3F0 2948" -------------------------------------------------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/12.0/bin/pgroupd
Note that PGI Release 2012 (12.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-64/12.0/bin/lmutil lmstat ps ax | grep pgroupd
If processes lmgrd and pgroupd are running, kill them off. Then enter the command
$PGI/linux86-64/12.0/bin/lmgrd.rc restart
Check the Flexera Software (Flexera publishes FlexNet Publisher) support center.
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.
Determine your PIN 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 more 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 PGI 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 your PGI account and click on the "Create Permanent Keys" link. Each PIN tied to your account will be linked to the license generator. You will first need to delete your current license and then create a new license using your new hostid. You will be required to wait for PGI to approve your request if you move or delete your license more often than twice a year.
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.
Users with multiple PGI products might like the convenience and efficiency of a single computer to serve floating license keys. Either by merging the license keys into a single file, or by adding them to the paths in $LM_LICENSE_FILE, they assume that the license server can handle two or more PGI products in much the way the server can handle one PGI product and (for example) a MATLAB product.
In a similar vein, users with more than one node-locked, single user product license, like PGI Workstation, also might like to run multiple license keys on the same license server, giving more than one user simultaneous access to PGI compilers and tools on that computer.
Unfortunately, neither of these cases are possible with the FlexNet Publisher software that PGI uses to manage software license keys.
A FlexNet Publisher license server consists of a master daemon, named lmgrd, and a number of vendor daemons. The PGI vendor daemon is named pgroupd. The master daemon coordinates the license key requests from users and routes these requests to the appropriate vendor daemon. The vendor daemon actually manages check-out and check-in requests for each managed product.
Once the vendor daemon finds a license key that matches the requested software components, no further processing is performed on the license key file. In other words, if there are multiple, equivalent PGI license keys in the license file, only one of those license keys will be served by the vendor daemon. The other license keys will not be recognized and will not be served.
Some customers try and run multiple instances of lmgrd on the same machine, with the intent of having each copy manage a unique set of PGI license keys. This will not work. FlexNet vendor daemons use a fixed-location in the shared filesystem as a lock file to insure that only one vendor daemon process can run on the license server computer.
In short, the rules are one PGI floating license key or PGI node-locked license key per license server. Following this rule will enable the total number of simultaneous users to be the maximum allowed by all the license keys served.
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 all configured network cards.
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 lmutil 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'
PGI Release 2012 compilers use new versions of flexlm that require Linux Standard Base aka lsb be present. You can still use the flexlm software that came with Release 2011, but you will eventually need lsb installed on Linux.
The most common symptom of the problem will be a message when you run the compilers
$PGI/linux86-64/12.*/bin/lmutil: No such file or directory
To determine if the problem is lsb, type
% lsb_release
If it returns core-3.0 or higher, then you have lsb. If less than 3.0 or 'n/a' is returned, you need to install it, and then run the compilers.
For Ubuntu, the process is
% apt-get install lsb
On other Linux versions, you need to install it from the RPM.
Recheck lmutil again and see if things work. If not, try reinstalling the PGI compilers.
Beginning with PGI Release 7.2, users with network floating license for PGI products can "borrow" a license to use when not connected the license server.
The following example illustrates using this feature under Linux. Operation under OSX and Windows is similar.
To borrow a pgfortran 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 pgfortran:
% pgfortran hello.f
A license to use pgfortran 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 pgfortran-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 pgfortran-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.