由于要使用wenet的语言模型,在GitHub上面看到运行语言模型所需decoder_main,而其需要编译wenet/runtime/libtorch/
于是乎开启了漫长的编译之旅。
由提示可知,需要cd到wenet/runtime/libtorch 目录下,然后执行:
mkdir build && cd build && cmake -DGPU=ON .. && cmake --build .
错误一:
Targets Defined:gflags_nothreads_static
Targets not yet defined:
gflags_shared;gflags_nothreads_shared;gflags_static
gflags在本地已经安装过一遍了,我们只需找到其路径,并把它卸载掉,
cd /你的路径/gflags/build/
cat install_manifest.txt | sudo xargs rm
这个需要root权限
问题二:
cmake/make - unrecognized command line option “-std=c++14”
可以查看g++和gcc版本,很多系统自带的是4.8.5,版本过低
可以先更新g++和gcc版本,
参考:
https://blog.csdn.net/Axiaobai12138/article/details/120058324?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-6-120058324-blog-105475416.pc_relevant_multi_platform_whitelistv4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-6-120058324-blog-105475416.pc_relevant_multi_platform_whitelistv4&utm_relevant_index=7
conda install https://anaconda.org/brown-data-science/gcc/5.4.0/download/linux-64/gcc-5.4.0-0.tar.bz2
将版本升到5.4
可是我cmake的时候还是报错
参考:
https://stackoverflow.com/questions/32674202/cmake-make-unrecognized-command-line-option-std-c14-but-g-does
在.bashrc中添加路径
nano ~/.bashrc
添加
CC=/你的conda环境/bin/gcc
export CC
CXX=/你的conda环境/bin/g++
export CXX
然后,更新当前的会话,
$ source ~/.bashrc