テストしたかった Node.JSのPocketsphinx 。 Swigバージョン3.0.7以降をインストールする必要があると表示されます。
他のすべての依存関係を正しくインストールしたと思います。ターミナルでSwigコマンドを入力することもできますが、npm install pocketsphinx
を実行するたびにこのエラーが発生し続けます。
CMake Error at /usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find SWIG (missing: SWIG_DIR) (Required is at least version
"3.0.7")
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
/usr/local/Cellar/cmake/3.6.3/share/cmake/Modules/FindSWIG.cmake:75 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:4 (find_package)
brew install swig
を試しました。 npm install swig
を試しました。 npm install -g swig
を試しました。 swigダウンロードページ に移動してインストール手順を実行しようとしましたが、何もしなかったためにエラーが発生しなくなりました。ちなみに私はこれをMacbookで試しています。
私はここで何をしているのか本当にわかりません。 Pocketsphinxをテストしたかったのですが、Swigを4つの異なる場所にインストールしましたが、CMakeはそれらのいずれも認識できないようです。
どんな助けでも素晴らしいでしょう!
私は自分でそれを解決しようとすることになった。問題は、npm install swig
と入力したときでした。
このバージョンのSwigをセットアップするのを忘れ、コンパイラーがそれを使用していました。
Sudo npm uninstall swig
と入力すると、完全に機能しました。とてもバカだ。
FindSwig.cmake
のソースコード を確認してください。
残念ながら、findスクリプトが期待どおりに機能せず、その理由がすぐにわからない場合は、通常、そのソースを掘り下げる必要があります。あなたの場合、CMakeはSWIG実行可能ファイルを見つけて実行できたが、swigディレクトリを取得できなかったようです。
手動でswig -swiglib
を実行してみて、印刷されたディレクトリに実際にswig.swg
ファイルが含まれていることを確認してください。また、CMakeによって検出されたswig実行可能ファイルが実際に正しいものであることを確認してください(これは、SWIG_EXECUTABLE
、ccmake
cursesインターフェイスのいずれかでcmake-gui
の値を調べることで確認できます。またはCMakeCache.txt
ファイルに直接)。
CMakeは、実行可能パスが見つかるとnot更新しないことに注意してください!したがって、実行可能ファイルの場所に影響を与えるシステムに変更を加えた場合は、キャッシュをクリアし(たとえば、CMakeCache.txt
を削除して)、変更を有効にするためにCMakeを再実行する必要があります。