嵌入式爱好者

查看: 2889|回复: 4

[Linux] 交叉编译openvpn2.5.7,总是报错

[复制链接]

1

主题

3

帖子

10

积分

RK3568通行证

扫一扫,手机访问本帖
发表于 2022-12-28 17:08:26 | 显示全部楼层 |阅读模式
本帖最后由 陈巨传 于 2022-12-28 17:13 编辑

交叉编译工具
export PATH=$PATH:/home/forlinx/3568/OK3568-linux-source/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin

配置
./configure --host=aarch64-linux-gnu \
CC=aarch64-linux-gnu-gcc  \
AR=aarch64-linux-gnu-ar  \
BANLIB=aarch64-linux-gnu-ranlib \
LZO_CFLAGS=-I/home/forlinx/3568/lzo/include \
LZO_LIBS=-L/home/forlinx/3568/lzo/lib \
LIBPAM_CFLAGS=-I/home/forlinx/pam/include \
LIBPAM_LIBS=-L/home/forlinx/3568/pam/lib \
OPENSSL_CFLAGS=-I/home/forlinx/3568/openssl/include \
OPENSSL_LIBS=-L/home/forlinx/3568/openssl/lib \
--prefix=/home/forlinx/3568/openvpn

说明lzo-2.10、openssl-1.1.1p、Linux-PAM-1.5.2使用编译工具aarch64-linux-gnu都已编译成功,配置如下
./configure CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu --enable-shared --disable-static --prefix=/home/forlinx/3568/lzo
./configure CC=aarch64-linux-gnu-gcc --host=aarch64-linux-gnu --prefix=/home/forlinx/3568/pam
./Configure linux-aarch64 --cross-compile-prefix=aarch64-linux-gnu- --prefix=/home/forlinx/3568/openssl

执行结果:
checking for setcon in -lselinux... no
checking for PKCS11_HELPER... no
checking additionally if OpenSSL is available and version >= 1.0.2... ok
checking for SSL_CTX_new... no
configure: error: openssl check failed

网络帖子解决方案:
configure: error: openssl check failed
[root@localhost openvpn-2.4.3]# vim configure
16563行     LIBS="${LIBS} ${OPENSSL_LIBS} -lssl -lcrypto -llzo2 -ldl"
这种方案无效

请问咱们有没有这方面的编译经验?资料太少了




回复

使用道具 举报

0

主题

124

帖子

668

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证i.MX8MP通行证RK3568通行证RK3399通行证LS1028A通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2201通行证FCU2301/FCU2302通行证FCU2401通行证5G转接卡通行证FCU3001通行证AM5718通行证Hi3519A通信证AM335x通行证i.MX RT通行证XX18通行证

发表于 2022-12-29 10:04:42 | 显示全部楼层
3568 linux系统可以直接在buildroot中添加openvpn配置。
openvpn运行需要使用tun,linux的内核默认没有打开tun,可以同样到kernel下添加tun后编译。
您可以按照这个思路进行修改buildroot与kernel后编译烧写测试验证。

点评

我今天尝试了在/OK3568-linux-source/buildroot/output/OK3568 目录下输入 make menuconfig,然后分别选中openvpn和tun,如: BR2_PACKAGE_TUNCTL=y BR2_PACKAGE_OPENVPN=y BR2_PACKAGE_OPENVPN_LZ4=y BR2_P  详情 回复 发表于 2023-1-4 10:25
谢谢,我按照您的思路尝试下  详情 回复 发表于 2022-12-29 10:48
点评回复 支持 反对

使用道具 举报

1

主题

3

帖子

10

积分

RK3568通行证

 楼主| 发表于 2022-12-29 10:48:34 | 显示全部楼层
forqs 发表于 2022-12-29 10:04
3568 linux系统可以直接在buildroot中添加openvpn配置。
openvpn运行需要使用tun,linux的内核默认没有打 ...

谢谢,我按照您的思路尝试下
点评回复 支持 反对

使用道具 举报

0

主题

124

帖子

668

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证i.MX8MP通行证RK3568通行证RK3399通行证LS1028A通行证LS1012A通行证LS1043A\46A通行证TCU通行证FDU产品通行证FCU1401通行证FCU1301通行证FCU11xx通行证FCU1201通行证FCU2201通行证FCU2301/FCU2302通行证FCU2401通行证5G转接卡通行证FCU3001通行证AM5718通行证Hi3519A通信证AM335x通行证i.MX RT通行证XX18通行证

发表于 2023-1-4 15:03:20 | 显示全部楼层
在/OK3568-linux-source/buildroot/output/OK3568 目录下 make menuconfig进行配置的话,在编译时需要./build buildroot 然后输入n

make: Leaving directory '/home/forlinx/work/OK3568-linux-source/buildroot'
1089c1089
< BR2_PACKAGE_LZ4=y
---
> # BR2_PACKAGE_LZ4 is not set
2981,2984c2981
< BR2_PACKAGE_OPENVPN=y
< BR2_PACKAGE_OPENVPN_LZ4=y
< BR2_PACKAGE_OPENVPN_LZO=y
< # BR2_PACKAGE_OPENVPN_SMALL is not set
---
> # BR2_PACKAGE_OPENVPN is not set
3047c3044
< BR2_PACKAGE_TUNCTL=y
---
> # BR2_PACKAGE_TUNCTL is not set
Found old config, override it? (y/n):n
2023-01-03T22:53:46 >>> lz4 v1.7.5 Building
2023-01-03T22:53:51 >>> lz4 v1.7.5 Installing to staging directory
2023-01-03T22:53:51 >>> lz4 v1.7.5 Fixing libtool files
2023-01-03T22:53:51 >>> lz4 v1.7.5 Installing to target
2023-01-03T22:53:51 >>> openvpn 2.4.4 Downloading

然后tun的话,既需要应用程序,也需要使内核支持。
在源码/kernel/arch/arm64/configs/OK3568-C-linux_defconfig中添加CONFIG_TUN=y再进行编译
或者在kernel内make menuconfig进行配置,但是需要由于每次编译都会使用OK3568-C-linux_defconfig覆盖.config,需要在源码/build.sh中去掉这个make 在532行左右 有一个make ARCH=$RK_ARCH $RK_KERNEL_DEFCONFIG.... 这一行需要注释掉。

点评

嗯,谢谢。  详情 回复 发表于 2023-1-7 08:25
点评回复 支持 反对

使用道具 举报

1

主题

3

帖子

10

积分

RK3568通行证

 楼主| 发表于 2023-1-7 08:25:03 | 显示全部楼层
forqs 发表于 2023-1-4 15:03
在/OK3568-linux-source/buildroot/output/OK3568 目录下 make menuconfig进行配置的话,在编译时需要./bui ...

嗯,谢谢。
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-20 18:23

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表