freebsd에 i386/x86 공유 라이브러리를 설치하는 방법은 무엇입니까?

freebsd에 i386/x86 공유 라이브러리를 설치하는 방법은 무엇입니까?

gcc -m32GDB는 i386 프로그램으로 컴파일된 프로그램이 내 공유 라이브러리(i386:x86-64)와 호환되지 않는다고 알려줍니다 .

출력 gdb:

(gdb) r
Starting program: /root/format
warning: `/libexec/ld-elf.so.1': Shared library architecture i386:x86-64 is not compatible with target architecture i386.

누군가가 이 문제를 해결하는 방법/라이브러리를 얻는 방법을 설명할 수 있다면 좋을 것입니다.

답변1

귀하는 귀하의 시스템에 대해 아무 것도 공개하지 않았으므로 최선을 다해 추측하겠습니다. 64비트 시스템을 실행 중이고 32비트 라이브러리를 설치하지 않았습니다. 가장 쉬운 방법은 설치 프로그램에서 추가하는 것입니다.

 bsdinstall

...그런 다음 을 선택합니다 lib32. 처음뿐만 아니라 언제든지 설치 프로그램을 실행할 수 있습니다. 그게 다야.

그것이 하는 일은 lib32.txz다음과 같은 곳에서 타르볼을 가져오는 것 입니다.http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/12.1-RELEASE//usr/lib32올바른 버전을 구해야 합니다 ( uname -a. 원하는 경우 이 작업을 수동으로 수행할 수도 있습니다. 어쩌면 /usr/freebsd-distDVD에서 발견했을 수도 있습니다.

ldconfig이 작업을 수동으로 수행하는 경우 새 라이브러리가 있음 을 알려야 할 수도 있습니다 . 또는 비정상적인 위치에 배치한 경우 경로를 수정해야 합니다.

ldconfig -32 /usr/lib32/ /usr/local/lib32/compat/

...또는...

ldconfig -v -m -R /usr/lib32

바라보다LD 구성(8)

64비트 시스템에서 32비트 바이너리를 실행하려는 이유를 거의 설명하지 않습니다. 실제로 이전 버전에서 만들어졌기 때문이라면,가능한호환 팩 중 하나를 원하십니까?기타/compat8x,기타/호환9x,기타/호환 10x,기타/compat11x

확인차:최근 시스템에서는 일반적으로 amd64(i386-64)를 대상으로 한다는 사실을 알고 계셨습니까? i38632비트만 있었는데 64비트로 옮겼습니다. 이것이 사소해 보일 수도 있지만 질문에 맥락이 부족하기 때문에 잘못된 문제를 해결하려는 것이 아닌지 확인하고 싶습니다.

관련 정보