Питання, що стосується RedHat / CentOS. Я трохи заплутався між пакунком і бібліотекою та способом прив’язати їх до фіксованої версії.
У останніх версіях libxcb, що впливає на мої програми C, є помилка перекидання X11. у libxcb-1.5-1 немає цієї помилки.
Так я і зробив:
# yum remove libxcb-devel
# rpm -Uvh --oldpackage libxcb-1.5-1.el6.i686.rpm
А тепер помилка пішла і моє програмне забезпечення справно працює.
Швидко вперед кілька тижнів, і помилка повернулася.
# 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
Але це встановлена версія чи версія, доступна через репо? Як я можу сказати, яка версія libxcb зараз встановлена?
$ 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]
Тож я плутаюсь між номером версії, показаним yum, цифрою на .so та кількістю, яку я хочу ...