- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 RedHat 7 中构建 QT4(使用升级的 gcc 编译器从 Redhat 5 移植到 7),但我收到一条错误消息,指出找不到 X11/Xlib.h
。不管怎样,在做了一些研究之后,大多数人都说要安装 libX11-devel
来获取那些 x11 库。因为我使用的是离线机器,所以我不能执行“apt-get”类型的命令并且必须手动安装 RPM。所以,我转到我的 RH-7 安装 DVD 并得到 "libX11-devel-1.6.3-3.el7.x86-64"
(我有 64 位操作系统)并尝试使用 安装code>"yum install libX11-devel-1.6.3-3.el7.x86_64"
并且出现依赖项错误。它在说
...Requires: pkgconfig(kbproto)
...Required: pkgconfig(xcb)
...Requires: pkgconfig(xproto)
...Requires: pkgconfig(xcb) >= 1.1.92
所以,这是我的问题。
1) 当它说 "pkgconfig(kbproto)"
时,它是说找到 "kbproto....RPM"
并执行 "yum安装”
。在我的 DVD 中,我只有 "xorg-x11-proto-devel-7.7.13.el7.noarch.rpm"
。我是否必须以某种方式找到 "xorg-x11-proto ......x86_64.rpm"
因为它是 64 位机器?
2) "yum install"
和 pkgconfig "install"
有区别吗? Linux 中是否还有其他安装变体?
3) 对于离线机器,我是否可以获取所有依赖项并立即安装所有内容?
4) 为什么说 "xcb"
需要两次。如果我只得到 1.1.92 以上的 xcb...rpm
版本,我可以只安装一次吗?
最佳答案
在实际回答问题之前,我会建议您查看是否可以获得最新版本的软件包。安装 DVD 上的软件包可能确实已过时并且包含已知的漏洞和其他错误。您可以使用 yumdownloader
- 在在线环境中 - 将最新版本下载到单独的 DVD 上并将其用作安装源吗?参见 https://access.redhat.com/solutions/10154获取更多信息。
自己回答问题:
Requires: foo
可以引用包 foo
或“功能”foo
。 pkgconfig(kbproto)
是一个“功能”(或虚拟要求)。您可以使用 yum
/rpm
查看是什么提供了这个。例如,在我的 Fedora 机器上,rpm -q --provides xorg-x11-proto-devel
显示这个包确实提供了 pkgconfig(kbproto)
。
至于x86_64
vs noarch
,无所谓。 noarch
包无处不在。其他包仅限于平台。所以 x86_64
只适用于 intel/amd x86 64 位机器。在您的情况下安装 noarch
应该没问题。但是,如果您只有一个 i686
包,那是不够的。您必须找到 x86_64
或 noarch
包。
是的,yum
和 pkg-config
之间有很大的区别。他们做完全不同的事情。一个是安装RPM包的系统工具。另一个是供开发人员使用正确的 header 和编译器标志的工具。如果您关心的是查找/安装 RPM,请不要直接使用 pkg-config
。
您是否可以访问可以访问 RHEL 7 yum 存储库的在线计算机?在那台机器上,做这样的事情:
mkdir rhel7-packages cd rhel7-packages yum provides '*/X11/Xlib.h' # make a note of the package that provides this file. it's libX11-devel on Fedora here yumdownloader --resolve libX11-devel # download libX11-devel and all dependencies not installed on the system
然后在无法访问互联网的机器上复制/安装 RPM。
xcb
两次,因为这是两个不同的要求。如果您安装 xcb 的任何版本,将满足未版本化的要求。只有安装 1.1.92 才能满足版本要求。如果您安装 1.1.92,它将满足这两个要求。关于Linux 安装 libX11-devel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52858551/
我对 libGDX 很陌生,并尝试使用 table layout 实现下图所示的布局 表格[绿色]的容器由表格标题[蓝色]和ScrollPane主体[黑色项目]组成。主体也是一个包含各种行的表格。 我
我是一名优秀的程序员,十分优秀!