交叉编译openvpn2.5.7,总是报错
本帖最后由 陈巨传 于 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
# vim configure
16563行 LIBS="${LIBS} ${OPENSSL_LIBS} -lssl -lcrypto -llzo2 -ldl"
这种方案无效
请问咱们有没有这方面的编译经验?资料太少了
3568 linux系统可以直接在buildroot中添加openvpn配置。
openvpn运行需要使用tun,linux的内核默认没有打开tun,可以同样到kernel下添加tun后编译。
您可以按照这个思路进行修改buildroot与kernel后编译烧写测试验证。 forqs 发表于 2022-12-29 10:04
3568 linux系统可以直接在buildroot中添加openvpn配置。
openvpn运行需要使用tun,linux的内核默认没有打 ...
谢谢,我按照您的思路尝试下 在/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.... 这一行需要注释掉。 forqs 发表于 2023-1-4 15:03
在/OK3568-linux-source/buildroot/output/OK3568 目录下 make menuconfig进行配置的话,在编译时需要./bui ...
嗯,谢谢。
页:
[1]