Linux安装libX11-devel
我正试图在Redhat7中构建QT4(使用升级的gcc编译器从Redhat5移植到7),但我收到一个错误,说找不到Linux安装libX11-devel,linux,offline,yum,pkg-config,Linux,Offline,Yum,Pkg Config,我正试图在Redhat7中构建QT4(使用升级的gcc编译器从Redhat5移植到7),但我收到一个错误,说找不到X11/Xlib.h。无论如何,在做了一些研究之后,大多数人说要安装libX11-devel来获取那些x11库。因为我使用的是离线机器,所以我不能执行“apt-get”类型的命令,必须手动安装RPM。因此,我转到我的RH-7安装DVD,得到了“libX11-devel-1.6.3-3.el7.x86-64”(我有64位操作系统)并尝试使用“yum install libX11-dev
X11/Xlib.h
。无论如何,在做了一些研究之后,大多数人说要安装libX11-devel
来获取那些x11库。因为我使用的是离线机器,所以我不能执行“apt-get”类型的命令,必须手动安装RPM。因此,我转到我的RH-7安装DVD,得到了“libX11-devel-1.6.3-3.el7.x86-64”
(我有64位操作系统)并尝试使用“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”
。既然它是一台64位机器,我是否必须找到“xorg-x11-proto……x86_64.rpm”
2) “yum install”
和pkgconfig“install”
之间有区别吗?Linux中还有其他安装变体吗
3) 对于离线机器,我是否可以获得所有依赖项并立即安装所有内容
4) 为什么说“xcb”
需要两次。如果我刚刚获得了1.1.92以上的xcb…rpm
版本,我可以只安装一次吗?在实际回答问题之前,我建议您看看是否可以获得最新版本的软件包。安装DVD上的软件包可能已经过时,并且包含已知的漏洞和其他bug。您能否在联机环境中使用yumdownloader
,将最新版本下载到单独的DVD上,并将其用作安装源?有关更多信息,请参阅
要回答问题本身:
要求:foo
可以指包foo
或“功能”foo
pkgconfig(kbproto)
是一项“功能”(或虚拟需求)。您可以使用yum
/rpm
查看是什么提供了此功能。例如,在我的Fedora盒上,rpm-q--provides xorg-x11-proto-devel
表明这个包确实提供了pkgconfig(kbproto)
至于x86\u 64
vsnoarch
,这并不重要noarch
包在任何地方都可以工作。其他软件包仅限于平台。因此,x86_64
仅适用于intel/amd x86 64位机器。在您的情况下,安装noarch
应该可以。但是,如果您只有一个i686
包,那就不够了。您必须找到一个x86_64
或noarch
包
是的,yum
和pkg config
之间有很大的区别。他们做完全不同的事情。一个是用于安装RPM软件包的系统工具。另一个是供开发人员使用正确的头和编译器标志的工具。如果您担心查找/安装RPM,请不要直接使用pkg config
您是否有权访问可以访问RHEL 7 yum存储库的联机计算机?在该机器上,执行以下操作:
mkdir rhel7包
cd rhel7软件包
yum提供“*/X11/Xlib.h”#记下提供此文件的包。我是Fedora上的libX11 devel
yumdownloader—解析libX11-devel#下载libX11-devel和系统上未安装的所有依赖项
然后在没有internet访问的机器上复制/安装RPM
它可能会打印出xcb
两次,因为这是两种不同的需求。如果您安装xcb的任何verison,则将满足未版本化要求。只有安装1.1.92,才能满足版本要求。如果安装1.1.92,它将满足这两个要求
在实际回答这些问题之前,我建议您看看是否可以获得最新版本的软件包。安装DVD上的软件包可能已经过时,并且包含已知的漏洞和其他bug。您能否在联机环境中使用yumdownloader
,将最新版本下载到单独的DVD上,并将其用作安装源?有关更多信息,请参阅
要回答问题本身:
要求:foo
可以指包foo
或“功能”foo
pkgconfig(kbproto)
是一项“功能”(或虚拟需求)。您可以使用yum
/rpm
查看是什么提供了此功能。例如,在我的Fedora盒上,rpm-q--provides xorg-x11-proto-devel
表明这个包确实提供了pkgconfig(kbproto)
至于x86\u 64
vsnoarch
,这并不重要noarch
包在任何地方都可以工作。其他软件包仅限于平台。因此,x86_64
仅适用于intel/amd x86 64位机器。在您的情况下,安装noarch
应该可以。但是,如果您只有一个i686
包,那就不够了。您必须找到一个x86_64
或noarch
包
是的,yum
和pkg config
之间有很大的区别。他们做完全不同的事情。一个是用于安装RPM软件包的系统工具。另一个是供开发人员使用正确的头和编译器标志的工具。如果您担心查找/安装RPM,请不要直接使用pkg config
您是否有权访问可以访问RHEL 7 yum存储库的联机计算机?在该机器上,执行以下操作:
mkdir rhel7包
cd rhel7软件包
yum提供“*/X11/Xlib.h”#记下提供此文件的包。我是Fedora上的libX11 devel
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
$ mkdir -p /tmp/libX11_dep_rpms && cd /tmp/libX11_dep_rpms
# Download all dependencies from here. All your packages should be available here:
# http://mirror.centos.org/centos-7/7/os/x86_64/Packages/
# Then install
$ yum localinstall *.rpm
# After this you should be able to build your qt4 package, provided all dependencies are resolved. Otherwise, repeat the procedure for all dependencies
# If you can't download packages, then you need to create a FULL DVD ISO that will contain all packages.