Yanıtlar:
64 bit bir sistemdesiniz ve yüklü 32 bit kütüphane desteği yok.
(kurulumunuzda sudo kullanmıyorsanız aşağıdaki notu okuyun)
Fedora / Red Hat ailesindeki çoğu masaüstü Linux sistemi:
pkcon install glibc.i686
Muhtemelen bazı masaüstü Debian / Ubuntu sistemleri ?:
pkcon install ia32-libs
Fedora veya daha yeni Red Hat, CentOS:
sudo dnf install glibc.i686
Yaşlı RHEL, CentOS:
sudo yum install glibc.i686
Daha da eski RHEL, CentOS:
sudo yum install glibc.i386
Debian veya Ubuntu:
sudo apt-get install ia32-libs
size ihtiyacınız olan (ilk, ana) kütüphaneyi almalısınız.
Yüklemesi gereken glibc.i686
veya glibc.i386
büyük olasılıkla diğer kitaplık bağımlılıklarına da rastlayacak olan herkes . İsteğe bağlı kitaplık sağlayan bir paketi tanımlamak için aşağıdakileri kullanabilirsiniz:
ldd /usr/bin/YOURAPPHERE
eğer içinde olduğundan emin /usr/bin
değilsen geri çekilebilirsin
ldd $(which YOURAPPNAME)
Çıktı şöyle görünecektir:
linux-gate.so.1 => (0xf7760000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf773e000)
libSM.so.6 => not found
Eksik kütüphaneleri (örn libSM.so.6
. Yukarıdaki çıktıda) kontrol edin ve her biri için bunu sağlayan paketi bulmanız gerekir.
Fedora / Red Hat Enterprise / CentOS:
dnf provides /usr/lib/libSM.so.6
veya eski RHEL / CentOS'ta:
yum provides /usr/lib/libSM.so.6
veya Debian / Ubuntu'da:
önce, veritabanını yükleyin ve indirin apt-file
sudo apt-get install apt-file && apt-file update
sonra ile ara
apt-file find libSM.so.6
/usr/lib
(Normal) durumda önek yolunu not edin ; nadiren, bazı kütüphaneler hala /lib
tarihsel nedenlerle yaşıyor … Tipik 64 bit sistemlerde, 32 bit kütüphaneler yaşıyor /usr/lib
ve 64 bit kütüphaneler yaşıyor /usr/lib64
.
(Debian / Ubuntu çok mimarili kütüphaneleri farklı şekilde organize eder.)
Yukarıdakiler size bir paket adı vermelidir, örneğin:
libSM-1.2.0-2.fc15.i686 : X.Org X11 SM runtime library
Repo : fedora
Matched from:
Filename : /usr/lib/libSM.so.6
Bu örnekte paketin adıdır libSM
ve paketin 32 bit sürümünün adıdırlibSM.i686
.
Daha sonra pkcon
bir GUI kullanarak veya sudo dnf/yum/apt-get
uygun şekilde kullanarak gerekli kitaplığı kapmak için paketi yükleyebilirsiniz . Örn pkcon install libSM.i686
. Gerekirse sürümü tam olarak belirleyebilirsiniz. Örneğinsudo dnf install ibSM-1.2.0-2.fc15.i686
.
Bazı kütüphanelerin adlarından önce bir "çağ" belirleyicisi olacaktır; bu atlanabilir (meraklı aşağıdaki notları okuyabilir).
Kesinlikle karşılaştığınız sorun, RPM (sırasıyla DPkg / DSelect) veritabanınızın bozuk olduğunu veya çalıştırmaya çalıştığınız uygulamanın paket yöneticisi aracılığıyla yüklenmediğini gösterir. Linux'ta yeniyseniz, mümkünse paket yöneticiniz dışındaki kaynaklardan gelen yazılımları kullanmaktan kaçınmak isteyebilirsiniz ...
tip
su -c
her gördüğünüzde sudo
, örneğin,
su -c dnf install glibc.i686
Addan önceki “çağ” tasarımcısı, temel RPM kitaplıklarının sürüm numaralarını işleme biçiminin bir ürünüdür; Örneğin
2:libpng-1.2.46-1.fc16.i686 : A library of functions for manipulating PNG image format files
Repo : fedora
Matched from:
Filename : /usr/lib/libpng.so.3
Burada, 2:
atlanabilir; sadece pkcon install libpng.i686
veya sudo dnf install libpng-1.2.46-1.fc16.i686
. (Belirgin bir şeye işaret eder: bir noktada, libpng
paketin sürüm numarası geriye doğru yuvarlandı ve güncellemeler sırasında yeni sürümün "daha yeni" olarak kabul edileceğinden emin olmak için "çağ" ın artırılması gerekiyordu veya benzer bir şey oldu. .)
Çeşitli paket yöneticisi seçeneklerini daha ayrıntılı bir şekilde açıklamak ve kapsamak için güncellendi (Mart 2016)
Yeni kurulan CentOS 6.4 64 bit makinede de aynı problemle karşılaştım. Tek bir yum komutu bunu ve benzer sorunların% 99'unu düzeltir:
yum groupinstall "Uyumluluk kütüphaneleri"
Bunu 'sudo' ile önekleyin veya hangisi sizin için en uygunsa kök olarak çalıştırın.
Genel olarak, böyle bir hata aldığınızda,
yum provides ld-linux.so.2
o zaman şöyle bir şey göreceksiniz:
glibc-2.20-5.fc21.i686 : The GNU libc libraries
Repo : fedora
Matched from:
Provides : ld-linux.so.2
ve sonra BRPocock'un yazdığı gibi aşağıdakileri çalıştırıyorsunuz (mantığın ne olduğunu merak ediyorsanız ...):
yum install glibc.i686
Deneyin
$ yum provides ld-linux.so.2
$ yum update
$ yum install glibc.i686 libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
Umarım bu temizlenir.
Sadece BRPocock'a bir yorum eklemek istedim, ama yeterli ayrıcalığım yok.
Bu yüzden katkım, IBM Integration Bus paketinden IBM Integration Toolkit'i yüklemeye çalışan herkes için oldu.
/ Integration_Toolkit / IM_Linux klasöründen "Installation Manager" komutunu çalıştırmayı denediğinizde (çalıştırılacak dosya "install" olur) bu yayında gösterilen hatayı alırsınız.
Bu sorunu düzeltmek için bu IBM'in web sayfasında daha ayrıntılı talimatlar bulabilirsiniz: https://www-304.ibm.com/support/docview.wss?uid=swg21459143
Umarım bunu yüklemeye çalışan herkes için yardımcı olur.
Debian için sistemde en az bir derleyiciye ihtiyacınız var ( Debian Stretch ve Jessie 32-bit kütüphanelere göre ).
apt-get install -y gcc-multilib
Debian: jessie tabanlı docker kapsayıcısında 32 bit yürütülebilir dosyayı çalıştırmak için yükledim .
Bunun .i686
yerine OpenJDK 32 bit ( ) de yükleyebilirsiniz . Testime göre, kurulacak ve sorunsuz çalışacak.
sudo yum install java-1.8.0-openjdk.i686
Not:
Java-1.8.0-OpenJDK paketini içeren sadece Java Runtime Environment . Java programları geliştirmek istiyorsanız java-1.8.0-openjdk-devel paketini yükleyin .
Daha fazla ayrıntı için buraya bakın.