카테고리 보관물: C++

C++

Ubuntu에 OpenSSL 라이브러리를 어떻게 설치합니까? 포함되어 있지 않습니다.

OpenSSL 1.0.0을 사용하는 Ubuntu 10.04 LTS에서 일부 코드를 작성하려고합니다. make를 실행하면 “-lssl”옵션을 사용하여 g ++를 호출합니다. 출처는 다음과 같습니다.

#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <openssl/des.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>

나는 달렸다 :

$ sudo apt-get install openssl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openssl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

그러나 openssl 패키지에는 라이브러리가 포함되어 있지 않습니다. 나는이 오류를 make에 얻는다 :

foo.cpp:21:25: error: openssl/bio.h: No such file or directory
foo.cpp:22:28: error: openssl/buffer.h: No such file or directory
foo.cpp:23:25: error: openssl/des.h: No such file or directory
foo.cpp:24:25: error: openssl/evp.h: No such file or directory
foo.cpp:25:25: error: openssl/pem.h: No such file or directory
foo.cpp:26:25: error: openssl/rsa.h: No such file or directory

Ubuntu 10.04 LTS에 OpenSSL C ++ 라이브러리를 어떻게 설치합니까?

나는했다 man g++“… 디렉토리는 여러 표준 시스템 디렉토리를 포함 검색” “… 링커 검색 라이브러리의 디렉토리의 표준 목록을”과 : 그것은 내용의 -l 옵션 ( “연결에 대한 옵션”아래)와 표준 시스템 디렉토리는 무엇입니까?



답변

libssl-dev 인 개발 패키지를 설치하려고합니다.

sudo apt-get install libssl-dev


답변

apt-get install libssl-dev


답변

이 질문을하는 것 외에는 어떻게 나 자신을 위해 그것을 알아낼 수 있었습니까? 어떻게 든 apt-get에게 모든 패키지를 나열하고 grep을 ssl에 지시 할 수 있습니까? 아니면 “lib * -dev”명명 규칙을 알아야합니까?

연결하는 -lfoo경우 라이브러리 일 가능성이 큽니다 libfoo.so. 라이브러리 자체는 아마도 libfoo패키지의 일부이며 헤더는 libfoo-dev발견 한 패키지에 있습니다.

어떤 사람들은 GUI “synaptic”앱 ( sudo synaptic)을 사용하여 패키지를 찾아서 설치하지만 명령 줄을 사용하는 것을 선호합니다. 명령 행에서 올바른 패키지를 쉽게 찾을 수있는 한 가지 방법 apt-get은 bash 완료 를 지원 한다는 사실입니다 .

입력 sudo apt-get install libssl한 다음 tab일치하는 패키지 이름 목록을 확인하십시오 (여러 버전이나 다른 변형이있는 올바른 버전의 패키지를 선택해야 할 때 도움이 됨).

배쉬 완성은 실제로 매우 유용합니다. 예 를 들어을 apt-get입력 sudo apt-get한 다음 을 눌러 지원하는 명령 목록을 얻을 수도 있습니다 tab.


답변

자세한 솔루션을 여기에서 찾았습니다 : Linux에서 수동으로 OpenSSL 설치

블로그 게시물에서 … :

다운로드, 컴파일 및 설치 단계는 다음과 같습니다 (아래 버전 1.0.1g을 설치하고 있습니다. “1.0.1g”를 버전 번호로 바꾸십시오).

1 단계 – OpenSSL 다운로드 :

다음과 같이 명령을 실행하십시오.

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

또한 MD5 해시를 다운로드하여 변형 된 목적으로 만 다운로드 된 파일의 무결성을 확인하십시오. 웹 사이트에서 OpenSSL 파일을 다운로드 한 동일한 폴더에 :

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.md5
$ md5sum openssl-1.0.1g.tar.gz
$ cat openssl-1.0.1g.tar.gz.md5

2 단계 : 다운로드 한 패키지에서 파일을 추출하십시오.

$ tar -xvzf openssl-1.0.1g.tar.gz

이제 openssl-1.0.1g와 같이 패키지가 추출 된 디렉토리를 입력하십시오.

$ cd openssl-1.0.1g

3 단계 : OpenSSL 구성

선택적 조건으로 아래 명령을 실행하여 파일과 폴더를 복사하려는 접두사와 디렉토리를 설정하십시오.

$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

“/ usr / local / openssl”을 파일 및 폴더를 복사 할 디렉토리 경로로 바꿀 수 있습니다. 그러나이 단계를 수행하는 동안 터미널에 오류 메시지가 있는지 확인하십시오.

4 단계 : OpenSSL 컴파일

openssl을 컴파일하려면 2 명령을 실행해야합니다 : make, 아래와 같이 설치하십시오 :

$ make

참고 : 확인을 위해 오류 메시지가 있는지 확인하십시오.

5 단계 : OpenSSL 설치 :

$ sudo make install

아니면 sudo없이

$ make install

그게 다야. OpenSSL이 성공적으로 설치되었습니다. version 명령을 실행하여 아래와 같이 작동하는지 여부를 확인할 수 있습니다.

$ /usr/local/openssl/bin/openssl version

OpenSSL 1.0.1g 7 Apr 2014


답변

Ubuntu의 소스 코드에서 openssl 라이브러리를 설치하는 다른 방법 WORKDIR은 아래 단계를 수행하는 것 입니다. 작업 디렉토리는 다음과 같습니다 .

sudo apt-get install pkg-config
cd WORKDIR
git clone https://github.com/openssl/openssl.git
cd openssl
./config
make
sudo make install
# Open file /etc/ld.so.conf, add a new line: "/usr/local/lib" at EOF
sudo ldconfig


답변

당신은 openssl-devel패키지를 원한다 . 적어도 -devel우분투에 있다고 생각합니다 . 될 수 있습니다 -dev. 둘 중 하나입니다.


답변

일반적으로 데비안 또는 우분투에서 개발 파일 (또는 그 문제에 대한 다른 파일)이 누락 된 경우 apt-file해당 파일을 제공하는 패키지를 파악하십시오.

~ apt-file search openssl/bio.h
android-libboringssl-dev: /usr/include/android/openssl/bio.h
libssl-dev: /usr/include/openssl/bio.h
libwolfssl-dev: /usr/include/cyassl/openssl/bio.h
libwolfssl-dev: /usr/include/wolfssl/openssl/bio.h

명령으로 반환 된 각 패키지를 간단히 apt show살펴보면 사용중인 패키지 중 어떤 패키지가 있는지 알려줍니다.

~ apt show libssl-dev
Package: libssl-dev
Version: 1.1.1d-2
Priority: optional
Section: libdevel
Source: openssl
Maintainer: Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org>
Installed-Size: 8,095 kB
Depends: libssl1.1 (= 1.1.1d-2)
Suggests: libssl-doc
Conflicts: libssl1.0-dev
Homepage: https://www.openssl.org/
Tag: devel::lang:c, devel::library, implemented-in::TODO, implemented-in::c,
 protocol::ssl, role::devel-lib, security::cryptography
Download-Size: 1,797 kB
APT-Sources: http://ftp.fr.debian.org/debian unstable/main amd64 Packages
Description: Secure Sockets Layer toolkit - development files
 This package is part of the OpenSSL project's implementation of the SSL
 and TLS cryptographic protocols for secure communication over the
 Internet.
 .
 It contains development libraries, header files, and manpages for libssl
 and libcrypto.

N: There is 1 additional record. Please use the '-a' switch to see it