Mam maszynę zarówno z glibc i686, jak i x86_64, i bardzo denerwujący problem z glibc.
Czy to normalne, że dwie biblioteki o tej samej nazwie są zainstalowane na jednym komputerze? Skąd mam wiedzieć, która biblioteka jest wykonywana?
Do niedawna uważałem, że x86_64 to i686. Cóż, muszę się mylić, ale dlaczego?
[root@machin ~]# yum info glibc
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Excluding Packages in global exclude list
Finished
Installed Packages
Name : glibc
Arch : i686
Version : 2.5
Release : 42
Size : 12 M
Repo : installed
Summary : The GNU libc libraries.
License : LGPL
Description: The glibc package contains standard libraries which are used by
: multiple programs on the system. In order to save disk space and
: memory, as well as to make upgrading easier, common system code is
: kept in one place and shared between programs. This particular package
: contains the most important sets of shared libraries: the standard C
: library and the standard math library. Without these two libraries, a
: Linux system will not function.
Name : glibc
Arch : x86_64
Version : 2.5
Release : 42
Size : 11 M
Repo : installed
Summary : The GNU libc libraries.
License : LGPL
Description: The glibc package contains standard libraries which are used by
: multiple programs on the system. In order to save disk space and
: memory, as well as to make upgrading easier, common system code is
: kept in one place and shared between programs. This particular package
: contains the most important sets of shared libraries: the standard C
: library and the standard math library. Without these two libraries, a
: Linux system will not function.
[root@machin ~]# yum info glibc-common
Loaded plugins: rhnplugin, security
This system is not registered with RHN.
RHN support will be disabled.
Excluding Packages in global exclude list
Finished
Installed Packages
Name : glibc-common
Arch : x86_64
Version : 2.5
Release : 42
Size : 64 M
Repo : installed
Summary : Common binaries and locale data for glibc
License : LGPL
Description: The glibc-common package includes common binaries for the GNU libc
: libraries, as well as national language (locale) support.
package-management
yum
glibc
cpu-architecture
MUY Belgium
źródło
źródło
uname -m
icat /proc/cpuinfo
Odpowiedzi:
Technicznie rzecz biorąc, i686 jest w rzeczywistości 32-bitowym zestawem instrukcji (część linii rodziny x86), podczas gdy x86_64 jest 64-bitowym zestawem instrukcji (zwanym również amd64).
Z brzmienia tego wynika, że masz 64-bitową maszynę, która ma 32-bitowe biblioteki dla kompatybilności wstecznej. To powinno być w porządku.
źródło
Jeśli kopiesz i686 w Wikipedii, Wikipedia podpowie ci, że mikroarchitektura i686 jest uważana za rozszerzenie x86.
Zasadniczo wszystkie architektury x86 są uważane za podobne, a architektura x86_64 (lub może amd64) jest rozważana w innej grupie mikroarchitektur.
źródło
Pakiety i686 są przeznaczone do uruchamiania na procesorach zgodnych z 686, które obejmują wszystkie 32-bitowe procesory Intel x86 aż do Pentium 4 włącznie itp., a także procesory AMD ( AMD K6 ) i innych dostawców, którzy tworzą kompatybilne 32- bitowe żetony.
Po więcej informacji:
Pakiety x86_64 są przeznaczone do uruchamiania na procesorach zgodnych z 64-bitową platformą AMD64, w tym AMD Athlon 64, AMD Opteron i pokrewnymi rodzinami procesorów AMD oraz procesorach opartych na Intel 64 .
Te 64-bitowe procesory są w pełni kompatybilne wstecz z ich 32-bitowymi poprzednikami, więc jeśli masz procesor AMD64 lub Intel 64, od Ciebie zależy, czy zainstalować 64-bitowe pakiety x86_64, czy 32-bitowe pakiety i686. Aby uzyskać najwyższy poziom wydajności z systemu, możesz użyć 64-bitowych pakietów dystrybucyjnych x86_64.
Odniesienie :
źródło