由于找不到OpenSSL库,无法编译openssh

由于找不到OpenSSL库,无法编译openssh,openssl,openssh,Openssl,Openssh,我基于16.04,试图从源代码安装openssh sudo apt install -y build-essential libssl-dev zlib1g-dev wget "http://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz" tar xfz openssh-7.4p1.tar.gz cd openssh-7.4p1 ./configure 尝试配置时,我收到以下错误消息: checkin

我基于16.04,试图从源代码安装openssh

sudo apt install -y build-essential libssl-dev zlib1g-dev
wget "http://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz"
tar xfz openssh-7.4p1.tar.gz
cd openssh-7.4p1
./configure
尝试配置时,我收到以下错误消息:

checking OpenSSL header version... 10101000 (OpenSSL 1.1.1-dev  xx XXX xxxx)
checking OpenSSL library version... not found
configure: error: OpenSSL library not found.
检查路径/usr/local/ssl#ls显示以下文件

证书ct_log_list.cnf.dist openssl.cnf private ct_log_list.cnf misc openssl.cnf.dist

我不知道为什么它找不到openssl库,而我已经安装了libssl库


如何解决它

请按照以下步骤交叉编译openSSH:

请确保您已经在特定的目录(比如/opt/usr/openssl)中编译并安装了openssl,并且该目录有子目录,如bin、lib、include等,其中包含openssl二进制文件、库和头文件

从构建服务器linux计算机openssh工作目录发出以下命令

bash-3.2$pwd

/home/xxxxxx/projects/openssh/openssh-8.2p1

bash-3.2$CC=ppc_6xx-gcc PATH=$PATH:/opt/eldk/ppc-v42-1/usr/bin./configure--内置安全密钥--使用-md5-passwords--使用ssl dir=/opt/usr/openssl--前缀=/opt/usr/openssh

主机:x86_64-pc-linux-gnu 编译器:ppc_6xx-gcc 编译器标志:-g-O2-pipe-Wall-Wpointer arith-Wuninitialized-Wsign compare-Wformat security-Wno指针符号-fno严格别名-D_FORTIFY_SOURCE=2-ftrapv-fno内置内存集-fstack protector all-std=gnu99-fPIE 预处理器标志:-I/opt/usr/include-D_XOPEN_SOURCE=600-D_BSD_SOURCE-D_DEFAULT_SOURCE 链接器标志:-L/opt/ust/openssl/lib-Wl,-z,retpolineplt-Wl,-z,relro-Wl,-z,now-Wl,-z,noexecstack-fstack-protector all-pie 库:-lresolv-lcrypto-lrt-ldl-lutil-lz-lcrypt

bash-3.2$


bash-3.2$make

尝试
configure--help
。注意
--使用openssl目录
--使用zlib
。上一次我检查OpenSSH时没有根据OpenSSL 1.1.0构建。另请参见OpenSSH。如果这是您的问题,那么您应该回到OpenSSL 1.0.2。另请参见OpenSSL wiki上的。最后,我相信OpenSSL 7.6p1是最新的。您可能也对它感兴趣。它可以使用最新的OpenSSL 1.0.2为您构建OpenVPN。有解决方案吗?我得到了同样的错误,我已经安装了openssl 1.0.2o,并且我正在将
--with ssl dir=/usr/local/openssl-1.0.2o
添加到configure标志中。