锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

嵌入式linux开发,openssl-1.1.1m移植

时间:2022-11-25 11:00:00 p32j12m密封连接器

在计算机网络上,OpenSSL它是一个开放源代码的软件库包应用程序可以使用该包进行安全通信,避免窃听,并确认另一端连接器的身份。该包广泛应用于互联网网页服务器。

一、下载

/source/index.html

二、解压

openssl源代码有软链接,必须在linux系统下解压

tar -vxf openssl-1.1.1m.tar.gz cd openssl-1.1.1m mkidr buildout

三、查看帮助

ms@ubuntu:~/work/code/openssh/openssl/openssl-1.1.1m$ ./Configure -h Configuring OpenSSL version 1.1.1m (0x101010dfL) for Using os-specific seed configuration Usage: Configure [no- ...] [enable- ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-egd] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--config=FILE] os/compiler[:flags]  pick os/compiler from: BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8 BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-i386 Cygwin-i486 Cygwin-i586 Cygwin-i686 Cygwin-x86 Cygwin-x86_64 DJGPP MPE/iX-gcc UEFI UWIN VC-CE VC-WIN32 VC-WIN32-ARM VC-WIN32-ONECORE VC-WIN64-ARM VC-WIN64A VC-WIN64A-ONECORE VC-WIN64A-masm VC-WIN64I aix-cc aix-gcc aix64-cc aix64-gcc android-arm android-arm64 android-armeabi android-mips android-mips64 android-x86 android-x86_64 android64 android64-aarch64 android64-mips64 android64-x86_64 bsdi-elf-gcc cc darwin-i386-cc darwin-ppc-cc darwin64-arm64-cc darwin64-ppc-cc darwin64-x86_64-cc gcc haiku-x86 haiku-x86_64 hpux-ia64-cc hpux-ia64-gcc hpux-parisc-cc hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc hpux64-parisc2-gcc hurd-x86 ios-cross ios-xcrun ios64-cross ios64-xcrun iossimulator-xcrun iphoneos-cross irix-mips3-cc irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-aarch64 linux-alpha-gcc linux-aout linux-arm64ilp32 linux-armv4 linux-c64xplus linux-elf linux-generic32 linux-generic64 linux-ia64 linux-mips32 linux-mips64 linux-ppc linux-ppc64 linux-ppc64le linux-sparcv8 linux-sparcv9 linux-x32 linux-x86 linux-x86-clang linux-x86_64 linux-x86_64-clang linux32-s390x linux64-mips64 linux64-riscv64 linux64-s390x linux64-sparcv9 mingw mingw64 nextstep nextstep3.3 sco5-cc sco5-gcc solaris-sparcv7-cc solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc solaris-sparcv9-gcc solaris-x86-gcc solaris64-sparcv9-cc solaris64-sparcv9-gcc solaris64-x86_64-cc solaris64-x86_64-gcc tru64-alpha-cc tru64-alpha-gcc uClinux-dist uClinux-dist64 unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vms-alpha vms-alpha-p32 vms-alpha-p64 vms-ia64 vms-ia64-p32 vms-ia64-p64 vos-gcc vxworks-mips vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug vxworks-ppc860 vxworks-ppcgen vxworks-simlinux  NOTE: If in doubt, on Unix-ish systems use './config'. ms@ubuntu:~/work/code/openssh/openssl/openssl-1.1.1m$ 

四、配置

no-asm: 在交叉编译过程中,不使用汇编代码加速编译过程,原因是它的汇编代码是正确的arm不支持格式 shared :生成动态连接库 no-async:没有提供GNU C的ucontext库 linux-generic32表示标准32位linux setarch i386:声明生成32位CPU,如果是64位CPU去掉这部分 --prefix :指定make install未修改目录的路径,默认为OPENSSLDIR目录(/usr/local/ssl)

Ubuntu下部配置,使用绝对路径

./config --prefix=`pwd`/buildout-x86 no-asm CC=gcc

arm下部配置,使用绝对路径

./config --prefix=`pwd`/buildout-arm no-asm CC=arm-linux-gcc
./config --prefix=`pwd`/buildout-nuc970 no-asm CC=arm-linux-gcc
./config --prefix=`pwd`/buildout-gt665x no-asm CC=arm-linux-gnueabihf-gcc

五、编译

make -j4

报错如下:

arm-linux-gnueabihf-gcc: error: unrecognized command line option '-m64' Makefile:707: recipe for target 'apps/app_rand.o' failed make[1]: *** [apps/app_rand.o] Error 1 make[1]: Leaving directory '/home/ms/work/code/openssh/openssl/openssl-1.1.1m' Makefile:174: recipe for target 'all' failed make: *** [all] Error 2 

修改Makefile查找文件-m有两处,如下

CNF_CPPFLAGS=-DNDEBUG CNF_CFLAGS=-pthread -m64 CNF_CXXFLAGS=-std=c  11 -pthread -m64 CNF_LDFLAGS= CNF_EX_LIBS=-ldl -pthread 

删除“-m修改如下

CNF_CPPFLAGS=-DNDEBUG #CNF_CFLAGS=-pthread -m64 #CNF_CXXFLAGS=-std=c  11 -pthread -m64 CNF_CFLAGS=-pthread CNF_CXXFLAGS=-std=c  11 -pthread CNF_LDFLAGS= CNF_EX_LIBS=-ldl -pthread 

重新编译,成功

六、安装

make install -j4

注意:Ubuntu编译后使用makeclean不能全部清除

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章