在Ubuntu20.04安装Qt6.8.0遇到的问题

根据ChatGPT的问答,解决方案如下:

Ubuntu环境:

sudo apt update
sudo apt install -y libxcb1 libx11-xcb1 libxcb-util1 libxcb-cursor0 libxcb-keysyms1 libxcb-image0 libxcb-render-util0 libxcb-icccm4 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0

sudo apt-get install libxkbcommon-dev

Centos环境

sudo dnf install -y libxcb xcb-util xcb-util-wm xcb-util-image xcb-util-keysyms xcb-util-renderutil

一些包(包括 xcb-util-cursor)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:

sudo dnf install epel-release
sudo dnf update

sudo dnf install xcb-util-cursor

2. 启用 PowerTools(Rocky Linux 8 和 CentOS 8)

如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:

bash复制代码sudo dnf config-manager --set-enabled powertools

然后重新尝试安装:

bash复制代码sudo dnf install xcb-util-cursor

如果在 Rocky LinuxCentOS 系列中使用 dnf 安装 xcb-util-cursor 时出现 Unable to find a match 错误,说明该包未包含在默认的仓库中。以下是解决办法:


1. 启用 EPEL 仓库

一些包(包括 xcb-util-cursor)可能需要 EPEL(Extra Packages for Enterprise Linux) 仓库支持。执行以下命令启用 EPEL 仓库:

bash复制代码sudo dnf install epel-release
sudo dnf update

然后尝试再次安装 xcb-util-cursor

bash复制代码sudo dnf install xcb-util-cursor

2. 启用 PowerTools(Rocky Linux 8 和 CentOS 8)

如果 EPEL 仓库不足以解决问题,可能还需要启用 PowerTools 仓库。在 Rocky Linux 8 上可以通过以下命令启用:

bash复制代码sudo dnf config-manager --set-enabled powertools

然后重新尝试安装:

bash复制代码sudo dnf install xcb-util-cursor

3. 检查包是否在 Rocky Linux 上可用

Rocky Linux 8/9 上,使用以下命令检查包是否存在于当前仓库中:

bash复制代码dnf search xcb-util-cursor

如果包未找到,可能需要手动编译或安装。


4. 手动编译安装 xcb-util-cursor

如果仓库中确实没有提供,可以通过以下方式手动编译:

1. 安装开发工具:

bash复制代码sudo dnf groupinstall "Development Tools"
sudo dnf install xcb-util xcb-util-devel libX11-devel

2. 下载源码:

从官方 XCB 项目获取源码:

bash复制代码wget https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.gz

解压源码:

bash复制代码tar -xvzf xcb-util-cursor-0.1.3.tar.gz
cd xcb-util-cursor-0.1.3

3. 编译和安装:

bash复制代码./configure
make
sudo make install