SoftEther vpn client for 32 bit ARM
Posted: Thu Feb 27, 2020 12:53 am
Hi, I buil a test version of the 32 bit arm executable of the vpnclient and vpncmd on a Ubunu 16.04 host (cross compiler) using the following makefile. But when I run the client, I get this error:
zynq> ./vpncmd
-- Alert: SoftEther VPN Kernel --
String Library Init Failed.
Please check your locale settings and iconv() libraries.
Wondering how to solve this issue. I tried to export the locales (as i pasted below). Looks like the issue is the libiconv.a but its distributed as part of the arm eabi installer so I am kind of confused why would there be an issue (since these libraries are static and I am building static, so there should not be dependency issues)
My Makefile:
SoftEther VPN Client (Ver 4.32, Build 9731, ARM EABI) for Linux
# Makefile
#
# Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan. All Rights Reserved.
# Platform: linux-armeabi-32bit
CC:=gcc
CROSS_COMPILER:=arm-linux-gnueabi-
CFLAGS := -static -msoft-float --disable-shared
OPTIONS=-fPIE -O2 -fsigned-char -pthread -lm -lrt -Wl,--no-warn-mismatch -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a -$
default:
@./.install.sh
# NOTE:
# You have to read and agree the license agreement at the same directory
# before using this software.
i_read_and_agree_the_license_agreement:
@echo "Preparing SoftEther VPN Client..."
-arm-linux-gnueabi-ranlib lib/libcharset.a
-arm-linux-gnueabi-ranlib lib/libcrypto.a
-arm-linux-gnueabi-ranlib lib/libedit.a
-arm-linux-gnueabi-ranlib lib/libiconv.a
-arm-linux-gnueabi-ranlib lib/libncurses.a
-arm-linux-gnueabi-ranlib lib/libssl.a
-arm-linux-gnueabi-ranlib lib/libz.a
-arm-linux-gnueabi-ranlib code/vpnclient.a
$(CROSS_COMPILER)$(CC) $(CFLAGS) code/vpnclient.a $(OPTIONS) -o vpnclient
-arm-linux-gnueabi-ranlib code/vpncmd.a
$(CROSS_COMPILER)$(CC) $(CFLAGS) code/vpncmd.a $(OPTIONS) -o vpncmd
Here is my LOCALE settings:
export LANG='en_US.UTF-8'
export LANGUAGE='en_US'
export LC_ALL='en_US'
Here is my cpu info:
processor : 0
model name : ARMv7 Processor rev 0 (v7l)
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
processor : 1
model name : ARMv7 Processor rev 0 (v7l)
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
Hardware : Xilinx Zynq Platform
Revision : 0000
Serial : 0000000000000000
zynq> ./vpncmd
-- Alert: SoftEther VPN Kernel --
String Library Init Failed.
Please check your locale settings and iconv() libraries.
Wondering how to solve this issue. I tried to export the locales (as i pasted below). Looks like the issue is the libiconv.a but its distributed as part of the arm eabi installer so I am kind of confused why would there be an issue (since these libraries are static and I am building static, so there should not be dependency issues)
My Makefile:
SoftEther VPN Client (Ver 4.32, Build 9731, ARM EABI) for Linux
# Makefile
#
# Copyright (c) SoftEther VPN Project at University of Tsukuba, Japan. All Rights Reserved.
# Platform: linux-armeabi-32bit
CC:=gcc
CROSS_COMPILER:=arm-linux-gnueabi-
CFLAGS := -static -msoft-float --disable-shared
OPTIONS=-fPIE -O2 -fsigned-char -pthread -lm -lrt -Wl,--no-warn-mismatch -lpthread -L./ lib/libssl.a lib/libcrypto.a lib/libiconv.a lib/libcharset.a lib/libedit.a lib/libncurses.a lib/libz.a -$
default:
@./.install.sh
# NOTE:
# You have to read and agree the license agreement at the same directory
# before using this software.
i_read_and_agree_the_license_agreement:
@echo "Preparing SoftEther VPN Client..."
-arm-linux-gnueabi-ranlib lib/libcharset.a
-arm-linux-gnueabi-ranlib lib/libcrypto.a
-arm-linux-gnueabi-ranlib lib/libedit.a
-arm-linux-gnueabi-ranlib lib/libiconv.a
-arm-linux-gnueabi-ranlib lib/libncurses.a
-arm-linux-gnueabi-ranlib lib/libssl.a
-arm-linux-gnueabi-ranlib lib/libz.a
-arm-linux-gnueabi-ranlib code/vpnclient.a
$(CROSS_COMPILER)$(CC) $(CFLAGS) code/vpnclient.a $(OPTIONS) -o vpnclient
-arm-linux-gnueabi-ranlib code/vpncmd.a
$(CROSS_COMPILER)$(CC) $(CFLAGS) code/vpncmd.a $(OPTIONS) -o vpncmd
Here is my LOCALE settings:
export LANG='en_US.UTF-8'
export LANGUAGE='en_US'
export LC_ALL='en_US'
Here is my cpu info:
processor : 0
model name : ARMv7 Processor rev 0 (v7l)
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
processor : 1
model name : ARMv7 Processor rev 0 (v7l)
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpd32
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part : 0xc09
CPU revision : 0
Hardware : Xilinx Zynq Platform
Revision : 0000
Serial : 0000000000000000