麒麟aarch64架构下安装compat-openssl10

问题描述:

麒麟aarch64架构下安装mysql8.0.40,报错nothing provides libcrypto.so.10()(64bit) needed by

原因:

你当前系统的 OpenSSL 版本与 MySQL 8.0.40 所需的库不匹配。MySQL 8.0.40 需要 libcrypto.so.10,而你的系统使用的是 OpenSSL 1.1.x 系列,它没有 libcrypto.so.10,因为这个库通常是 OpenSSL 1.0.x 提供的。

解决:

Binary Packagehttps://yum.oracle.com/repo/OracleLinux/OL8/appstream/aarch64/getPackage/compat-openssl10-1.0.2o-3.el8.aarch64.rpm
Source Packagehttps://yum.oracle.com/repo/OracleLinux/OL8/appstream/aarch64/getPackageSource/compat-openssl10-1.0.2o-3.el8.src.rpm
Mirroryum.oracle.com
sudo wget https://yum.oracle.com/repo/OracleLinux/OL8/appstream/aarch64/getPackage/compat-openssl10-1.0.2o-4.el8_6.aarch64.rpm

sudo rpm -ivh compat-openssl10-1.0.2o-4.el8_6.aarch64.rpm

验证:
rpm -qa | grep compat-openssl10
这个命令会列出系统中已安装的 compat-openssl10 包。

<think>我们已知工具链前缀为 `aarch64-linux-android-`,那么对应的C编译器应该是 `aarch64-linux-android-gcc`。 在Makefile中,CC变量通常用于指定C编译器,因此应设置为工具链路径下的`aarch64-linux-android-gcc`。 例如,如果工具链所在的目录是`/path/to/toolchain/bin`,那么CC应该设置为: CC = /path/to/toolchain/bin/aarch64-linux-android-gcc 注意:有时工具链路径已经添加到系统的PATH环境变量中,那么也可以直接写编译器名称,但是为了保证可靠性,通常建议写绝对路径。 参考引用[3]中提到的,对于ARM64架构,工具链名称就是`aarch64-linux-android-<gcc-version>`,因此编译器名称通常是`aarch64-linux-android-gcc`(可能带有版本号后缀,也可能没有,具体看你的工具链文件命名)。 另外,引用[5]提到,在替换编译系统中的CC变量时,可以直接使用工具链的绝对路径。 因此,在Makefile中设置CC变量时,应该这样写(假设工具链在`/opt/android-ndk/toolchains/bin`目录下): CC = /opt/android-ndk/toolchains/bin/aarch64-linux-android-gcc 如果工具链路径已经加入PATH,也可以写成: CC = aarch64-linux-android-gcc 但为了确保在不同环境中都能正确找到编译器,推荐使用绝对路径。 此外,还需要注意,在编译Android程序时,通常需要指定sysroot(如引用[4]所示)以及目标平台(API级别)等参数。 总结:在Makefile中,CC变量应该设置为`aarch64-linux-android-gcc`的绝对路径(或者如果已在PATH中,则可以直接写命令名称)。 </think>在已有 `aarch64-linux-android-` 系列工具链的情况下,Makefile 中 `CC` 变量对应的工具是 **aarch64-linux-android-gcc**。这是用于编译 ARM64 架构 Android 程序的 C 编译器。 ### 详细说明 1. **工具链命名规则**: - 工具链前缀 `aarch64-linux-android-` 表示目标平台: - `aarch64`:ARM64 架构 - `linux`:Linux 内核兼容 - `android`:Android 操作系统 - 编译器后缀 `gcc` 表示 GNU C 编译器 2. **Makefile 配置示例**: ```makefile # 设置工具链路径(根据实际路径修改) TOOLCHAIN_PATH = /path/to/your/toolchain/bin # CC 变量指向 C 编译器 CC = $(TOOLCHAIN_PATH)/aarch64-linux-android-gcc # 示例编译规则 %.o: %.c $(CC) -c $< -o $@ -fPIC -DANDROID ``` 3. **关键说明**: - `aarch64-linux-android-gcc` 是交叉编译工具链的核心组件,负责将 C 源码编译为 ARM64 架构的机器码[^1][^3] - 必须与 `--sysroot` 参数配合使用,指定 Android NDK 的系统根目录(如 `android-21/arch-arm64`)[^4] - 实际路径可能包含版本号(如 `aarch64-linux-android4.9-gcc`),具体取决于工具链版本[^1] 4. **完整工具链构成**: | 工具 | Makefile 变量 | 功能 | |------|---------------|------| | `aarch64-linux-android-gcc` | `CC` | C 编译器 | | `aarch64-linux-android-g++` | `CXX` | C++ 编译器 | | `aarch64-linux-android-ar` | `AR` | 静态库打包 | | `aarch64-linux-android-ld` | `LD` | 链接器 | | `aarch64-linux-android-strip` | `STRIP` | 二进制精简 | ### 验证方法 执行以下命令验证工具链有效性: ```bash # 检查编译器版本 /path/to/toolchain/bin/aarch64-linux-android-gcc --version # 输出应包含目标平台信息 aarch64-linux-android-gcc (GCC) x.x.x Target: aarch64-linux-android ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code王工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值