Câu hỏi liên quan đến RedHat / CentOS. Tôi hơi bối rối giữa gói và thư viện và cách ghim chúng vào một phiên bản cố định.
Có một lỗi cuộn X11 trong các phiên bản libxcb gần đây ảnh hưởng đến các chương trình C của tôi. libxcb-1.5-1 không có lỗi đó.
Tôi cũng vậy:
# yum remove libxcb-devel
# rpm -Uvh --oldpackage libxcb-1.5-1.el6.i686.rpm
Và bây giờ lỗi đã biến mất và phần mềm của tôi hoạt động tốt.
Nhanh chóng chuyển tiếp một vài tuần và lỗi đã trở lại.
# yum info libxcb-devel
Loaded plugins: refresh-packagekit, security
Available Packages
Name : libxcb-devel
Arch : i686
Version : 1.9.1
Release : 2.el6
Size : 1.0 M
Repo : sl-security
Nhưng đó có phải là phiên bản đã cài đặt hoặc phiên bản có sẵn thông qua repo không? Làm cách nào để biết phiên bản libxcb nào đang được cài đặt?
$ ll /usr/lib/libxcb.so*
lrwxrwxrwx 1 root root 15 Aug 6 03:38 /usr/lib/libxcb.so.1 -> libxcb.so.1.1.0*
-rwxr-xr-x 1 root root 130752 Oct 14 2014 /usr/lib/libxcb.so.1.1.0*
$ readelf -d /usr/lib/libxcb.so.1.1.0 | grep SONAME
0x0000000e (SONAME) Library soname: [libxcb.so.1]
Vì vậy, tôi nhầm lẫn giữa số phiên bản được hiển thị bởi yum, số trên .so và số tôi muốn ...