Finding a PGI License

189 views
Skip to first unread message

ajstew...@gmail.com

unread,
Dec 15, 2015, 1:22:38 PM12/15/15
to Spack
I'm trying to install something with the PGI compilers, but ran into the following issue. From the config.log:

configure:3672: checking whether the C compiler works
configure:3694: /blues/gpfs/home/software/spack/lib/spack/env/cc    conftest.c  >&5
pgcc: LICENSE MANAGER PROBLEM: Cannot find license file.
 The license files (or license server system network addresses) attempted are
listed below.  Use LM_LICENSE_FILE to use a different license file,
 or contact your software provider for a license file.
Feature:       pgi-cc-lin64
Filename:      /blues/gpfs/home/software/spack/opt/spack/linux-x86_64/binaries/pgi-15.10-0/license.dat
License path:  /blues/gpfs/home/software/spack/opt/spack/linux-x86_64/binaries/pgi-15.10-0/license.dat:
FlexNet Licensing error:-1,359.  System Error: 2 "No such file or directory"
For further information, refer to the FlexNet Licensing documentation,
available at "www.flexerasoftware.com".
configure:3698: $? = 2
configure:3736: result: no

The problem is that PGI expects the license to be in $PGI/license.dat, but we store our licenses on a separate license management server. I can get things working if I manually set LM_LICENSE_FILE every time I want to use the PGI compilers, but I'm wondering if there's a way to tell Spack to set this environment variable for me.

Todd Gamblin

unread,
Dec 15, 2015, 4:08:03 PM12/15/15
to ajstew...@gmail.com, Spack
I think we use wrappers for this -- Greg?

I think this is starting to indicate that I need to add more env support for compilers in Spack.  Do your users typically do this by loading a module?  Or do they have to manually set the env var?  Setting env vars is something we could add to the compilers.yaml along with source me and module support.  I'm curious if there is a subset of those options that would be sufficient.

-Todd

--
You received this message because you are subscribed to the Google Groups "Spack" group.
To unsubscribe from this group and stop receiving emails from it, send an email to spack+un...@googlegroups.com.
To post to this group, send email to sp...@googlegroups.com.
Visit this group at https://groups.google.com/group/spack.
For more options, visit https://groups.google.com/d/optout.

Lee, Greg

unread,
Dec 15, 2015, 4:17:25 PM12/15/15
to Todd Gamblin, ajstew...@gmail.com, Spack

For PGI, it looks like we create a symlink in <prefix>/license.dat that points to a file that contains the license server info:

 

bash-4.1$ ll /usr/local/tools/pgi-15.7/license.dat

lrwxrwxrwx 1 root root 37 Oct 12 17:00 /usr/local/tools/pgi-15.7/license.dat -> /usr/local/etc/license.client.pgroupd

 

bash-4.1$ cat /usr/local/etc/license.client.pgroupd

SERVER taz4.llnl.gov 001a4a030400 27000

USE_SERVER

 

                -Greg

David Shrader

unread,
Dec 15, 2015, 4:17:35 PM12/15/15
to sp...@googlegroups.com
Hey Todd,

Here at LANL we set the env variable in the modulefile. We actually set the env variable to a file that has the license server information in it. This way, we can use the same modulefile pretty much everywhere and can easily change the license server information if needed.

Thanks,
David
-- 
David Shrader
HPC-3 High Performance Computer Systems
Los Alamos National Lab
Email: dshrader <at> lanl.gov

ajstew...@gmail.com

unread,
Dec 15, 2015, 5:24:55 PM12/15/15
to Spack
Do your users typically do this by loading a module?  Or do they have to manually set the env var?

At ANL, our users load environment variables using SoftEnv, which is homegrown. We are considering switching to Modules to replace this in the future. Being able to source a script or directly set environment variables in the yaml file or load a module would all be very useful.

Adam Stewart

unread,
Dec 16, 2015, 4:55:29 PM12/16/15
to Spack
Greg,

This solution worked perfectly for me, thanks! I didn't bother creating a symlink. Just created a license.dat file pointing to our server.

Adam
Reply all
Reply to author
Forward
0 new messages