Installation Issue, PGI - CE 17.10

This is – almost – a piggyback on someone’s previous thread a month ago, “Problems installing PGI Community Edition 17.10”,

https://forums.developer.nvidia.com/t/problems-installing-pgi-community-edition-17-10/135483/1

The machine is a Windows 10 64 bit system, and I am getting most of the same symptoms. I’ve debugged a bit, and have these insights.

o I followed the very same steps is required, and as listed in the previous post.

o The first time I added in CUDA and other extra features. When it didn’t work, I uninstalled and ran installation again, without any extra features, and it still didn’t work.

o By “didn’t work”, I mean that, whether it was pgcc or pgf90 or pgfortran, well, without arguments, it ran and gave the “no files specified” error message. But if a program source file is specified, the compiler seems to hang, and if I open the Task Manager, I see the compiler process, and it gets larger and larger. (One time I let it run and it got up to 2.5 gigabytes of RAM before I killed it.)

o That other person did not see any Visual Studio integration, and I don’t see it either. No Fortran items in the menus, that sort of thing.

o While the got 32 bit versions of the F77, F90, and F95 compilers, I have 64 bit versions of everything.

o The bash window does close right away. This is because the shortcut calls the BAT file with “C:\Windows\System32\cmd.exe /c C:\PROGRA~1\PGICE\win64\17.10\pgi.bat”, and that PGI.BAT has a couple of references to a " s:\Cygwin " folder. But there is no such drive ( “s:” ) on my system!

o If I modify the PGI.BAT file to point to my very real c:\cygwin folder, the bash window stays open.

Now:

#1
I can understand if Visual Studio was required just to get some utilities (as the previous thread seemed to say) and that Visual Studio doesn’t integrate with the PG compilers. (I am more of a command line person, myself.) So that is not an issue.

#2
The Big Problem – The “doesn’t work” description above is the thing I am trying to get around. When I try to use the compiler (say, PGfortran) as

pgfortran -o helloworld.exe helloworld.f

… it seems to hang, and Task Manager shows a process that grows and grows.

In case the PG compilers were “colliding” with other compilers, I took steps to wipe out the PATH variable before letting the PGI.BAT file set it. There was a LIBRARY_PATH environment variable that I also zilched. That didn’t change anything.

The PGI.BAT file provides access to the VS2015 utilities, because it has the line

set PATH=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64;%PATH%

I will be checking all the other files it seems to want, but if anyone here recognized this problem behavior, please let me know.

Thanks,
OldeFortranAle

Running through the PGI.BAT file, line by line, the only non-existing folder in its PATH is the one about “flaxlm”.

Googling that, I am thinking that that is where the “software license manager from Flexera Software” is supposed to be. Is that right? Is the compiler on my machine stopping and growing because it cannot find the licenses?

This is the PATH:

/cygdrive/c/PROGRA~1/PGICE/win64/17.10/bin:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64:/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/x64:/cygdrive/c/PROGRA~1/PGICE/win64/2017/cuda/9.0/bin:/cygdrive/c/PROGRA~1/PGICE/win64/2017/cuda/8.0/bin:/cygdrive/c/PROGRA~1/PGICE/win64/2017/cuda/7.5/bin:/usr/bin:/cygdrive/c/Program Files/PGICE/flexlm:/cygdrive/c/Program Files/Java/jre1.8.0_144/bin:.

And

/cygdrive/c/PROGRA~1/PGICE/license.dat

exists:

$ cat /cygdrive/c/PROGRA~1/PGICE/license.dat
#
# PGI Community Edition v17.10 license key file
#   Valid through: October 31 2018
#   NOTE: modifying this file may cause your license to fail.
#
PACKAGE PGI2017-COMMUNITY pgroupd 2017.1019 COMPONENTS="pgfortran \
   pgcc pgc++ pgprof pgdbg" OPTIONS=SUITE SIGN="1823 2984 C363 \
   DC0A FA28 317F 0CA6 1645 8F8A 30C2 57B2 A062 AC30 000D 527F \
   0235 CE04 A6BB 237E 67E0 30F3 966B 1A38 C6E0 5647 9062 7EF7 \
   0E82 1604 E0E1"
FEATURE PGI2017-COMMUNITY pgroupd 2017.1019 31-oct-2018 uncounted \
   VENDOR_STRING=COMMUNITY:16:ws:accel:v17.10 HOSTID=ANY \
   PLATFORMS="lin lin-acc win win-acc osx osx-acc" \
   SUITE_DUP_GROUP=UH TS_OK SIGN="0AAA B69C FC8A 934F 3031 D0F2 \
   3DD1 1269 514D 2F16 2B6E A4BA D7D0 89D0 572D 19B2 0CAC C5F7 \
   E528 CC9E A621 8C8D 71BF 1A7F 2AB1 BD19 3AED CDCE 9110 3F5D"

I have to check which step was supposed to supply Flaxlm.

I certainly did the Win10 SDK and the Visual C++ installations, but I will be double checking.

Hm. There are two Windows 10 services with the names

FlexNet Licensing Service

FlexNet Licensing Service 64

They aren’t started, but then starting them individually or starting them both does not change the compiler behavior.

Okay, the FAQ says

http://www.pgroup.com/support/faq.htm#license_types

Community license keys are bundled in PGI download packages for versions designated a ‘Community Edition’ release. These are valid for one year from date of release, are not FlexNet managed and can be installed on any supported system type.

So FlexNet has nothing to do with this installation not working. Why is there a reference to ‘flexln’ in the PGI.BAT file? Hm.

Perhaps I should be assuming that it is reading the license file correctly?

We have 2 systems that are also having this issue, the compilation just grows and grows. I have not dug into the issue as deeply as you have, but I tried to run the debugger and it shuts down saying that it cannot find a license.dat. In the background, you can see it referencing FlexNet, but since it shuts down after you click “OK”, I can’t read the whole message. It certainly seems that there is an installation/licensing issue with FlexNet, but why that would cause the compiler to hang this way is puzzling.

Will follow and post more info as I have time.

Despite what I wrote before, there are clues pointing to the licensing systems:

  1. I had been setting the environment variable FLEXLM_TIMEOUT to increasingly shorter values. It specifies the time in milliseconds that the system will wait while trying to contact a license server. I pulled it down to 10 milliseconds, and saw the process growth become much faster.

  2. The user grensprtan pointed out that he has seen accesses to flexln in the background.

But the FAQ states that this is not supposed to happen.

Hi OldFortranAle,

The PGI CE does not use the FlexNet license server. The license is a Flex license but the compiler will read it directly rather than go through a license server. Also, our Flex license server is called “PGI License Server”, so the “FlexNet Licensing Service” must be from some other software package.

Also, the PGI CE does not include support for integration into MS Visual Studio. We have a separate product for that called PGI Visual Fortran (PVF).

We do ship a copy of Cygwin with the compilers, but they would only ever be installed in your C drive. Why the generated batch file was configured to have it in you S drive is unclear. I did take a look at the code that generates the bat file and the drive it uses is defined by the Install Shield where the WinOS is installed. Is your Windows OS installed on the S drive?

As for the compiler hang, unfortunately I’m not sure what’s wrong though, I’m doubtful that it has to do with the license.

Can you post the output of the compilation with the addition the “-v” (verbose) flag to your compilation? That may give us clues as to what’s going on.

Thanks,
Mat

Also, do you have Cygwin installed already before you install PGI? I saw the cygdrive and the beginning of your path…

Thanks very much for the reply. Your suggestions were very helpful, and we have an answer. As you thought, it is not the licensing.

First, one of our people found that the compiler runs “as is� if it is invoked on Windows as an Administrator.

Next, I took your hint and ran with “-v�, both normally and as Administrator. The non-Admin run hangs before the first command. That command involves using the TMP folder.

The problem is that the PGI.BAT file that is called by the desktop icon has a

set TMP=C:\temp

in it. That folder seems to have permissions equivalent to

“ -rwxrwx—+ Administrator SYSTEM “.

So unless one belongs to some Cygwin group named SYSTEM or is the administrator, then the very first subcommand of the compile hangs.

Fix #1: If one compiles as an administrator, the permission problem goes away.

Fix #2: What I’ve done is created the folder

C:\Users<me>\Documents\temp

…… and then set the environment variable TMP with this:

set TMP=C:\Users<me>\Documents\temp

When I did that, the compilations run normally.

Thanks again.

Remember that if you install the community edition, you should say
“no” to any license creation, so that the Community Edition license.

It looks like you have that.

I believe we have an installation issue with the Community Edition.
Installing anywhere but C:\Program Files\PGICE may expose issues.

Finally, the Community License should always be edited/changed “as administrator” in place.

So I would install in C:\Program Files\PGICE, and make sure that any
editing of the license file be done “as administrator”.

dave

Windows versions of the Community Edition require Win10 SDK
and the Windows Visual Studio Community Edition be installed prior
to installing the PGI download.

At the end of the installation, saying ‘no’ to license generation
should cause the process to install (put) a license
in C:\Program Files\PGICE\license.dat

This community license can only be stored, edited, or altered as Administrator. If you have problems, the first thing to try is to
“edit as administrator” the file C:\Program Files\PGICE\license.dat
and make sure it is correct.

If the file is correct, go to
Control Panel->Admin Tools->Services->PGI
and make sure the PGI service is STOPPED.

dave

There are a number of problems user’s run into when installing the
Windows Community Edition, version 17.10.

  1. Make sure you have Win10 SDK and VS Community Edition (with VC++) installed prior to installing the download.

  2. Make sure anytime you read,edit, or move a license, you do it
    by running NotePad or WordPad “as administrator”.
    This is often the reason for slow or failing compilers.

  3. Be sure to say NO to license generation so that the free Community Edition license is left in place.

  4. The CE compilers only install in C:\Program Files\PGICE
    Trying to install in other places will cause problems. The license
    needs to be in C:\Program Files\PGICE\license.dat .

dave