이전 글 openSSH 를 빌드하여 실행하니 아래와 같이 메시지가 발생한다.
llibcrypt.so.1: cannot open shared object file: No such file or directory
이것은 glibc 라이브러리중 하나로 소스코드는 아래위치에서 다운로드가 가능하다.
소스다운로드 위치
ftp.gnu.org/gnu/glibc
정보 위치
https://en.wikipedia.org/wiki/Crypt_(C)
내 타켓 장치의 커널 버전과 Arm Toochain 의 version 에 따라 사용해야 하는 GLIBC 버전이 달라 진다.
Kernel Version : 4.19
Arm GCC Version : 11.2
아래 에러에 대해 참고해서 버전선택을 하시면 됩니다.
[ERROR]
libstdc++.so: undefined reference to `pthread_key_create@GLIBC_2.34
<Solution>
GLIBC 2.35 이후 버전 사용
[ERROR]
int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __THROWNL
<Solution>
GLIBC 2.33 이후 버전에서 위 에러에 대해 패치가 됨, GCC 와 호환 문제
[ERROR]
checking for make... make
checking version of make... 4.1, bad
checking for gnumsgfmt... no
* Make 파일 버전이 최신 버전이기 때문에 발생하는 이슈
빌드 방법
1. glibc-ports-2.16 소스를 압축해제 하여 glibc-2.35 디렉토리에 "ports" 이름으로 복사 한다.
2. mkdir build (configure 실행을 ../configure 로 수행해야 한다. )
3. cd build
4. CC=/tools/arm/gcc/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-gcc LD=/tools/arm/gcc/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-ld AS=/tools/arm/gcc/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-as AR=/tools/arm/gcc/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-ar CXX=/tools/arm/gcc/gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf-g++ ../configure --host=arm-none-linux-gnueabihf --build=arm-none-linux-gnueabihf --target=arm-none-linux-gnueabihf --prefix=/make/install/path/glibc/result --enable-add-ons=nptl,ports
5. make
CC부터 AR CXX 까지 모두 개별 설정을 해주었다. 버전이 업데이트 되면서 이 작업은 필요 없을 수도 있다.
--prefix 는 make install 할 때 설치 되는 디렉토리를 지정해 주는 것이다.
'Development > Linux' 카테고리의 다른 글
[LINUX] 우분투에서 부팅 USB 만들기 (1) | 2024.01.31 |
---|---|
[Linux] Build Error : more undefined references to '__alloca' follow (0) | 2023.10.11 |
[LINUX] OpenSSH CrossCompile for ARM (1) | 2023.10.05 |
[SHELLSCRIPT] 쉘스크립트 $# 의미? (0) | 2023.05.31 |
[Petalinux] Release Note and 기초 사항 정리 (0) | 2023.05.30 |
댓글