在 Ubuntu 22 上安装 MySQL 32 位?

在 Ubuntu 22 上安装 MySQL 32 位?

这是一个非常简单的问题,我正在尝试在 64 位系统(ubuntu 22)上编译 32 位代码库。

收到错误:/usr/bin/ld: cannot find -lmysqlclient: No such file or directory

我知道这是因为链接器找不到 32 位 mysqlclient 库。但是,经过搜索,我找不到此 Ubuntu 版本的 :i386 包。

我是否需要手动下载 MySQL 源代码并将其编译为 32 位?有人知道其他 (更简单的) 替代方案吗?

我想我几年前在另一个发行版上遇到过这个问题,最后下载了源代码并进行了编译,但我确信现在有更好的方法可以通过使用软件包来保持我的发行版“干净”?

任何帮助都将不胜感激!

答案1

所以,我已经解决了这个问题,方法如下......

  1. 安装 gcc 和 g++ 的 32 位环境

    sudo apt install gcc-multilib g++-multilib sudo apt-get install libc6-dev:i386 gcc:i386 sudo apt-get install g++:i386

  2. 从以下位置手动下载并安装 mysql-apt-config_0.8.23-1_all.debMySQL 网站。

  3. 从该存储库安装 libmysqlclient21 包。

  4. 在 /usr/lib/mysql 目录中创建 .so 的软链接 -sudo ln -sf .././i386-linux-gnu/libmysqlclient.so.21.2.30 libmysqlclient.so

  5. 发现虽然现在链接了,但由于没有该版本的开发包,因此无法编译。

  6. 下载 Ubuntu18 软件包(libmysqlclient21_8.0.30-1ubuntu18.04_i386.deb、mysql-community-client-plugins_8.0.30-1ubuntu18.04_i386.deb、libmysqlclient-dev_8.0.30-1ubuntu18.04_i386.deb),强制安装这些。

  7. 重新编译,发现由于强制安装导致缺少依赖项而导致的链接错误。

  8. 下载了缺少的依赖项(libssl1.1_1.1.1-1ubuntu2.1~18.04.20_i386.deb),并安装(无需强制安装)。

  9. make clean, make- 宾果!!!全部成功!

在执行此操作之前,我必须对代码库进行其他代码更改,但这解释了如何在 Ubuntu 22 上运行 32 位 MySQL 版本。

相关内容