Leap15.5 在安装了新的 openssl 后发现 zypper 命令无法使用了

安装完 openssl 后
openssl version
OpenSSL 1.1.1t 7 Feb 2023
然后再使用 zypper 命令后报错
zypper: symbol lookup error: /usr/lib64/libssh.so.4: undefined symbol: EVP_KDF_CTX_new_id, version OPENSSL_1_1_1d

所以不要手动乱装东西啊……

大佬,我是想安装高版本的 python3.11,但是不知道怎么将 yast 里面的 python3.11 替换 python3.6,所以就手动安装编译了,然后编译过程中显示无法创建 ssl,就去安装了新版的 openssl1.1.1t

yast 里面的 python3.11 需要怎样替换 python3.6 呢

不替换。替换了会出类似的事。
你为什么非要替换它呢?

不如直接来用 Tumbleweed 吧,基本部件和开发者工具都是最新的。

poplar@c004-h0:~> python3 --version
Python 3.11.5
poplar@c004-h0:~> java --version
openjdk 17.0.8.1 2023-08-24
OpenJDK Runtime Environment (build 17.0.8.1+0-suse-2.1-x8664)
OpenJDK 64-Bit Server VM (build 17.0.8.1+0-suse-2.1-x8664, mixed mode, sharing)

如果担心系统出现故障,可以提前打上快照。

为什么非要替换呢? 可以共存的。

要遵循尽可能小范围地修改配置,能.sh 里加 export 的,就不要修改配置文件;能修改~/.xxx 配置文件的,就不要修改/etc/xxx

同理,你可以为使用 python311 的 py 文件增加一个 sh 包装脚本,使用 alias 之类的方法…

我之前使用的是 Tumbleweed,但是我在编译文件的时候显示
fatal error: GL/gl.h: No such file or directory
我去查了一下是缺少 OpenGL 的库
然后我安装了 Mesa-libGL-devel
报错解决了,但是我的系统卡死了,无法再打开任何新窗口,并且无法关机和重启

这个问题解决了,我编译报错缺少 openssl 是因为系统自带的 openssl 缺少了三个库,去下载系统版本的 openssl(查询版本:openssl version),解压 - 编译 - 安装后,将安装目录下/lib/里面的库文件放入/usr/lib64/下即可(注意放缺少的即可),然后编译我的程序还是报错找不到 openssl,我才发现/usr/lib64/pkgconfig/里面缺少 openssl 的 .pc 文件,将安装目录/lib/pkhconfig/.pc 拷贝过去,再 ldconfig 即可,再次编译我的程序报错已解决,zypper 命令也没出问题。

额,问题不是这么解决的啊,为什么要随便手动去动系统目录下的东西。
你发现缺东西,应该先尝试搜下是不是其他相关的软件包没安装呢,比如你 pkgconfig 找不到 openssl.pc,这个就在 openssl 对应的开发包里,这边开发包以 -devel 结尾,你搜下就能很容易找到,缺的 lib 怀疑也在这里面

一般我是用 dnf 来搜索文件路径来找包,也可以自己装包来试,你构建东西那些相关东西一般就在对应开发包里面。

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。