Für RedHat / CentOS relevante Frage. Ich bin ein wenig verwirrt zwischen Paket und Bibliothek und wie man sie an eine feste Version anheftet.
In den letzten libxcb-Versionen gibt es einen X11-Rollover-Fehler, der meine C-Programme betrifft. libxcb-1.5-1 hat diesen Fehler nicht.
So tat ich:
# yum remove libxcb-devel
# rpm -Uvh --oldpackage libxcb-1.5-1.el6.i686.rpm
Und jetzt ist der Fehler verschwunden und meine Software funktioniert einwandfrei.
Ein paar Wochen vorspulen und der Fehler ist zurück.
# 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
Aber ist das die installierte Version oder die Version, die über das Repo verfügbar ist? Wie kann ich feststellen, welche Version von libxcb derzeit installiert ist?
$ 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]
Ich bin also verwirrt zwischen der von yum angezeigten Versionsnummer, der Nummer auf der .so und der Nummer, die ich möchte ...
quelle