適用先: Fast Models、ARM Developer Suite (ADS)、RealView Development Suite (RVDS)、DS-5、MDK-ARM
このFAQは、ARM ツールのフローティング・ライセンスに関連する問題をスムーズに診断し、解決できるように、必要な情報を提供することを目的としています。
このFAQを読み進める前に、FlexNet for ARM Tools License Management Guideを参照して、フローティング・ライセンス・サーバとそのクライアント・ワークステーションのセットアップ手順を確認しておくことをお勧めします。
このFAQには、次の事項を前提とします:
- サーバおよびクライアントマシンにインストールされているオペレーティング・システムについて知識を持っている
- 使用しているオペレーティング・システムが ARM 製品のサポート対象プラットフォームのリストに含まれている
- ARM 提供の FLEX バイナリ ( lmgrd、armlmd、lmutil など) を使用している
- サーバPCとクライアントPCが FLEX バイナリを所定の PATH に配置している
- ARM社製開発ツールを使用している(ARMから提供されるFLEXnet管理ツールのための情報は一般的なものです)
Part 1: クライアント / サーバの切り分け
診断の最初のステップでは、クライアント マシンがサーバと正常に通信できるかどうかを判別します。 具体的には、次の 2 つの簡易テストを実行します。
1) クライアント側
コマンド プロンプトを開いて、次のように入力します。
lmutil lmstat -a -c ポート番号@ライセンスサーバ名またはIPアドレス
このコマンドは、検索パス( ARMLMD_LICENSE_FILE および LM_LICENSE_FILE )上の全ライセンス サーバに対してクエリを実行します。このコマンドの出力は、次のようになります。
c:>
lmutil lmstat -a -c 8224@my_lic_server
lmutil - Copyright (c) 1989-2006 Macrovision Europe Ltd. and/or Macrovision Corporation. All Rights Reserved. Flexible License Manager status on Thu 1/29/2009 12:52
[Detecting lmgrd processes...] License server status: 8224@my_lic_server <- サーバの名前="サーバの名前"
License file(s) on my_lic_server: C:license.dat: <- サーバ上のライセンス="サーバ上のライセンス" ファイルの場所="ファイルの場所" my_lic_server: license server UP (MASTER) v10.8 <- lmgrd="lmgrd" バージョン="バージョン" Vendor daemon status (on my_lic_server): <- 実行中のデーモン="実行中のデーモン" armlmd: UP v10.8 <- デーモンのバージョン="デーモンのバージョン" Feature usage info: <- コンポーネントおよび現在のユーザのリスト="コンポーネントおよび現在のユーザのリスト" Users of compiler: (Total of 1 license issued; Total of 0 licenses in use)
接続に失敗した場合は、このコマンドの出力は、次のようになります。
c:>
lmutil lmstat -a -c 8224@my_lic_server
lmutil - Copyright (c) 1989-2006 Macrovision Europe Ltd. and/or Macrovision Corporation. All Rights Reserved. Flexible License Manager status on Thu 1/29/2009 12:52 [Detecting lmgrd processes...] Error getting status: Cannot connect to license server system. (-15,10:10061 "WinSock: Connection refused")
2) サーバ側
サーバ側でコマンド プロンプトを開いて、次のように入力します。
lmutil lmstat -a -c ポート番号@ライセンスサーバ名またはIPアドレス
このコマンドの出力は、クライアント側で実行した場合の出力と同じ形式です。
上記2回のテスト結果から、問題要因の切り分けをおこなえます。
クライアント側 | サーバ側 | 参照するセクション |
― | 失敗 | サーバの問題 |
失敗 | 成功 | 接続 / クライアントの問題 |
成功 | 成功 | クライントの問題 |
Part 2: 接続 / クライアントの問題
次のステップでは、サーバ ソフトウェア(lmgrd)が適切に動作している場合にクライアント側でライセンスをチェックアウトできない理由を判別します。
クライアント側でターミナルを開いて、次のように入力します。
armcc --vsn
このコマンドは、ライセンスのチェックアウトを試行するようコンパイラに指示します。 このコマンドの出力は、次のようになります。
C:>
armcc --vsn
ARM C/C++ Compiler, RVCT4.0 [Build 400] Error: C9932E: Cannot obtain license for Compiler (feature compiler) with license version = 4.0: Cannot connect to license server system. The license server manager (lmgrd) has not been started yet, the wrong port@host or license file is being used, or the port or hostname in the license file has been changed. Feature: compiler Server name: 10.1.72.146 License path: 8224@my_lic_server FLEXnet Licensing error:-15,10. System Error: 10061 "WinSock: Connection refused" For further information, refer to the FLEXnet Licensing End User Guide, available at "www.macrovision.com".
このエラー メッセージから、数多くの有用な情報を得られます。ここで特に注目する必要があるのは、FLEXnet Licensing error (-XXX,XXX) および License path の行です。
ライセンス・パスは、ツールがライセンスを検索する場所を示します。ライセンス・パスには複数のエントリを含めることが可能であり、 "port"@"server" (例. 8224@my_lic_server または 8224@192.168.10.1 )またはライセンス ファイルへのパスの形を取ります。複数のライセンス ファイルの場合、サーバ上のライセンス ファイルのコピーを指定します(この情報から、サーバのホスト名 / IP アドレスおよびポートが確定します)。 "port"@"server" という構文を使用することをお勧めします。
エラー コードから障害の原因が明らかになります。一般的なコードについては、下記のリストを参照してください。
注:
複数の原因によって、ツールがサーバに接続できない可能性があります。ツールから返されたエラー メッセージに含まれているのは、最初のエラーについての情報だけです。したがって、最初の問題を解決したら、コマンドを再実行して、さらにエラーが発生しないか確認する必要があります。
次に示すのは、一般的なエラー コードのリストです。
- FLEX Error -4: Licensed number of users already reached
- FLEX Error -12: Invalid data returned from server system
- FLEX Error -15: Cannot connect to license server system
- FLEX Error -18: License server system does not support this featurebr
- FLEX Error -25: License server system does not support this version of the feature
- FLEX Error -38: User host on EXCLUDE list for feature
- FLEX Error -39: User host not on INCLUDE list for feature
- FLEX Error -68: License BORROW support not enabled
- FLEX Error -96: License server machine is down or not responding
- FLEX Error -97: The desired vendor daemon is down
- FLEX Error -114: SIGN= keyword required, but is missing from license certificate
- FLEX Error Invalid error code
注: このテストでは、 armcc を使用してライセンスをチェックアウトします。 このチェックアウトが成功した場合でも、他のツールのチェックアウトは失敗する可能性があります。 その場合、チェックアウトに失敗するツールを実行して、返されるエラー コードを確認してください。 このエラー コードは、ARM 開発ツールで共通しています。
Part 3: サーバの問題
サーバで lmutil コマンドが失敗した場合、FLEXnet サーバ ソフトウェア(lmgrd および / または armlmd)が動作していないと考えられます。Windows の場合はタスクマネージャ、Linux の場合は ps コマンドを使用して確認する必要があります。
プロセスをリスト表示した場合、クラッシュ後に滞留した状態のプロセスが残っている可能性があります。通常、サーバ ソフトウェアの再起動を試みる前に、このような滞留した状態のプロセスを手動で強制終了する必要があります。 注意 - 同じ物理マシン上で複数の lmgrd サーバ( armlmd は不可)を実行できます。
滞留した状態プロセスをすべて強制終了したら、lmgrd ソフトウェアを手動で再起動してみてください。 コマンドは、次のとおりです。
lmgrd -c /path/to/license.dat -z
"/path/to/license.dat" の部分は適宜、置き換えてください。-z フラグを使用すると、サーバはあらゆるログおよび診断情報をコンソールに出力します。この機能は常に必要であるという訳ではありませんが、トラブルシューティング時には役立ちます。また、-z を -l <ファイル名> で置き換えると、メッセージの出力先がファイルになります。
サーバが正常に起動した場合、次のような情報が表示されます。
C:>lmgrd -c license.dat -z
(lmgrd) ----------------------------------------------- (lmgrd) Please Note: (lmgrd) (lmgrd) This log is intended for debug purposes only. (lmgrd) In order to capture accurate license (lmgrd) usage data into an organized repository, (lmgrd) please enable report logging. Use Macrovision's (lmgrd) software license administration solution, (lmgrd) FLEXnet Manager, to readily gain visibility (lmgrd) into license usage data and to create (lmgrd) insightful reports on critical information like (lmgrd) license availability and usage. FLEXnet Manager (lmgrd) can be fully automated to run these reports on (lmgrd) schedule and can be used to track license (lmgrd) servers and usage across a heterogeneous (lmgrd) network of servers including Windows NT, Linux (lmgrd) and UNIX. Contact Macrovision at (lmgrd) www.macrovision.com for more details on how to (lmgrd) obtain an evaluation copy of FLEXnet Manager (lmgrd) for your enterprise. (lmgrd) (lmgrd) ----------------------------------------------- (lmgrd) (lmgrd) (lmgrd) pid 524 (lmgrd) Done rereading (lmgrd) FLEXnet Licensing (v10.8.5.0 build 31891 i86_n3) started on my_lic_server (IBM PC) (2/5/2009) (lmgrd) Copyright (c) 1988-2006 Macrovision Europe Ltd. and/or Macrovision Corporation. All Rights Reserved. (lmgrd) US Patents 5,390,297 and 5,671,412. (lmgrd) World Wide Web: http://www.macrovision.com (lmgrd) License file(s): license.dat (lmgrd) lmgrd tcp-port 8224 (lmgrd) Starting vendor daemons ... (lmgrd) Started armlmd (pid 132) (armlmd) FLEXnet Licensing version v10.8.5.0 build 31891 i86_n3 (armlmd) Server started on my_lic_server for: compiler (armlmd) EXTERNAL FILTERS are OFF (lmgrd) armlmd using TCP-port 1142
サーバが正常に起動したようであれば、" lmutil lmstat -a -c ポート番号@ライセンスサーバ名またはIPアドレス " を再実行し、そのサーバに対してクエリを正常に実行できることを確認してください。クエリの実行にも問題がなければ、サーバを監視して、起動以外の動作中に問題が発生するかどうか確認してください。
問題があれば、その通知後すぐにエラー メッセージが表示されます。エラーが発生する前に起動シーケンスがどの程度進んでいたのかを確認すれば、問題の原因になっている個所についての情報を得られます。 以下に示すのは、実行結果の出力で目にすることが多いエラー メッセージです。
- license manager: can't initialize: No SERVER lines in license file
- (lmgrd) CreateProcess error code: 0x6 File= armlmd.exe
- (lmgrd) The TCP port number in the license, <ポート番号>, is already in use</ポート番号>
- (armlmd) Invalid license key (inconsistent authentication code)
- (armlmd) EXPIRED: feature name(s)
- (lmgrd) MULTIPLE "armlmd" license server systems running
- FLEX Error Invalid error code
- (lmgrd) CreateProcess error code: 0x36b1 File= armlmd.exe
- license manager: can't initialize:No SERVER lines in license file
Part 4: エラー コードの説明
-4: Licensed number of users already reached
原因:
ライセンス ファイルでは、各コンポーネントに対して一定数の利用枠が規定されています。この利用枠がすべて使用されている場合、それ以上の利用要求には応えられません。通常、サーバは利用枠が空くまで、要求を待ち行列に入れることで、クライアントに要求の失敗を通知しないようにします。ただし、次のようなメッセージがクライアント側に表示されることがあります。
C:armcc --vsn
Waiting for license...
上記のキューイングの仕組みで処理の失敗が発生したときに、このエラー メッセージがクライアント側に表示されます。 詳細については、次のナレッジ記事を参照してください。
Do RVDS floating licenses support license queuing/wait for license?
-12: Invalid data returned from server system
原因:
このメッセージが表示されるのは通常、ADS 1.2 のような古いツールを使用している場合に限定されます。
具体的には、何らかの要素がサーバとクライアントの通信に干渉していることを意味しています。
詳細については、次の FAQ を参照してください。
FLEXlm -12,122ライセンスエラーが発生します参照
-15: Cannot connect to license server system
原因:
ライセンス パスで指定されたホスト名または IP アドレスは有効です。ただし、指定されたポートでは、ツールが FLEX ライセンス サーバへの接続を確立できませんでした。次のような原因が考えられます。
- FLEX サーバ ソフトウェア(lmgrd)が起動していません。"lmutil lmstat -a -c ポート番号@ライセンスサーバ名またはIPアドレス"がサーバで正常に実行された場合、サーバ ソフトウエアは動作している状態です。
- クライアント側で、不適切なポートを ARMLMD_LICENSE_FILE/LM_LICENSE_FILE で指定しています。サーバで実行した lmutil の出力にリストされているポートと照合して、クライアント側の設定と一致しているか確認してください。
- ファイアウォールが接続をブロックしています。何らかの要素が通信をブロックしている場合、一般に考えられるのは、ファイアウォールです。
詳細については、次の FAQ を参照してください。
FLEXlm -15,10 license errorが返されます参照
-18: License server system does not support this feature
原因:
- ツールは、ライセンス サーバに正常に接続できました。ただし、サーバは、クライアントがチェックアウトを試みた機能をホストしていません。
この現象は、さまざまな原因で発生します。
例えば、RVDS は Professional Edition と Standard Edition という形で販売されています。Professional Edition には追加機能が含まれています。Standard ライセンスで Professional Edition の使用を試みた場合、このエラーが表示される可能性があります。 - 複数のライセンス サーバを使用していることも原因になる可能性があります。
例えば、単一のサーバで ARM ライセンスと別のサード パーティ ライセンスに対応しているような場合、誤ったサーバを検索パスで指定している可能性があります。
クライアント側で ARMLMD_LICENSE_FILE の値を照合して、ARM ライセンス サーバと一致していることを確認してください。
注: 検索パスでは、複数のライセンス ソースを指定できることに注意してください。
-25: License server system does not support this feature
原因:
ツールは、ライセンス サーバに正常に接続できました。サーバは要求された機能をホストしていますが、機能のバージョンが不適切です。
これは通常、古いライセンスで新しいツールの使用を試みたことを示しています。
例えば、RVDS 3.1 ライセンスで RVDS 4.0 ツールの使用を試みたような場合です。注: チェックアウトに成功した場合でも、ライセンス サーバのログで、このメッセージを確認することがあります。これはサーバが複数のライセンスをホストしている場合の内部的な動作に起因するメッセージであり、無視できます。
詳細については、次の FAQ を参照してください。
ライセンスサーバログにDENIEDメッセージが残る理由 参照
-38: User host on EXCLUDE list for feature
-39: User host not on INCLUDE list for feature
原因:
FLEX サーバでは、特定のグループまたはユーザ グループに対してライセンスを予約できます。
このメッセージは、ユーザが別のユーザ / グループに対して予約されているライセンスのチェックアウトを試みたときに表示されます。
-68: License BORROW support not enabled
原因:
ARM社は貸し出し用のFlexLMのBORROW属性を開発ツールのライセンスファイルにおいてサポートしておりません。ユーザ借用を試みると、このエラーが発生します。
詳細については、次の FAQ を参照してください。
Arm社の開発ツールはFlexlm BORROWライセンスをサポートしますか参照
-96: License server machine is down or not responding
-96,7: WinSock: Host not found (HOST_NOT_FOUND)
原因:
このメッセージでは、ホスト オペレーティング システム(この例では、Windows)によってネットワーキングの障害が通知されています。
具体的には、OS でホスト名から IP アドレスへの変換に失敗したことを示しています。
対策:
指定したホスト名が正しく、ネットワーク名が適切に解決されることを確認してください。
問題がなければ、"ping" コマンドを使用して、クライアントがネットワーク上のサーバを認識できることを確認してください。
または、ホスト名の代わりにサーバの IP アドレスを使用してみてください。
-96,491
原因:
ほとんどの場合、armlmd で使用されるポートが(恐らくファイアウォールによって)ブロックされていることを示しています。
サーバのどのポートがデーモンによって使用されるのかと、そのポートがサーバのファイアウォールで開いている状態であることを確認してください。
初期設定では、armlmd のポート番号は指定されていません。サーバの起動時に、ホストのオペレーティング システムによって割り当てられます。
対策:
サーバでファイアウォールが動作している場合、ポートを手動で設定することをお勧めします。
ライセンス ファイルで、 VENDOR armlmd 行を次のように変更します。
VENDOR armlmd port=XXXX
XXXX は、使用するポート番号です
-97: The desired vendor daemon is down
原因:
ツールはライセンス サーバ( lmgrd と通信できましたが、ベンダ デーモン( armlmd) は応答しませんでした。
これは、armlmd がクラッシュしたことを示しています。
対策:
サーバのデバッグ ログで、lmgrd から armlmd への通信が失われたことを示すメッセージを確認してください。
lmgrd をシャットダウンして、滞留した状態の lmgrd または armlmd のプロセスが存在しないことを確認してください。
確認したら、 lmgrd を再起動します。
-114: SIGN= keyword required, but is missing from license certificate
原因:
このメッセージは、サーバが新しいツールに対して古い形式のライセンスの発行を試みたときに表示されます。
例えば、RVDS に対して ADS ライセンスの発行を試みるような場合です。
注: チェックアウトに成功した場合でも、ライセンス サーバのログで、このメッセージを目にすることがあります。
これはサーバが複数のライセンスをホストしている場合の内部的な動作に起因するメッセージであり、無視できます。
Part 5: エラー メッセージの説明
license manager: can't initialize: No SERVER lines in license file.
License path: /path/to/license.dat
FLEXnet Licensing error:-13,66
ライセンス ファイルに SERVER 行が含まれていません。この原因としては、編集時に消去されたか、誤ってコメントアウトされた可能性が考えられます。ARM の Web サイトからライセンス ファイルを再ダウンロードしてください。または、この方法でホスティングできないノードロック ライセンス ファイルをパスすることもできます。
(lmgrd) License server manager (lmgrd) startup failed
(lmgrd) CreateProcess error code: 0x6 File= armlmd.exe
lmgrd が起動して、ライセンスを解析しました。さらに、ARM ベンダ デーモン(armlmd)の起動を試みましたが、実行ファイルを特定できませんでした。 lmgrd は PATH と lmgrd のインストール ディレクトリを検索します。 armlmd (Windows では、 armlmd.exe )の場所を調べて、検索パスに含まれていることを確認してください。 または、ライセンス ファイルに場所を指定できます。ARM 提供のファイルには、次の行が含まれています。
VENDOR armlmd
次のように変更します。
VENDOR /path/to/armlmd
(lmgrd) The TCP port number in the license, <ポート番号>, is already in use</ポート番号>
ライセンス ファイルの SERVER 行で指定されたポートはすでに使用されています。 この現象は通常、滞留したプロセスのように、すでに実行中の lmgrd プロセスが存在していることで発生します。
または、 lmgrd が以前にクラッシュし、OS でポートを解放できなかった場合が考えられます。
まれに、ポートが別のアプリケーションによって使用されている可能性もあります。
(armlmd) Invalid license key (inconsistent authentication code)
このエラーの一般的な原因として、次の 2 つが挙げられます。
- ライセンス ファイルに含まれている hostid がマシンと適合していません。該当するマシンを使用するには、ライセンスを再割り当てする必要があります。
- ライセンス ファイルの内容が編集されています。 ライセンス ファイル内で編集できるのはいくつかのセクションに限られており、それ以外のセクションを編集すると、このエラーが発生します。
(armlmd) EXPIRED: feature name(s)
指定された機能が期限切れになっています。ライセンス ファイルに含まれている機能がすべて期限切れである場合、サーバは起動に失敗します。
(lmgrd) MULTIPLE "armlmd" license server systems running.
同じマシン上で複数の FLEXnet ライセンス サーバを実行できます(ライセンス元のベンダが異なっていても、サーバで対応できる場合)。 ただし、マシンで実行できる armlmd (ARM ベンダ デーモン)は 1 つに限定されます。 サーバ ソフトウェアが起動したときに armlmd がすでに動作している場合、このエラーで処理に失敗します。
(armlmd) EXITING DUE TO SIGNAL 32 (lmgrd) armlmd exited with status 32 (Exited because another server was running) (lmgrd) MULTIPLE "armlmd" license server systems running.
このエラーの一般的な原因として、次の 2 つが挙げられます。同じマシン上でライセンス サーバのインスタンスを 2 つ実行しようとしており、その両方で ARM ライセンスをホスティングしています。このような実行はサポートされていません。ライセンス ファイルをマージして、サーバ ソフトウェアの単一のインスタンスからホスティングする必要があります。
または、 lmgrd が以前に正常に終了していなかった場合に、 armlmd が終了しなかった可能性があります。 armlmd のインスタンスが滞留していないか確認し、該当するインスタンスを強制終了します。 Linux では、この操作を " ps -ax | grep armlmd " コマンドで、実行できます。Windows では、タスク マネージャで実行できます。
FLEX Error Invalid error code
残念ながら、このエラー メッセージからは十分な情報を得られません。
このエラー メッセージの原因は通常、サーバにノードロック ライセンスがパスされたことによります。このような設定はサポートされていないので、このエラー メッセージが通知されます。このエラー メッセージが表示されるのは、ライセンスが最初に解析された時点ではなく、クライアントがライセンスの使用を試みた時点に限定されます。上記の原因に該当するかどうか確認するには、サーバまたはクライアントで " lmutil lmstat -a -c ポート番号@ライセンスサーバ名またはIPアドレス " を実行します。ノードロック ライセンスがサーバに存在する場合、lmstat の出力には、次のような行が 1 行または複数行含まれています。
Users of : (Uncounted, node-locked)
この問題を解決するには、ライセンス ファイルからノードロック ライセンスをすべて削除する必要があります。
(lmgrd) CreateProcess error code: 0x36b1 File= armlmd.exe
このエラーは、Microsoft Windows をライセンス サーバ用に使用しているときに表示されます。 armlmd デーモンは、Microsoft Visual Studio から提供されるライブラリ(このエラーが表示されたときに存在していない場合)を必要とします。</ファイル名>
license manager: can't initialize: No SERVER lines in license file.
ライセンス サーバを起動したときに、次のメッセージが表示されることがあります。
...
(lmgrd) license manager: can't initialize:No SERVER lines in license file. (lmgrd) License Path: "license.dat" (lmgrd) FLEXnet Licensing error:-13,66
このメッセージは、ライセンス ファイルに SERVER 行が含まれていないことを示しています。SERVER 行はライセンス ファイルの先頭付近に配置する必要があり、次のような形式で記述します。
SERVER HOSTNAME or IP_ADDRESS HOSTID PORTNUMBER
VENDOR armlmd
次のような原因が考えられます。
- 不適切なファイルを lmgrd にパスしています。サーバを起動するときに使用したコマンドで指定したファイル パスを確認します。
- ノードロック ライセンスを lmgrd にパスする処理。この処理はサポートされておらず、lmgrd にパスできるのは、フローティング ライセンスを含むライセンス ファイルに限定されます。
- ライセンス ファイルの内容を編集して、SERVER 行を削除しました。