728x90
반응형
안녕하세요.
리눅스 환경에서의 OPENSSL 크로스 컴파일 방법 입니다.
필요에 따라서 ./configure --help하여 필요한 옵션만 추가 해서 하면됩니다.
리눅스 환경은 ubuntu 14.04에서 하였고 동작은 임베디드 환경에서 동작 테스트 완료 하였습니다.
arm기반의 브로드컴칩에서 동작됩니다.
* 소스컴파일
./Configure linux-generic32 shared -DL_ENDIAN --prefix=/home/shlee/openssl-arm --openssldir=/home/shlee/2_nanogrid/openssl
make;make install
make install을 하면 configure의 prefix로 지정된 경로로 파일을 복사 합니다.
또 다른 방법.
- toolchain source해줄것.
- configure
./Configure linux-generic32 shared -DL_ENDIAN --prefix=/home/shlee/xml_rpc/openssl-arm --openssldir=/home/shlee/xml_rpc/openssl - make
make install CC=arm-linux-gcc RANLIB=arm-linux-gnueabihf-gcc-ranlib LD=arm-linux-gnueabihf-ld MAKEDEPPROG=arm-linux-gnueabihf-gcc PROCESSOR=ARM - 참고 사이트
- 빌드 완료 된 openssl 파일을 타겟에서 실행 하면
symbol lookup error: ./openssl: undefined symbol: i2d_DHxparams
위에 같은 에러가 발생 하는 경우 컴파일 하면서 생성 된 lib파일을 타겟의 libs/lib 에 복사 해 주면된다. - ps) libssl이나 lib crypto는 현재 타겟 이미지를 만들면서 만들어지는 라이브러리 인데 openssl 컴파일 하면서 생성된 라이브러리로 교체 해주었을 때 타겟 이미지가 정상 적인 동작을 하는지 확인이 필요하다.
- openssl.cnf path 설정.
- openssl 실행 후 WARNING: can't open config file: /home/shlee/xml_rpc/openssl/openssl.cnf 발생 할 경우
export OPENSSL_CONF=/mnt/hd/openssl.cnf
위 처럼 설정 해주면 해당 warning메세지 발생 안함. libpath 파일에 등록 하고 소싱 해주면 됨. - 최종 실행 방법
1. openssl
2. version
이후에 본인이 설정한 버전이 맞는지 확인 하면 일단 설치는 완료.
728x90
'프로그래밍 > Linux' 카테고리의 다른 글
[DB] MariaDB 소스 설치 및 기본 설정 방법 (0) | 2021.01.11 |
---|---|
[DataBase] DB - Mysql Dump (0) | 2020.12.31 |
[리눅스 명령어] Linux Command line 명령어 (0) | 2020.12.17 |
[openssl] Cross-compile 방법. (0) | 2020.12.17 |
[FTP] Anonymous 접속 설정 (0) | 2020.12.17 |