Pertanyaan yang relevan dengan RedHat / CentOS. Saya agak bingung antara paket dan pustaka dan bagaimana menyematkannya ke versi yang sudah diperbaiki.
Ada bug rollover X11 di versi libxcb terbaru yang memengaruhi program C saya. libxcb-1.5-1 tidak memiliki bug itu.
Jadi saya melakukannya:
# yum remove libxcb-devel
# rpm -Uvh --oldpackage libxcb-1.5-1.el6.i686.rpm
Dan sekarang bug sudah hilang dan perangkat lunak saya berfungsi dengan baik.
Maju cepat beberapa minggu dan bug kembali.
# 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
Tetapi apakah itu versi yang diinstal atau versi yang tersedia melalui repo? Bagaimana saya tahu versi libxcb mana yang saat ini diinstal?
$ 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]
Jadi saya bingung antara nomor versi yang ditunjukkan oleh yum, nomor pada .so dan nomor yang saya inginkan ...