Configuring KALDI to use MKL. Checking compiler c++ ... Checking OpenFst library in /home/mzh/kaldi/tools/openfst-1.7.2 ... Checking cub library in /home/mzh/kaldi/tools/cub-1.8.0 ... Performing OS specific configuration ... On Linux: Checking for linear algebra header files ... Configuring MKL library directory: ***configure failed: Could not find the MKL library directory. Please use the switch --mkl-root and/or --mkl-libdir if you have MKL installed, or try another math library, e.g. --mathlib=OPENBLAS (Kaldi may be slower). ***
时间: 2024-02-23 20:58:56 浏览: 227
这个错误提示是因为在编译 Kaldi 时没有找到 MKL(maths kernel library) 库文件。要解决这个问题,可以按照以下步骤进行:
1. 确认你已经安装了 MKL 库,并确定其路径。如果你没有安装 MKL,可以在 Intel 官网上下载并安装。
2. 在编译 Kaldi 时,增加 `--mkl-root` 和 `--mkl-libdir` 两个参数,指定 MKL 库文件的路径。例如:
```
./configure --mathlib=mkl --mkl-root=/path/to/mkl --mkl-libdir=/path/to/mkl/lib/intel64
```
其中,`/path/to/mkl` 是你的 MKL 安装路径,`/path/to/mkl/lib/intel64` 是 MKL 库文件的路径。
3. 重新编译 Kaldi。
如果你仍然无法解决问题,可以尝试使用其他数学库,如 OpenBLAS。在第二步中,将 `--mathlib` 参数设置为 `openblas` 即可。
相关问题
CMake Error at /Users/fym/Library/Application Support/JetBrains/Toolbox/apps/CLion/ch-0/232.8453.115/CLion 2023.2 EAP.app/Contents/bin/cmake/mac/share/cmake-3.26/Modules/CMakeTestCXXCompiler.cmake:60 (message): The C++ compiler "/usr/local/bin/g++-13" is not able to compile a simple test program. It fails with the following output: Change Dir: /Users/fym/Desktop/C++/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-FQ7Av9 Run Build Command(s):/Users/fym/Library/Application Support/JetBrains/Toolbox/apps/CLion/ch-0/232.8453.115/CLion 2023.2 EAP.app/Contents/bin/ninja/mac/ninja -v cmTC_c8b71 && [1/2] /usr/local/bin/g++-13 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -fdiagnostics-color=always -o CMakeFiles/cmTC_c8b71.dir/testCXXCompiler.cxx.o -c /Users/fym/Desktop/C++/cmake-build-debug/CMakeFiles/CMakeScratch/TryCompile-FQ7Av9/testCXXCompiler.cxx [2/2] : && /usr/local/bin/g++-13 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_c8b71.dir/testCXXCompiler.cxx.o -o cmTC_c8b71 && : FAILED: cmTC_c8b71 : && /usr/local/bin/g++-13 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/cmTC_c8b71.dir/testCXXCompiler.cxx.o -o cmTC_c8b71 && : ld: unsupported tapi file type '!tapi-tbd' in YAML file '/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libSystem.tbd' for architecture x86_64 collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:2 (project) -- Configuring incomplete, errors occurred!
这个错误表明CMake无法使用你的C++编译器来编译一个简单的测试程序。根据错误信息,这是由于链接器(ld)在编译过程中遇到了一个不支持的tapi文件类型引起的。
以下是一些可能的解决方法:
1. 确认你的C++编译器是否正确安装并设置了正确的环境变量。你可以尝试在终端中运行"g++-13"命令来确认编译器是否可以正常工作。
2. 如果你的编译器是最新版本,请尝试使用较早的版本。有时新版本的编译器可能会引入一些兼容性问题。你可以尝试在CMakeLists.txt文件中指定一个旧版本的g++编译器。
3. 检查你的SDK是否正确安装并设置了正确的路径。根据错误信息,它正在寻找"/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk"路径下的文件。确保该路径下存在正确的文件。
4. 如果以上步骤都没有解决问题,你可以尝试更新CMake和CLion到最新版本,以确保你使用的是最新的软件版本。
希望这些解决方法对你有帮助!如果问题仍然存在,请提供更多的错误信息以便我更好地帮助你解决问题。
Log data follows: | DEBUG: Executing shell function do_configure | CMake Warning at CMakeLists.txt:7 (message): | Build type not set, falling back to Release mode. | | To specify build type use: | -DCMAKE_BUILD_TYPE=<mode> where <mode> is Debug or Release. | | | -- Building without demo. To enable demo build use: -DWITH_DEMO=True | -- The C compiler identification is GNU 7.3.0 | -- The CXX compiler identification is GNU 7.3.0 | -- Check for working C compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-gcc | -- Check for working C compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-gcc -- works | -- Detecting C compiler ABI info | -- Detecting C compiler ABI info - done | -- Detecting C compile features | -- Detecting C compile features - done | -- Check for working CXX compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-g++ | -- Check for working CXX compiler: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/aarch64-niic-linux/aarch64-niic-linux-g++ -- works | -- Detecting CXX compiler ABI info | -- Detecting CXX compiler ABI info - done | -- Detecting CXX compile features | -- Detecting CXX compile features - done | -- Found PkgConfig: /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/recipe-sysroot-native/usr/bin/pkg-config (found version "0.29.2") | -- Checking for module 'uuid' | -- Found uuid, version 2.32.1 | -- Output libraries to /home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/git/runtime/Cpp/dist | CMake Error at runtime/CMakeLists.txt:104 (install): | install TARGETS given no LIBRARY DESTINATION for shared library target | "antlr4_shared". | | | CMake Error at runtime/CMakeLists.txt:107 (install): | install TARGETS given no ARCHIVE DESTINATION for static library target | "antlr4_static". | | | -- Configuring incomplete, errors occurred! | See also "/home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/build/CMakeFiles/CMakeOutput.log".这是报错的log,如何解决这个问题
根据提供的日志,可以看出在CMake配置过程中出现了两个错误。错误信息分别是:
1. CMake Error at runtime/CMakeLists.txt:104 (install): install TARGETS given no LIBRARY DESTINATION for shared library target "antlr4_shared".
2. CMake Error at runtime/CMakeLists.txt:107 (install): install TARGETS given no ARCHIVE DESTINATION for static library target "antlr4_static".
这些错误表明在配置期间,对于共享库目标 "antlr4_shared" 没有给出 LIBRARY DESTINATION,对于静态库目标 "antlr4_static" 没有给出 ARCHIVE DESTINATION。
要解决这个问题,你可以尝试以下方法:
1. 检查CMakeLists.txt文件:打开 "/home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/git/runtime/CMakeLists.txt" 文件,并查找与 "antlr4_shared" 和 "antlr4_static" 相关的安装指令。
2. 添加正确的目标安装路径:在对应的安装指令中,确保给出了正确的目标安装路径。例如,对于共享库目标 "antlr4_shared",应该设置 LIBRARY DESTINATION,而对于静态库目标 "antlr4_static",应该设置 ARCHIVE DESTINATION。
3. 重新运行CMake配置:保存文件,并重新运行CMake配置命令以重新生成项目。可以尝试使用以下命令:`cmake /path/to/source`。
4. 编译和安装:如果配置成功,继续进行编译和安装。使用 `make` 命令编译项目,并使用 `make install` 命令安装项目。
如果问题仍然存在,可能需要进一步检查CMakeLists.txt文件中的其他配置,以及确保所有依赖项都正确安装。在解决问题时,可以查看 "/home/wu/test_D9/D9_PTG1.5/build-d9/tmp/work/aarch64-niic-linux/antlr4/4.7.2-r0/build/CMakeFiles/CMakeOutput.log" 文件,以获取更多有关配置错误的详细信息。
阅读全文