레이블이 LibreSSL인 게시물을 표시합니다. 모든 게시물 표시
레이블이 LibreSSL인 게시물을 표시합니다. 모든 게시물 표시

build and install openssl

# OpenSSL 윈도우 빌드
1. openssl-1.0.1c.tar.gz 압축 해제
2. cd openssl-1.0.1c
3. 콘솔창에서 VC++ 사용할 수 있도록 환경 설정
   "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"
4. perl 로 설정파일 만들기(perl 설치파일 http://downloads.activestate.com/ActivePerl/releases/)
   win32 경우 ==> perl Configure VC-WIN32 --openssldir=C:\OpenSSL1.0.1
   win64 경우 ==> perl Configure VC-WIN64A --openssldir=C:\OpenSSL1.0.1
5. 컴파일 환경 설정 배치 실행
   win32 경우 ==> ms\do_ms.bat
   win64 경우 ==> ms\do_win64a.bat
6. 빌드
   .lib 빌드 ==> nmake -f ms\nt.mak install
   .dll 빌드 ==> nmake -f ms\ntdll.mak install
7. 결과 확인
   include 파일 ==> C:\OpenSSL1.0.1\include\openssl
   .lib(.dll) 파일 ==> C:\OpenSSL1.0.1\lib

#####

# OpenSSL 리눅스 빌드
1. openssl-1.0.1c.tar.gz 압축 해제
   tar zxvf openssl-1.0.1c.tar.gz
2. cd openssl-1.0.1c
3. 설정파일 만들기
   ./config --prefix=/home/ysoftman/openssl1.0.1
4. 빌드 후 테스트
   make && make test
5. 설치
   make install
6. 결과 확인
   include 파일 ==> /home/ysoftman/openssl1.0.1/include/openssl
   .a 파일 ==> /home/ysoftman/openssl1.0.1/lib

#####

# redhat, centos 에서 설치
sudo yum install -y pcre-devel
sudo yum install -y openssl-devel

# debian, ubuntu 에서 설치
sudo apt-get install -y libpcre3-dev
sudo apt-get install -y libssl-dev
sudo apt-get install -y libz-dev

#####

# mac(darwin) 에서 설치
brew install openssl
# openssl-devel 가 없기 때문에 openssl 의 include, lib 파일을 링크해준다.
echo 'y' | ln -s /usr/local/opt/openssl/include/openssl /usr/local/include
echo 'y' | ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib

# mac 기본 openssl(LibreSSL) 이 있다.
# /usr/bin/openssl # openssl(LibreSSL)
# openssl(OpenSSL) 을 설치하면 다음 경로에 생성된다.
# /usr/local/opt/openssl/bin/openssl  # openssl(OpenSSL)
brew install openssl

# /usr/local/opt/openssl/bin/openssl 이 우선 하는지 확인
which -a openssl
/usr/local/opt/openssl/bin/openssl
/usr/bin/openssl

# openssl(OpenSSL) 경로를 우선하지 않다면 우선하도록 PATH 환경변수 변경하자.
export PATH=/usr/local/opt/openssl/bin/openssl:$PATH

#####

# 다음 옵션들로 현재 참고하고 있는 include <...>, LIBRARY_PATH 설정을 파악할 수 있다.
# -x 언어
# -v verbose
# -E 지정된 장치(stage)에서 preprocessor 만 수행한다.
g++ -x c++ -v -E /dev/null