O Busybox usa bibliotecas estáticas, então você precisa instalar o glibc-static
(que eu acho que não está no RHEL6, você terá que encontrá-lo) para usar o Busybox com o librcrypt.a e não a versão dinâmica. / p>
Informações do sistema
[root@xilinx busybox-1.22.1]# uname -r
2.6.32-71.el6.x86_64
Os erros seguintes vêm quando eu faço o busybox no rhel 6:
/usr/bin/ld: cannot find -lcrypt
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
Também posso ver as bibliotecas na lib:
[root@xilinx busybox-1.22.1]# ls -ld /lib/libcry*
-rwxr-xr-x. 1 root root 38380 Sep 7 2010 /lib/libcrypt-2.12.so
lrwxrwxrwx. 1 root root 16 Jan 25 16:48 /lib/libcrypt.so.1 -> libcrypt-2.12.so
[root@xilinx busybox-1.22.1]# ls -ld /usr/bin/ld*
-rwxr-xr-x. 1 root root 595192 May 5 2010 /usr/bin/ld
-rwxr-xr-x. 1 root root 1685416 Aug 24 2010 /usr/bin/ldb3add
-rwxr-xr-x. 1 root root 1685416 Aug 24 2010 /usr/bin/ldb3del
-rwxr-xr-x. 1 root root 1685416 Aug 24 2010 /usr/bin/ldb3edit
-rwxr-xr-x. 1 root root 1685424 Aug 24 2010 /usr/bin/ldb3modify
-rwxr-xr-x. 1 root root 1685424 Aug 24 2010 /usr/bin/ldb3rename
-rwxr-xr-x. 1 root root 1685424 Aug 24 2010 /usr/bin/ldb3search
-rwxr-xr-x. 1 root root 5656 Sep 7 2010 /usr/bin/ldd
Por que isso está acontecendo?
Informações adicionais:
[root@xilinx busybox-1.22.1]# yum install glibc-*
Loaded plugins: refresh-packagekit, rhnplugin
There was an error parsing the RHN proxy settings.
RHN support will be disabled.
Setting up Install Process
Package glibc-devel-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-headers-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-utils-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-common-2.12-1.7.el6.x86_64 already installed and latest version
Nothing to do
Além disso, estes são os pacotes instalados que começam com glib *
[root@xilinx busybox-1.22.1]# yum list installed |grep glibc*
There was an error parsing the RHN proxy settings.
RHN support will be disabled.
NetworkManager-glib.x86_64 1:0.8.1-5.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
PackageKit-glib.x86_64 0.5.8-13.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
avahi-glib.x86_64 0.6.25-8.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
dbus-glib.x86_64 0.86-5.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
dbus-glib-devel.x86_64 0.86-5.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
glib.x86_64 1:1.2.10-33.el6 @epel
glib-devel.x86_64 1:1.2.10-33.el6 @epel
glib2.x86_64 2.22.5-5.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
glib2-devel.x86_64 2.22.5-5.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
glibc.i686 2.12-1.7.el6 @server
glibc.x86_64 2.12-1.7.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
glibc-common.x86_64 2.12-1.7.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
glibc-devel.x86_64 2.12-1.7.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
glibc-headers.x86_64 2.12-1.7.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
glibc-utils.x86_64 2.12-1.7.el6 @server
glibmm24.x86_64 2.22.1-1.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
poppler-glib.x86_64 0.12.4-3.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
pulseaudio-libs-glib2.x86_64 0.9.21-13.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
taglib.x86_64 1.6.1-1.1.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
o glibc está instalado:
[root@xilinx busybox-1.22.1]# yum list installed glibc
Loaded plugins: refresh-packagekit, rhnplugin
There was an error parsing the RHN proxy settings.
RHN support will be disabled.
Installed Packages
glibc.i686 2.12-1.7.el6 @server
glibc.x86_64 2.12-1.7.el6 @anaconda-RedHatEnterpriseLinux-201009221801.x86_64/6.0
Tentei RPM
[root@xilinx Downloads]# rpm -ivh glibc-static-2.12-7.2.x86_64.rpm
warning: glibc-static-2.12-7.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 2ca06d46: NOKEY
error: Failed dependencies:
glibc-devel = 2.12-7.2 is needed by glibc-static-2.12-7.2.x86_64
Agora, aqui está um problema de galinha e ovo
[root@xilinx Downloads]# rpm -ivh glibc-2.12-7.2.x86_64.rpm
warning: glibc-2.12-7.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 2ca06d46: NOKEY
error: Failed dependencies:
glibc-common = 2.12-7.2 is needed by glibc-2.12-7.2.x86_64
Ok, então eu instalei essa dependência:
[root@xilinx Downloads]# rpm -ivh glibc-common-2.12-7.2.x86_64.rpm
warning: glibc-common-2.12-7.2.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 2ca06d46: NOKEY
error: Failed dependencies:
glibc = 2.12-7.2 is needed by glibc-common-2.12-7.2.x86_64
ou seja, quando eu instalar o glibc-2.12-7.2, ele diz que eu preciso do glibc-common-2.12-7.2 mas agora, quando eu instalo o glibc-common-2.12-7.2, ele diz que precisa do glibc-2.12-7.2
Como quebrar esse ciclo de ovo de galinha?
Mas, na verdade, todos os glibc necessários estão instalados
[root@xilinx busybox-1.22.1]# yum install glibc-*
Package glibc-devel-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-headers-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-utils-2.12-1.7.el6.x86_64 already installed and latest version
Package glibc-common-2.12-1.7.el6.x86_64 already installed and latest version
Nothing to do
O Busybox usa bibliotecas estáticas, então você precisa instalar o glibc-static
(que eu acho que não está no RHEL6, você terá que encontrá-lo) para usar o Busybox com o librcrypt.a e não a versão dinâmica. / p>
Isso me ajudou a resolver meus problemas ld -lcrypt
. Eu também validado eu tinha todas as bibliotecas no meu /usr/lib64/libcrypto.so
e libcrypt.a
e estes não foram encontrados! (mas podia vê-los).
ADICIONANDO ao meu sistema Centos-7 as bibliotecas estáticas glibc
yum install glibc-static
resolveu o problema ..
As versões não correspondem. Você tem 2.12-1.7
, mas está procurando por 2.12-7.2
. É sutil, mas o suficiente para as rpm enlouquecerem.
Você pode transmitir --nodeps
ao RPM para forçar a instalação do pacote estático. Se não funcionar depois, basta remover o pacote.
Esse erro talvez causado pelo sistema não pode encontrar o arquivo chamado libcrypt.so
no seu diretório /lib
. Apenas encontra /lib/libcrypt-2.12.so
e /lib/libcrypt.so.1
.
Uma maneira simples de corrigir isso é criar um link simbólico chamado libcrypt.so
, que vincula ao arquivo libcrypt-2.12.so
no mesmo diretório.
No meu caso, você pode executar este comando:
ln -s /lib/libcrypt-2.12.so /lib/libcrypt.so
Espero que isso ajude!