시스템 메시지
[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을 당황하게 만들기에 충분합니다.
--nodeps
RPM을 전달하여 정적 패키지를 강제로 설치할 수 있습니다 . 그 후에도 작동하지 않으면 포장을 제거하십시오.
답변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