安装MySQL8.0失败,用dnf或yum安装缺少的包也报没有可用软件包

Author: rgiig - Posted:1天前 - View:48

安装MySQL8.0失败,报出如下错误信息

-- Performing Test HAVE_PTHREAD_SETNAME_NP
-- Performing Test HAVE_PTHREAD_SETNAME_NP - Success
-- Found PkgConfig: /bin/pkg-config (found version "1.7.3")
-- Checking for module 'libtirpc'`No package libtirpc-devel available`
--   Package 'libtirpc', required by 'virtual:world', not found
CMake Warning at cmake/rpc.cmake:41 (MESSAGE):
  Cannot find RPC development libraries.  You need to install the required
  packages:

    Debian/Ubuntu:              apt install libtirpc-dev
    RedHat/Fedora/Oracle Linux: yum install libtirpc-devel
    SuSE:                       zypper install glibc-devel

Call Stack (most recent call first):
  cmake/rpc.cmake:107 (WARN_MISSING_SYSTEM_TIRPC)
  CMakeLists.txt:2129 (MYSQL_CHECK_RPC)


CMake Error at cmake/rpc.cmake:108 (MESSAGE):
  Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc
Call Stack (most recent call first):
  CMakeLists.txt:2129 (MYSQL_CHECK_RPC)


-- Configuring incomplete, errors occurred!
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target 'install'.  Stop.
MySQL install failed, Please contact the author! 
NAME="CentOS"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PRETTY_NAME="CentOS 9"
Killed

错误信息中显示解决办法,当你使用dnf或yum安装缺少的软件时,却报了No package libtirpc-devel available,意思是在仓库中没有找到可用的软件包。

尝试了在搜索引擎中也没有找到能解决问题的文章,最后还是只能夸AI好用,问了deepseek才解决了问题,以下为AI给出的解决方法。

如果在执行yum install安装特定软件时提示No package XXX available(没有可用软件包),通常是因为你的系统版本较新(如CentOS 8/9、Rocky Linux 8/9、AlmaLinux等),该开发包已被移入特定的扩展仓库中或yum缓存未更新。

根据你的操作系统版本,按以下步骤解决:

针对CentOS 8/Rocky Linux 8+/AlmaLinux 8+/RHEL 8+

在这些版本中,libtirpc-devel不在默认的BaseOS或AppStream仓库中,而是位于CRB(CodeReady Builder)或PowerTools仓库中。

解决方法:先启用对应的仓库,再安装。

1、启用特定扩展仓库,如下同时启用CRB和PowerTools

# dnf config-manager --set-enabled crb
# dnf config-manager --set-enabled powertools

2、更新仓库缓存

# dnf makecache

3、安装你需要的任何软件包,如libtirpc-devel

# dnf install -y libtirpc-devel

注意:在RHEL 8/9中,CRB仓库可能需要订阅才能启用。如果没有订阅,可以尝试从CentOS Stream或Rocky Linux的镜像源获取。

针对 CentOS 7/RHEL 7

在CentOS 7中,libtirpc-devel通常在base或updates仓库中。如果找不到,可能是源配置问题或缓存损坏。

解决方法:

1、查看仓库列表是否启用了base和updates源

# yum repolist

如果输出以下信息则说明启用,则可以重建缓存后直接安装

repo id                                    repo name
appstream                              CentOS Stream 9 - AppStream
baseos                                    CentOS Stream 9 - BaseOS
epel                                         Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264               Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
epel-next                                Extra Packages for Enterprise Linux 9 - Next - x86_64
extras-common                      CentOS Stream 9 - Extras packages

如果没输出以上信息,则启用特定的仓库

# yum --enablerepo=base --enablerepo=updates

2、清理并重建yum缓存

# yum clean all
# yum makecache

3、再尝试安装需要用到的软件包

# yum install -y libtirpc-devel
0 人点赞  ∙  0 人收藏  
加入收藏 点赞 我要评论

目前共有 4 条回复

rgiig
- rgiig - 1天前

@eai7u 是的,我身边的人都是安装Ubuntu或Debian

rgiig
- rgiig - 1天前

@laowang 你说的对,我们只是使用者,不是开发者,使用二进制方式安装是最优解

laowang
- laowang - 1天前

MySQL8.0对于小于4G内存的服务器来说,源码安装方式很难成功,还是选择二进制方式安装最好,当然你是大内存的话,当我没说

eai7u
- eai7u - 1天前

现在更多的人选择ubuntu,centos越来越少人用了