As I said
earlier , Intel products have a large number of different types of licenses. For large companies, universities, and other organizations in which a relatively large number of engineers can be engaged in development, an option is proposed using client-server configuration and floating licenses. These are the most "fat" licenses, both in terms of functionality and price. From my personal experience I know that it is not so easy to “raise” a server and make everything work as it should. Therefore, I decided to collect in this post all the subtleties that I had to face myself.
Let's start with why you might need a server and buying floating licenses, because there is another type available - single-user, or, as they are called now (by analogy with Microsoft and others) - named-user, is much cheaper. The only difference is that with the latter only one person can legally use the product. Yes, it can perform the installation on many systems, but use it - only on one. It is worth noting that, technically, such a check is not performed and, in essence, it is only a matter of the legality of use. With such a license, no server is needed - you have entered a serial and use it for health.
But if you have a lot of developers, then the server configuration can also come on the scene. A simple example - you have 10 engineers working on the code, and all of them, from time to time, need a compiler. You can purchase 10 named-user licenses, distribute it to everyone and do not delve into it. Quite by the way, such a working scheme. But it is important to understand that all 10 people will not start the compilation process at the same time, and therefore it is not very efficient to spend so much money and do the same. Moreover, each new employee will have to be issued under a license, and then all these licenses will be updated on time every year. In this case, it may be enough floating license for 3 users (3 seats), which will be used as follows. As soon as the compilation process is started on the machine with the installed compiler, the client will contact the server and ask if there are any available licenses. Since there is a valid license, the compilation will be performed, and the compiler will use the same seat (seat) from the license, while still having the opportunity to run two more simultaneous compilation processes. As soon as everything is collected, the license is returned to the server. Roughly speaking, there is a counter on the server, and if one of the clients starts the compilation - it decreases by one, when it is completed - it increases. Actually, I already described it in the previous blog.
Thus, only 3 engineers will be able to use the compiler at the same time, but in most cases, this will be enough, because you never need to build the source code all at once. Most of the time is spent far from it.
')
So, we figured out that we need a server configuration and now even have purchased a floating license. In fact, we have a serial in our hands and nothing more. We register this serial on the Registration Center. Be prepared to enter the host and MAC address of the server, or even 3 servers, if a so-called “three redundant license server” configuration is created for smooth operation. Yes, this information is “hard” prescribed in the license and will not work on another server - you will need to go back to the Registration Center and make changes. After the registration process is completed, you will receive a license file, which will be required to start the server. By the way, in the same place you can find and download the Intel Software License Manager, which we will install. And you can put it everywhere - on Windows, Linux or Mac - there is no link to which OS your license is for. Go to the Registration Center, select 'Search for older versions', find the 'Intel Software License Manager' and download it.
Before installing, check again that the address (MAC and host name) of the server, which is registered in the license and the address of the machine on which you intend to install it, match. This is a fairly common problem. One of the most recent problems - the latest versions of compilers (Composer XE 2013 SP1 Update 3) require the installation of the latest version of Intel License Manager - 2.3 and higher.
In addition, for the server, be sure to check that there are no other licenses in the flexlm directories that have already been “burned”. You need to check these folders:
Linux *: / opt / intel / flexlm /
Mac OS * X: / opt / intel / flexlm /
Windows *: [Program Files] \ Common Files \ Intel \ FLEXlmIf you are going to create a configuration of 3 servers, then 2 of them must work all the time. These are the limitations now for stability. Yes, and there is one more interesting feature. For floating licenses, it is possible to take licenses off-line. This means that you are typing a special magic command, and the license from the server is taken not only for the same compilation process, but for a certain time. And you can safely leave the grid, where the server is available, even though home. And on return to the grid - to return the license. This feature is called nothing other than BORROWing. So in the configuration with three servers it is not supported - the limitation of the current design.
Next, we just put the server. On Windows, everything is simple and you need to run the installer, indicating the path to the file with the license. The license manager will start as a service automatically. For Linux, the process is no more difficult, however, if difficulties arise, you can find all the necessary hints in the
User Guide , paragraph 3.5.4. By the way, for servers on Windows Vista, 7 and Server 2008 there are a
couple of nuances .
You can check whether everything works after installation using the lmstat command:
Linux: lmstat -a -c <-license file->
Windows: lmutil lmstat -a -c <-license file-> ,
where <-license file-> is the full path to the license file with its name.
If the server is up and everything is working, we need to complete the configuration on the client side. First of all, you need to install the necessary product, having previously downloaded it again from the registration center. During installation, you can set the server address. If the software already stands, or the server is not yet operational, you can do it at any time later.
On the client side, all licenses are in these folders:
Linux *: / opt / intel / licenses /
Mac OS * X: / Users / Shared / Library / Application Support / Intel / Licenses
Windows *: [Program Files] \ Common files \ Intel \ Licenses \At any time, just drop the license file there. And remember that other licenses for the same product (for example, trial licenses) can interfere with normal operation, so it’s better to get rid of them and simply remove them, especially if they are already expired. By the way, the version with the original license file is not the best, because it reveals its contents to users. There is another way - to set the
INTEL_LICENSE_FILE variable to port_number @ host (the port is also written in the license file, by default - 28518), or create a file in the folder with the following licenses:
SERVER <-server-name1-> <-hostid1-> <-port1->
USE_SERVERIf we have 3 servers, then we register them all here, each on a new line starting with SERVER.
That's all. And most importantly - if something does not work, and most often from the client, then you can turn on debag logs and see what is wrong, and send them in support. This can be done using the environment variable INTEL_LMD_DEBUG. Let's say we can install it this way:
SET INTEL_LMD_DEBUG = "C: \ temp \ LicenseCheckout.log"Then run the product, the same compiler, which will try to pick up the license from the server, and collect the necessary logs. Problems, of course, are common, but the main thing is that now you know how to understand their cause. And finally, a set of links to very useful articles, the truth in the "aglitsky":
Checklist for Installation and Troubleshooting Intel FLEXlm * License ManagerLicensing: Setting up a client for a floating licenseLicense questions