安装MySQL8.0失败,用dnf或yum安装缺少的包也报没有可用软件包
安装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 


目前共有 4 条回复