系统命令yum、cmake不可用
问题现象
安装Vision SDK软件包导入环境变量后导致系统命令yum、cmake不可用,报错提示与OPENSSL相关。
yum命令的报错提示如下:
1 2 | ImportError: /lib64/libcurl.so.4: symbol SSLv3_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference ModuleNotFoundError: No module named '_conf' |
cmake命令的报错提示如下:
symbol lookup error: /usr/lib64/libldap.so.2: undefined symbol: EVP_md2, version OPENSSL_3.0.0
原因分析
导入Vision SDK环境变量后,“/mxVision-{version}/opensource/lib”的“libssl.so”或“libcrypto.so”,与yum、cmake所依赖的“libssl.so”、“libcrypto.so”冲突。({version}为实际安装的Vision SDK软件版本号。)
解决方案
需要使用yum或者cmake命令时,将Vision SDK的“opensource/lib”相关路径从“LD_LIBRARY_PATH”环境变量中暂时移除。编译Vision SDK相关程序时,可在CMakeLists.txt中添加链接选项add_link_options(-Wl,-rpath-link,${MX_SDK_HOME}/opensource/lib)指定链接路径,运行Vision SDK相关程序时再将“opensource/lib”相关路径增加至“LD_LIBRARY_PATH”环境变量中。
父主题: 依赖冲突类