libssh2-1.11.0 on CentOS 5.8
- 홈페이지 : https://libssh2.org/
1. 준비작업
1.1. 다운로드
CentOS 5.8 에서 직접 다운로드 할 수 없고, 다른 장비에서 다운로드 한 파일을 sftp 따위로 올려야 한다.
curl -O -L https://libssh2.org/download/libssh2-1.11.0.tar.gz
다만, 필자가 작성한 다른 글에 따라 wget 을 설치했다면, 다음과 같이 할 수도 있다.
/opt/wget-1.21.4/bin/wget \ --no-check-certificate \ https://libssh2.org/download/libssh2-1.11.0.tar.gz
1.2. make, gcc 설치
yum install make gcc -y
1.3. openssl-1.1.1u 혹은 libgcrypt-1.8.10( + libgpg-error-1.47) 설치
openssl-1.1.1u 혹은 libgcrypt-1.8.10( + libgpg-error-1.47) 이 있어야 한다.
openssl-1.1.1u 은 openssl-3.0.9 이나 openssl-3.1.1 으로 대체될 수 있다.
이런 것들의 설치방법은 필자가 작성한 다른 글들을 참조한다.
2. 컴파일 및 설치
설치 디렉토리(prefix
) 는 알아서 변경한다.
대부분의 Linux 배포판들은 /usr 이 설치 디렉토리(
--prefix
)이지만, 컴파일해서 설치하는 것들은 /usr/local 이나 /opt 아래에 두는 경우가 많다.
$ mkdir -p logs/libssh2-1.11.0 $ tar xvfz libssh2-1.11.0.tar.gz > logs/libssh2-1.11.0/tar.`date +%Y%m%d.%H%M%S`.log 2>&1 $ cd libssh2-1.11.0 $ ./configure \ --with-crypto=libgcrypt \ --with-libgcrypt-prefix=/opt/libgcrypt-1.8.10 \ --prefix=/opt/libssh2-1.11.0 > ../logs/libssh2-1.11.0/config.`date +%Y%m%d.%H%M%S`.log 2>&1 $ make > ../logs/libssh2-1.11.0/make.`date +%Y%m%d.%H%M%S`.log 2>&1 $ make install > ../logs/libssh2-1.11.0/install.`date +%Y%m%d.%H%M%S`.log 2>&1
만약 openssl 을 사용하려면 configure 부분을 다음과 같이 변경한다.
./configure \ --with-crypto=openssl \ --with-libssl-prefix=/opt/openssl-1.1.1u \ --prefix=/opt/libssh2-1.11.0 > ../logs/libssh2-1.11.0/config.`date +%Y%m%d.%H%M%S`.log 2>&1
3. 적용
3.1. 현재 환경에 적용
현재 환경에서는 다음과 같이 적용한다.
$ export LD_LIBRARY_PATH=/opt/libssh2-1.11.0/lib:${LD_LIBRARY_PATH}
pkg-config 를 사용하는 경우 다음의 내용도 추가할 수 있다.
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/opt/libssh2-1.11.0/lib/pkgconfig
3.2. 현재 로그인한 사용자에게 적용
현재 로그인한 사용자에게 적용하려면, ".bash_profile" 파일의 끝에 위의 내용을 추가한다.
3.3. 시스템 전체에 적용
3.3.1. 환경변수 변경
"/etc/bashrc" 파일의 끝에 위의 내용을 추가한다.
4. 문제해결
4.1. libbcrypt 가 없다는 에러
checking for libbcrypt... no configure: error: When using wolfSSL, must specify prefix with --with-libwolfssl-prefix in order to find OpenSSL compatibility headers.
openssl-1.1.1u 혹은 libgcrypt-1.8.10( + libgpg-error-1.47) 를 설치하고, configure 명령의 경로를 확인한다.