Compiling softether using Android-NDK

Post your questions about SoftEther VPN software here. Please answer questions if you can afford.
Post Reply
whatpigs
Posts: 4
Joined: Tue May 01, 2018 11:01 am

Compiling softether using Android-NDK

Post by whatpigs » Sat Jul 07, 2018 6:30 am

I'm trying to compile softether using android-ndk but error occurs. It compiles but stopped halfway.

Output:
tmp/objs/Mayaqua/Network.o:Network.c:function GetHostIPAddressListInternal: error: undefined reference to 'getifaddrs'
tmp/objs/Mayaqua/Network.o:Network.c:function GetHostIPAddressListInternal: error: undefined reference to 'freeifaddrs'

Is this a dependency error or its from the source?

--Update--
Solve the problem by using android-24 api.
Last edited by whatpigs on Sat Jul 07, 2018 4:46 pm, edited 1 time in total.

whatpigs
Posts: 4
Joined: Tue May 01, 2018 11:01 am

Re: Compiling softether using Android-NDK

Post by whatpigs » Sat Jul 07, 2018 9:10 am

-----Update-----
Manage to get past the error by setting my api to android-24. But now this error shows up.

ranlib tmp/as/vpnserver.a
arm-linux-androideabi-clang -DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char tmp/objs/Mayaqua/Cfg.o tmp/objs/Mayaqua/Encrypt.o tmp/objs/Mayaqua/FileIO.o tmp/objs/Mayaqua/Internat.o tmp/objs/Mayaqua/Kernel.o tmp/objs/Mayaqua/Mayaqua.o tmp/objs/Mayaqua/Memory.o tmp/objs/Mayaqua/Microsoft.o tmp/objs/Mayaqua/Network.o tmp/objs/Mayaqua/Object.o tmp/objs/Mayaqua/OS.o tmp/objs/Mayaqua/Pack.o tmp/objs/Mayaqua/Secure.o tmp/objs/Mayaqua/Str.o tmp/objs/Mayaqua/Table.o tmp/objs/Mayaqua/TcpIp.o tmp/objs/Mayaqua/Tick64.o tmp/objs/Mayaqua/Tracking.o tmp/objs/Mayaqua/Unix.o tmp/objs/Mayaqua/Win32.o tmp/objs/Cedar/Account.o tmp/objs/Cedar/Admin.o tmp/objs/Cedar/AzureClient.o tmp/objs/Cedar/AzureServer.o tmp/objs/Cedar/Bridge.o tmp/objs/Cedar/BridgeUnix.o tmp/objs/Cedar/BridgeWin32.o tmp/objs/Cedar/Cedar.o tmp/objs/Cedar/CedarPch.o tmp/objs/Cedar/Client.o tmp/objs/Cedar/CM.o tmp/objs/Cedar/Command.o tmp/objs/Cedar/Connection.o tmp/objs/Cedar/Console.o tmp/objs/Cedar/Database.o tmp/objs/Cedar/DDNS.o tmp/objs/Cedar/EM.o tmp/objs/Cedar/EtherLog.o tmp/objs/Cedar/Hub.o tmp/objs/Cedar/Interop_OpenVPN.o tmp/objs/Cedar/Interop_SSTP.o tmp/objs/Cedar/IPsec.o tmp/objs/Cedar/IPsec_EtherIP.o tmp/objs/Cedar/IPsec_IKE.o tmp/objs/Cedar/IPsec_IkePacket.o tmp/objs/Cedar/IPsec_IPC.o tmp/objs/Cedar/IPsec_L2TP.o tmp/objs/Cedar/IPsec_PPP.o tmp/objs/Cedar/IPsec_Win7.o tmp/objs/Cedar/Layer3.o tmp/objs/Cedar/Link.o tmp/objs/Cedar/Listener.o tmp/objs/Cedar/Logging.o tmp/objs/Cedar/Nat.o tmp/objs/Cedar/NativeStack.o tmp/objs/Cedar/NM.o tmp/objs/Cedar/NullLan.o tmp/objs/Cedar/Protocol.o tmp/objs/Cedar/Radius.o tmp/objs/Cedar/Remote.o tmp/objs/Cedar/Sam.o tmp/objs/Cedar/SecureInfo.o tmp/objs/Cedar/SecureNAT.o tmp/objs/Cedar/SeLowUser.o tmp/objs/Cedar/Server.o tmp/objs/Cedar/Session.o tmp/objs/Cedar/SM.o tmp/objs/Cedar/SW.o tmp/objs/Cedar/UdpAccel.o tmp/objs/Cedar/UT.o tmp/objs/Cedar/VG.o tmp/objs/Cedar/Virtual.o tmp/objs/Cedar/VLan.o tmp/objs/Cedar/VLanUnix.o tmp/objs/Cedar/VLanWin32.o tmp/objs/Cedar/WaterMark.o tmp/objs/Cedar/WebUI.o tmp/objs/Cedar/WinUi.o tmp/objs/Cedar/Wpc.o src/hamcorebuilder/hamcorebuilder.c -O2 -fsigned-char -lm -liconv -ldl -lssl -lcrypto -lreadline -lncurses -lz -o tmp/hamcorebuilder
tmp/hamcorebuilder src/bin/hamcore/ src/bin/BuiltHamcoreFiles/unix/hamcore.se2
tmp/hamcorebuilder: 1: tmp/hamcorebuilder: Syntax error: word unexpected (expecting ")")
Makefile:313: recipe for target 'src/bin/BuiltHamcoreFiles/unix/hamcore.se2' failed
make: *** [src/bin/BuiltHamcoreFiles/unix/hamcore.se2] Error 2

thisjun
Posts: 2458
Joined: Mon Feb 24, 2014 11:03 am

Re: Compiling softether using Android-NDK

Post by thisjun » Wed Jul 18, 2018 6:44 am

Please compile hamcorebuilder on a native compiler.
or
hamcorebuilder isn't essential to the operation of the SoftEther VPN.
You can install "hamcore" directory instead of hamcore.se2 archive.

Post Reply