Skip navigation
1 2 3 4 Previous Next

Licensing and Installation

56 Posts tagged with the licensing tag

One of the first questions to ask when investigating performance issues is “Which license server is the tool looking at?”


Very often, the answer is “It’s looking at the right server, but it’s checking it a number of times for each license”.


On Windows, Mentor tools typically look for licenses in five locations:



  • MGLS_LICENSE_FILE environment variable
  • MGLS_LICENSE_FILE registry value
  • LM_LICENSE_FILE environment variable
  • LM_LICENSE_FILE registry value
  • C:\flexlm\license.dat



(On Linux / Unix only the environment variables are used.)


If your license server is listed in both the environment variables and both registry values – then the server can be checked four times for every license request!


Some tools check a number of licenses to determine what options are available, so if you do not have that license, you are getting the same “No license here” answer four times.  (If a license server is listed multiple times in an environment variable – it can be checked even more often.)



Each license server only needs to be listed once.  If a server is listed more than once, remove the duplicate entries.

The MGLS_LICENSE_FILE variable / registry value is only used by Mentor tools, whereas the LM_LICENSE_FILE settings are used by all tools that use FlexNet.  (If you only want Mentor tools to check Mentor license servers, define the Mentor license server in MGLS_LICENSE_FILE, and set MGLS_LICENSE_SEARCH=1 to stop them checking LM_LICENSE_FILE.)


How to make the changes


The Mentor Licensing Utility provides a simple method of editing your license variables.

Use it to remove any duplicate entries.  In the example below, the two highlighted entries can be removed.




613 Views 0 Comments Permalink Categories: Best Practices, Configuring Licensing, Tip of the Week Tags: performance, licensing, variables

Last week, Ken Foster showed us how to use psping on for measuring network latency on Windows - Tip of the Week: Measuring Network Latency. On Linux you can use ping with specific options to achieve similar results.


For example:


     ping -U -q -c 300 -s 1200




The options are as follows:


-U display full user-to-user latency, not just network round trip time.


-q Print only the first line and the summary


-c The number requests to send at one second intervals (300 = 5 minutes worth)


-s The number of bytes sent for each ping


rtt is ‘round trip time’. The values that follow are the minimum, average, and maximum latency values in milliseconds.



Please see previous blog posts on latency:


Tip of the Week: Troubleshooting Networking on Windows with pathping.

Tip of the Week: Measuring Network Latency

669 Views 0 Comments Permalink Categories: Common Licensing Problems, Tip of the Week Tags: licensing, linux

What is the mgc.pkginfo file?


The mgc.pkginfo file contains the cross-reference information which describes what "atomic" licenses are included in "composite" features.


When does it need to be updated?


The mgc.pkginfo file needs to be updated when product bundling changes in a new release, and you want to use the new license in an older version of software.




Let me look at a example as a way to describe this in more detail:


Last year, Expedition introduced a "dual" license which enables either Design Capture or DxDesigner to be run.  The new license is called "wgdxd_c".


This "wgdxd_c" composite contains both "wgdsncap" (for Design Capture) and "viewdraw" (for DxDesigner).  The composite license "wgdxd_c" is then checked out when either tool requests a license.


The latest release of software already knows about this new license (because the mgc.pkginfo file supplied with that release contains the information) but what about older software releases?


If you want to use the new "wgdxd_c" license with older releases of software, you will need to update your old software tree with a new version of mgc.pkginfo.


How do I update mgc.pkginfo?


Technote MG504224 contains an automated method of updating the file, and a link to the latest file along with a manual method (if you prefer that method).

903 Views 0 Comments Permalink Categories: Common Licensing Problems, Tip of the Week Tags: licensing, mgc.pkginfo

We've previously discussed how to get fairly detailed debug information with the MGLS_DEBUG_LOG_DIR variable - Tip of the Week: Check requested license feature with debug. But sometimes a quick confirmation of the license checkout can be nice to see in the transcript. And, if anything fails, an error message will be right there.


The FLEXLM_DIAGNOSTICS variable is a simple way to show some debug information. Simply set FLEXLM_DIAGNOSTICS=3 in your environment and you should see something like the following in the shell where you invoked the application:


Checkout succeeded: msimhdlsim/9E204CB2CC009FD365DE

        License file: 1717@licserver

        License Server: 1717@licserver

License granted through "msimhdlsim".



I hope you find this useful. Be sure to share your own tips!



1,128 Views 0 Comments Permalink Categories: Common Licensing Problems, Tip of the Week Tags: license, licensing, variables, flexnet

I have noticed a recent increase in the number of customers asking for their latest authorization codes (licenses) - so this week's "Tip of the Week" is a reminder.


Licenses for your site are available from Supportnet via the "My Licenses" link in the left navigation bar:




If you subscribe to the SupportPro Newsletter, they are also available from the "Find It Fast" menu:




Finally, if you prefer video, there is a video on the Community site that shows you how to download your authorization codes:

911 Views 0 Comments Permalink Categories: Common Licensing Problems, Before you get started, Best Practices, Configuring Licensing, Installation, PADS Install and Licensing, Tip of the Week Tags: install, license, licensing

This week we'll explore a couple of very useful commands that you can run in the DOS prompt (cmd.exe) -




This command lists all of the processes that are running in memory, similar to opening 'Task Manager' and navigating to the 'Processes' tab. For example:



Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
System Idle Process              0 Services                   0         24 K
System                           4 Services                   0      3,668 K
smss.exe                       284 Services                   0        232 K
csrss.exe                      392 Services                   0      2,248 K
wininit.exe                    452 Services                   0        520 K
csrss.exe                      464 Console                    1    128,664 K
winlogon.exe                   508 Console                    1      2,508 K
svchost.exe                    876 Services                   0     17,176 K
svchost.exe                    908 Services                   0    130,312 K
svchost.exe                    956 Services                   0     15,900 K
svchost.exe                    988 Services                   0     63,404 K



For more detailed usage information refer to





Useful for finding content within files or filtering the output from another command (for example, from 'tasklist'!). For example, to find the string 'pcbexpedition' in any files in the current directory and all sub-directories:


C:\Temp>findstr /s pcbexpedition *.*


Site_12345.txt:INCREMENT pcbexpedition mgcld 2013.120 31-dec-2013 2 DE33165DE25AC2AD3EAC \

Site_12345.txt:#         pcbexpedition              2013.120 12/31/2013 41071002



For more detailed usage information refer to

Combining the two commands


We can combine both the 'tasklist' and 'findstr' commands as shown below. Here we're looking to see if the notepad.exe process is running, and as you can see it is! (the process ID (PID) is 16952 and memory usage is 6,204K)


C:\Temp>tasklist | findstr notepad.exe

notepad.exe                  16952 Console                    1      6,204 K

1,733 Views 0 Comments Permalink Categories: Best Practices, Tip of the Week Tags: performance, license, licensing, system, windows, os, dos, commands

When starting or troubleshooting a  license server, it's handy to have a way to verify a license checkout  without having to run an application. We have two utilities to help you  do just that.


On Linux we use the mgls_ok utility. Most applications have the mgls_ok utility  located within the application tree's bin directory. However, you may  need to set the MGLS_HOME variable to the application tree or the mgls  package within it. For a standalone licensing tree, set MGLS_HOME to the  top level folder (e.g.: mgls_v9-7_2-3-0.ixl). You'll also need to copy  the mgc.pkginfo file to the lib directory. You can download that here. Make sure your MGLS_LICENSE_FILE variable is set to your license file or license server (port@host).


Once  you have the the MGLS_HOME and MGLS_LICENSE_FILE variables set and the  mgc.pkginfo file copied, the command to check out a license feature is  simple:


     $ $MGLS_HOME/bin/mgls_ok msimhdlsim

     Checking availability of "msimhdlsim".

     License granted through "msimhdlsim".



On Windows,  we use the pcls_ok utility which provides a GUI. With the licensing  software installed, you can access the pcls_ok utility from the Start  Menu> All Programs> Mentor Graphics Licensing> pcls_ok. You can  also navigate to C:\MentorGraphics\Licensing or possibly find pcls_ok  in your applications start menu or tree. Here's an example of the  pcls_ok interface:




The  nice thing about the pcls_ok interface is it shows you the value of  MGLS_LICENSE_FILE, which makes it easy to verify and know where you're  attempting to get licenses from.


To  check out a feature, just pick one from your license file and type or  paste it into the Feature: field. Then, click Apply. A successful  checkout will look like this:




If the checkout fails, A dialog will appear with an error message.

1,941 Views 0 Comments Permalink Categories: Common Licensing Problems, Configuring Licensing, Tip of the Week Tags: licensing, utility

If you get a licensing error from one of your applications, aside from ensuring licenses are available and searching SupportNet for the error message, you can use our Mentor License Utility (MLU) to generate a detailed diagnostic report that may help you or one of our CAEs determine the root cause.

Please take a moment to watch the video demonstration for  Generating a Run-time Diagnostic Report with the Mentor License Utility (video).

1,471 Views 0 Comments Permalink Categories: Common Licensing Problems, Tip of the Week Tags: license, licensing, mentor, utility

Troubleshooting a variety of networking problems typically involves frequent use of the ping command, which can quickly tell you whether or not there is a route between hosts. But what if ping returns with zero packet loss yet you still have problems? Those TCP/IP packets often have to travel through routers or switches and those points can create problems. Fortunately, there's a very handy utility on Windows called pathping that will trace the route between hosts and give you some data on performance or potential bottlenecks. This can be very helpful in diagnosing network problems, especially those related to latency.


Here's an example of using pathping:



C:\Users\guyw>pathping silver


Tracing route to[]

over a maximum of 30 hops:







Computing statistics for 100 seconds...

            Source to Here   This Node/Link

Hop  RTT    Lost/Sent = Pct  Lost/Sent = Pct  Address

  0                                 []

                                0/ 100 =  0%   |

  1    1ms     0/ 100 =  0%     0/ 100 =  0%[]

                                0/ 100 =  0%   |

  2    9ms     0/ 100 =  0%     0/ 100 =  0%[]

                                0/ 100 =  0%   |

  3   16ms     0/ 100 =  0%     0/ 100 =  0%[]

                                0/ 100 =  0%   |

  4    1ms     0/ 100 =  0%     0/ 100 =  0%[]


Trace complete.

1,706 Views 0 Comments Permalink Categories: Common Licensing Problems, Tip of the Week Tags: licensing, networking, server

On Windows you have the option to set an environment variable as a User variable or a System variable. A User variable takes precedence when the variable is set both as a User and System variable. Setting a System variable requires admin rights and will be available to anyone who logs into the system. User variables are only available to the user but are generally fine for desktop applications.


However, some applications either run as a service or have a component that runs as a service. In cases where the service requires a license (e.g.: Capital Manager), it is imperative that MGLS_LICENSE_FILE be set as a System variable so the service (running under the System user account) can obtain a license.


If you get errors when starting an application service, ensure that ALL required variables are set as System variables.

2,280 Views 0 Comments Permalink Categories: Configuring Licensing, Tip of the Week Tags: user, licensing, system, windows, flexnet

Mentor Standard Licensing v2013_2 is now available for download on SupportNet. This release contains a number of important benefits and key changes detailed below.



Reasons to update your license server:


  • Update from FlexNet v11.10.0.3 to v11.11.1.1. As applications that build with Mentor Standard Licensing (MSL) v2013_2 ship, they will require license servers running or newer. It's advisable to update your license servers in advance of these product releases. You do not need to update anything if you are using Mobile Compute (uncounted) licenses.
  • Support added for AIX v6.1, Windows 8 and Windows Server 2012. Note: This applies to the licensing software only. For support information regarding specific product releases, please refer to the System Requirements on SupportNet. 
  • Support added for Consistent Network Device Naming (em0, em1, p1s3, etc...) on Linux
  • Stability improvements
  • Numerous defect fixes





Key Changes:


  • Red Hat EL 4 and SuSe SLES 9 are no longer supported. MSL v2013_2 will not run on these platforms.
  • Support for some hardware keys (dongles) has been  discontinued. If you are using a hardware key as your  license server's hostid, you may need to request a replacement key.  Please refer to for more information. As of MSL v2013_2, only the Aladdin USB FLEXid 9- key is supported. This is the teal-colored USB key.



Information about downloading MSL v2013_2 can be found in TechNote MG66951.*


*Requires SupportNet login.

2,298 Views 0 Comments Permalink Categories: Configuring Licensing, Installation, PADS Install and Licensing, Tip of the Week Tags: licensing, platform, server, flexnet

Two weeks ago, my colleague posted a tip of the week about how to combine licenses from two software vendors into one license file.  This week I will look at how to use two licenses from the same vendor - but created for different server IDs.


Background Information:


  • If you have two sets of licenses for one server, they can only be combined into one license file if the SERVER IDs are the same.
  • Only one instance of a vendor daemon (the Mentor daemon is "mgcld") can run on one machine.


This means that if you have two sets of licenses for the same daemon, but created for different IDs (for example a MacAddress and a Hardware Key) then:


  • They cannot be combined into one license file (because the server IDs are different).
  • You cannot run two servers (because only one "mgcld" can run at any time).



How to use both sets of licenses:


If your license server machine is running Windows, then by following the instructions below, you can use both sets of licenses.  Note - this will not work for other operating systems.  (The instructions below assume you already know how to set up a license server using lmtools.)


1) Create a folder to contain all the licenses, and save each license as a separate file with a .lic extension.  For example:


C:\Licenses\modelsim.lic - this file contains:


SERVER put_server_name_here 001234567890 1717

DAEMON mgcld path_to_mgcld

INCREMENT msimhdlsim mgcld 2013.120 31-dec-2013 ...


C:\Licenses\pads.lic - this file contains:


SERVER put_server_name_here FLEXID=9-87654321 1717

DAEMON mgcld path_to_mgcld

INCREMENT padses_c mgcld 2013.090 30-sep-2013 ...


2) Edit the licenses so that they contain the name of your server, and the location of the vendor daemon.  (The SERVER and DAEMON lines will be the same for each license, apart from the server ID which must not be changed.)  So in the example above:


C:\Licenses\modelsim.lic - after changes:


SERVER my_pc 001234567890 1717

DAEMON mgcld C:\MentorGraphics\Licensing\mgcld.exe

INCREMENT msimhdlsim mgcld 2013.120 31-dec-2013 ...


C:\Licenses\pads.lic - after changes:


SERVER my_pc FLEXID=9-87654321 1717

DAEMON mgcld C:\MentorGraphics\Licensing\mgcld.exe

INCREMENT padses_c mgcld 2013.090 30-sep-2013 ...


3) In the "Config Services" tab within "lmtools", in the box entitled "Path to the license file" - enter the folder name containing the licenses, instead of the path to a license file.  So in the example above:


Path to the license file = C:\Licenses


4) Check "Use Services", and "Save Service" as usual, then start the server in the "Start/Stop/Reread" tab.


Your license server should now show that both sets of licenses are available.

3,775 Views 0 Comments Permalink Categories: Configuring Licensing, Tip of the Week Tags: license, licensing, manager, server, flexnet

If you are experiencing slow invocation times with one or more of your Mentor Graphics applications - here are some general tips and techniques, as well as application-specific options (for Expedition PCB and PADS Layout), that are available for use:



  1. Check your licensing environment for any invalid or duplicate license server (port@host) references.


  • If you find any, remove them.
  • A quick and easy tool for editing your licensing environment is the Mentor License Utility:

Using the Mentor License Utility to query and edit the licensing environment (video)


Note: Before making any changes to the environment you can back-up your current settings via the 'File>Export Environment' menu-pick. To import previously saved settings navigate to 'File>Import Environment'.





2. Check your licensing environment for any license files containing un-edited lines starting with "SERVER put_server_name_here"




  • If you find any, AND your machine is NOT intended to be a license server:
    • Add a pound/hash character at the beginning of the line and also the line after it (starts with "DAEMON")




3.  If you have any non-Mentor Graphics (mgcld daemon) license files or port@host references in your environment

  • Make sure all your Mentor Graphics (mgcld daemon) licenses and port@host references reside under the MGLS_LICENSE_FILE environment variable
    • If not, you can use the Mentor License Utility to move them





3b. If you have any non-Mentor Graphics (mgcld daemon) license files or port@host references set in the LM_LICENSE_FILE environment variable or registry entry

  • Set the MGLS_LICENSE_SEARCH environment variable to a value of 1. When set, Mentor Graphics licensing will ignore the LM_LICENSE_FILE values (and other vendor licenses) if it finds that the MGLS_LICENSE_FILE is set.


How to set or edit an environment variable on Windows



4. Use any application-specific license options/dialogs to reduce the number of licenses that get checked during the invocation


  • Two good example applications are Expedition PCB and PADS Layout, both of which check for many licenses on invocation in order to enable as many options as possible.

    • Note: This information only applies to users pointing to a license server for licenses
    • The reason it's not necessary to take these measures with a local Mobile Compute (a.k.a. Nodelocked Uncounted) license file, is because the checkouts are much quicker (no network latency), so any additional checks shouldn't add any noticeable delays to the invocation.



Expedition PCB


  • The default behavior is to check for all the options licenses in order to display the following dialog. In this example only the base licenses for Expedition Pinnacle, Ascent LX, and Ascent.



  • If it is taking a long time for the above dialog to appear, there are two options available:


     A). Set the MGC_DISABLE_PRESPLASH_CHECKS environment variable to 1.




  • The MGC_DISABLE_PRESPLASH_CHECKS variable changes the number of licenses the Expedition checks for on invocation. Instead of checking for every option license it only looks for a base license (for Pinnacle, Ascent LX, or Ascent).
  • When the license selection dialog appears, all options are selectable regardless of whether or not a license exists and is available.
    • If you select an option that you don't have a license for (or it's not available) you will get a licensing warning after you click OK (and before Expedition comes up)
    • This option works well if you just want to select one of the first 4 radio buttons (for Pinnacle, Ascent LX, Ascent, or Xtreme Design Client), and checkout (and in) any option licenses via the 'Setup>Licensed Modules' menu-pick (on-demand licensing).




     B). Add one of the following switches to the Expedition PCB Start Menu shortcut target path:






  • Right click on the Expedition PCB shortcut, and select "Properties".
  • Add the switch to the end of the "Target" field (add a space in-between)
  • Click Apply and OK.


  • With any of these switches in place, Expedition will bypass the license selection dialog and go directly into the requested mode (for Pinnacle, Ascent LX, or Ascent), provided the licenses are available.
    • You can then checkout (and in) any option licenses via the 'Setup>Licensed Modules' menu-pick



PADS Layout


  • By default PADS Layout checks for all available options as seen in the 'Help>Installed Options...' dialog.



  • To change the behavior and have PADS Layout look for only those licenses that you have available, you can uncheck the 'Checkout all available options' and then uncheck the 'Not Available' options.
    • Note: If you add option licenses to your license server, PADS Layout will not pick these up (it's no longer looking for all available licenses). You would need to set the 'Checkout all available options' again, temporarily, to see what new options have become available.


4,279 Views 0 Comments Permalink Categories: Common Licensing Problems, Configuring Licensing, Tip of the Week Tags: performance, pcb, expedition, license, licensing, pads, feature, windows, server

The server hostids of the licenses to be combined must be identical. For example:
License file 1: SERVER mozart 0050CCA420A3 1717
License file 2: SERVER server 0050CCA420A3 1700
In this example, the MAC address of the machine being used for the server is being used as the hostid and the server hostid of each file is exactly the same: 0050CCA420A3.


You can either group all of the DAEMON lines together at the beginning of the file:

SERVER mozart 0050CCA420A3 1717
DAEMON mgcld C:\MentorGraphics\Licensing\mgcld.exe
DAEMON summit.d C:\Summit\summit.d


Or you can separate licenses according to daemon:

SERVER mozart 0050CCA420A3 1717
DAEMON mgcld C:\MentorGraphics\Licensing\mgcld.exe
INCREMENT padses_c ...

DAEMON summit.d C:\Summit\summit.d

INCREMENT summit.d...


Note: The DAEMON line must appear in the license file before the first INCREMENT line that utilizes that vendor daemon.


Please refer to Configuring a Mentor Graphics License Server on Windows (Video) for a demo of creating the license manager service.

3,586 Views 2 Comments Permalink Categories: Best Practices, Configuring Licensing, Tip of the Week Tags: license, licensing, server, hostid

We often see strange problems when the wrong characters are used to separate multiple license servers or license files in either the MGLS_LICENSE_FILE or LM_LICENSE_FILE variable.


The FlexNet standard is as follows:



Multiple independent servers and/or license files - colon ":" on Unix/Linux and semicolon ";" on Windows


For ex: MGLS_LICENSE_FILE=1717@server1;1717@server2;C:\MentorGraphics\License_Files\local_license.dat


This is a Windows example and the semicolons are used because a colon indicates a drive letter. Use colons on Unix/Linux.



A set of redundant servers - commas on both Windows and Linux


For ex: MGLS_LICENSE_FILE=1717@serverA,1717@serverB,1717@serverC:1717@local_server


Notice that the servers in the redundant cluster of serverA/serverB/serverC are separated by commas but the cluster as a whole is separated by a colon from the independent local_server. This would be a Unix/Linux example.

4,665 Views 0 Comments Permalink Categories: Best Practices, Configuring Licensing, Tip of the Week Tags: licensing, linux, windows, server, flexnet, licenseunix
1 2 3 4 Previous Next