/usr/bin/ld: /home/orangepi/rknn_model_zoo-main/3rdparty/libsndfile/Linux/aarch64/libsndfile.a(libsndfile_la-sndfile.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol stderr@@GLIBC_2.17' which may bind externally can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /home/orangepi/rknn_model_zoo-main/3rdparty/libsndfile/Linux/aarch64/libsndfile.a(libsndfile_la-sndfile.o)(.text+0x3b4): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol
stderr@@GLIBC_2.17’
/usr/bin/ld: 最后的链结失败: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/rknn_mms_tts_demo.dir/build.make:133:rknn_mms_tts_demo] 错误 1
make[1]: *** [CMakeFiles/Makefile2:125:CMakeFiles/rknn_mms_tts_demo.dir/all] 错误 2
make: *** [Makefile:136:all] 错误 2
解决办法:
1.先到/usr下面搜索一下这个文件,我在/usr下面搜到了有
/usr/lib/aarch64-linux-gnu/libsndfile.so.1.0.31
/usr/lib/aarch64-linux-gnu/libsndfile.so.1
find /usr -name "libsndfile.so*"
2.编辑rknn_model_zoo-main/3rdparty/CMakeLists.txt,找到**libsndfile相关的列,进行修改
把这行的路径调整成我这样就解决了 ,这个so的库文件按自己搜索到的填
set(LIBSNDFILE /usr/lib/aarch64-linux-gnu/libsndfile.so.1.0.31 PARENT_SCOPE)