/usr/bin/ld: -lcrypt를 찾을 수 없음(rhel 6)

/usr/bin/ld: -lcrypt를 찾을 수 없음(rhel 6)

시스템 메시지

[root@xilinx busybox-1.22.1]# uname -r
2.6.32-71.el6.x86_64

rhel 6에서 busybox를 생성할 때 다음 오류가 발생합니다.

/usr/bin/ld: cannot find -lcrypt
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1

또한 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

왜 이런 일이 발생합니까?

추가 정보:

[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

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

glibc가 설치되었습니다:

[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

시도된 속도

[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

이제 닭이냐 달걀이냐의 문제다

[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

좋습니다. 그러면 다음 종속성을 설치했습니다.

[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

즉, glibc-2.12-7.2를 설치했을 때 glibc-common-2.12-7.2가 필요하다고 했지만 이제 glibc-common-2.12-7.2를 설치하면 glibc-2.12-7.2가 필요하다고 합니다.

닭고기와 계란의 순환을 어떻게 깨뜨릴 수 있을까요?

그러나 실제로 필요한 모든 glibc가 설치되었습니다.

[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

답변1

Busybox는 정적 라이브러리를 사용하므로 동적 버전이 아닌 librcrypt.a와 함께 Busybox를 사용하려면 이를 설치해야 합니다 glibc-static(RHEL6에는 없는 것 같습니다. 찾아야 합니다).

답변2

이것은 마침내 내 ld -lcrypt문제를 해결하는 데 도움이 되었습니다. 또한 내 라이브러리가 모두 내 /usr/lib64/libcrypto.so라이브러리 에 있지만 libcrypt.a아무 것도 발견되지 않는다는 것도 확인했습니다 . (그러나 볼 수는 있습니다).

Centos-7 시스템에 정적 glibc 라이브러리 추가

yum install glibc-static

문제를 해결했습니다..

답변3

버전 불일치. 이 있지만 2.12-1.7찾고 있습니다 2.12-7.2. 미묘하지만 rpm을 당황하게 만들기에 충분합니다.

--nodepsRPM을 전달하여 정적 패키지를 강제로 설치할 수 있습니다 . 그 후에도 작동하지 않으면 포장을 제거하십시오.

답변4

이 오류는 시스템이 디렉터리 libcrypt.so에서 지정된 파일을 찾을 수 없기 때문에 발생할 수 있습니다. 및 /lib만 찾습니다 ./lib/libcrypt-2.12.so/lib/libcrypt.so.1

이 문제를 해결하는 간단한 방법은 동일한 디렉터리에 있는 파일 libcrypt.so에 연결되는 기호 링크를 만드는 것입니다 .libcrypt-2.12.so

제 경우에는 다음 명령을 실행할 수 있습니다.

ln -s /lib/libcrypt-2.12.so /lib/libcrypt.so

관련 정보