0

When i follow instructions here, i get this error when running latest instruction that is "make":

make[1]: Entering directory '/home/fasegiar/Downloads/openconnect-8.08'
  CC       libopenconnect_la-ssl.lo
In file included from ssl.c:41:
In file included from ./openconnect-internal.h:102:
In file included from /usr/include/libxml2/libxml/tree.h:1307:
In file included from /usr/include/libxml2/libxml/xmlmemory.h:218:
In file included from /usr/include/libxml2/libxml/threads.h:35:
In file included from /usr/include/libxml2/libxml/globals.h:18:
In file included from /usr/include/libxml2/libxml/parser.h:810:
/usr/include/libxml2/libxml/encoding.h:31:10: fatal error: 'unicode/ucnv.h' file not found
#include <unicode/ucnv.h>
         ^~~~~~~~~~~~~~~~
1 error generated.
Makefile:1037: recipe for target 'libopenconnect_la-ssl.lo' failed
make[1]: *** [libopenconnect_la-ssl.lo] Error 1
make[1]: Leaving directory '/home/fasegiar/Downloads/openconnect-8.08'
Makefile:749: recipe for target 'all' failed
make: *** [all] Error 2

The TARGET that i use is: armv7a-linux-androideabi

My TOOLCHAIN is: /home/fasegiar/Documents/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64

Here is the output of the config.log after ./configure call

9
  • Please show the full output of your configure and make call. "Make error 1" is a useless diagnostic. Commented Apr 20, 2020 at 7:04
  • @Botje I update with full output Commented Apr 20, 2020 at 10:03
  • Is that the full output of calling configure and make? I doubt that. Commented Apr 20, 2020 at 12:19
  • Edit your question. Please add the FULL INVOCATION AND OUTPUT OF CONFIGURE AND MAKE not just the last few lines. Commented Apr 20, 2020 at 13:00
  • @Botje i upate my question with your need Commented Apr 20, 2020 at 13:13

1 Answer 1

3

From the snippet you posted I can already tell you this is not going to work. When cross-compiling you need to cross-compile all dependencies first for your target platform (ie Android) and then tell the configure script where to find the installed dependencies. For openconnect the dependencies are:

Required:

  • libxml2 (this in turn requires libicu, as your error points out)
  • zlib (this is bundled)
  • Either OpenSSL or GnuTLS (v3.2.10+) (see NDKPorts)

Optional:

  • p11-kit (for PKCS#11 support)
  • libp11 (also needed for PKCS#11 support if using OpenSSL)
  • libproxy
  • trousers (for TPMv1 support if using GnuTLS)
  • libtasn1 and either tss2-esys or IBM's TPM 2.0 TSS. (for TPMv2 support if using GnuTLS)
  • libstoken (for SecurID software token support)
  • libpskc (for RFC6030 PSKC file storage of HOTP/TOTP keys)
  • libpcsclite (for Yubikey hardware HOTP/HOTP support)
Sign up to request clarification or add additional context in comments.

7 Comments

Hi @Botje, i think that is what instructions under android/ folder do. But i run into this error
Is that means that I need to install a libc library on my machine?
It means you may not specify -lpthread when linking code for android.
You need to either build iconv or tell whatever dependency that needs it to not use it.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.