2008-08-27 15 views
0

VMWare Server仮想マシンを起動および停止するための自動化スクリプトが機能しなくなりました。 vmware-cmdがエラーを上げ始めている:vmware-cmdにより "perl.exe - 序数が見つかりません"というエラーが発生する

The ordinal 3288 could not be located in the dynamic link library LIBEAY32.dll.

これが起こって始めたとき、私は任意の特定の変更または更新を認識していないです。

私は、この問題(または非常に似ている)を報告している他の人たちがいらっしゃいましたが、解決策は見つかりませんでした。

このエラーの原因および/またはこれを修正する方法を知っていますか?

答えて

1

これは、EXEが配置されているドライブとは別のドライブでスクリプトを実行した場合にのみ発生することが判明しました。これを回避するために、私は単にスクリプトの実行を移動しました。

明らかに、DLLは私がやっていることとは関係ないSSLに関係しているので、これは適切な回避策です。私は、問題が、相対パス(AFAICT)が変更されていないためunlikleyをどのようにして決定するかについてのEXEの変更によって引き起こされると推測しています。または、%PATH%環境変数が変更されています(可能性が高い)。

これは将来的に誰かに役立つことを願っています。

+0

答えとして受け入れられました。私の元来の問題には文書化された解決策があります –

+0

'KW:' LWP :: UserAgent 'とHTTPS URLを含む単純なスクリプトを起動するとPerlとSSLeay.dllで同じ問題に陥る。ドライブ( 'SUBST'によってマップされます)。 Perlとモジュールが存在する 'C:'ドライブからの起動によって回避される問題。 – Lumi

+0

**私の前のコメントへの更新** Procmonを使用して、私は本当の問題を発見しました。別の 'LIBEAY32.DLL'が' PATH'から読み込まれました。正しいものは、Microsoft Visual Studio 9.0( 'cl.exe')を使ってコンパイルされました。ロードされたものはGCCを使ってコンパイルされました。 'PATH'は扱いにくいかもしれません。 – Lumi

1

LIBEAY32.dllまたはそれに依存する別のDLLのいずれかが更新されているはずです。 depends toolを使用して参考になる情報があります。これを使用してperl.exeを開くと、問題を引き起こす依存関係のパスが強調表示されます。これをperlが動作する他のマシンと比較することができます。

序数は事実上perlやdllで期待される関数ですが、あなたが持っているLIBEAY32.dllの検証には存在しません。依存ツールはこれを非常に明確にします。

0

VMWareの管理目的でパス設定を確認し、「C:¥Program Files¥VMware¥VMware Workstation」が含まれているかどうか確認してください。一度削除すると、エラーは表示されなくなります。

関連する問題