简体   繁体   English

为 android 交叉编译 openconnect-8.08 时出错

[英]Error cross-compiling openconnect-8.08 for android

When i follow instructions here , i get this error when running latest instruction that is "make":当我按照此处的说明进行操作时,在运行“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我使用的目标是: armv7a-linux-androideabi

My TOOLCHAIN is: /home/fasegiar/Documents/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64我的工具链是: /home/fasegiar/Documents/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64

Here is the output of the config.log after./configure call 这里是./configure调用后config.log的output

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.交叉编译时,您需要首先为您的目标平台(即 Android)交叉编译所有依赖项,然后告诉配置脚本在哪里可以找到已安装的依赖项。 For openconnect the dependencies are:对于openconnect ,依赖项是:

Required:必需的:

  • libxml2 (this in turn requires libicu, as your error points out) libxml2 (这又需要 libicu,正如您的错误指出的那样)
  • zlib (this is bundled ) zlib(这是捆绑的)
  • Either OpenSSL or GnuTLS (v3.2.10+) (see NDKPorts ) OpenSSL 或 GnuTLS (v3.2.10+)(参见NDKPorts

Optional:可选的:

  • p11-kit (for PKCS#11 support) p11-kit(用于 PKCS#11 支持)
  • libp11 (also needed for PKCS#11 support if using OpenSSL) libp11(如果使用 OpenSSL,PKCS#11 支持也需要)
  • libproxy库代理
  • trousers (for TPMv1 support if using GnuTLS)裤子(如果使用 GnuTLS,则支持 TPMv1)
  • libtasn1 and either tss2-esys or IBM's TPM 2.0 TSS. libtasn1 和 tss2-esys 或 IBM 的 TPM 2.0 TSS。 (for TPMv2 support if using GnuTLS) (对于 TPMv2 支持,如果使用 GnuTLS)
  • libstoken (for SecurID software token support) libstoken(用于 SecurID 软件令牌支持)
  • libpskc (for RFC6030 PSKC file storage of HOTP/TOTP keys) libpskc(用于 HOTP/TOTP 密钥的 RFC6030 PSKC 文件存储)
  • libpcsclite (for Yubikey hardware HOTP/HOTP support) libpcsclite(用于 Yubikey 硬件 HOTP/HOTP 支持)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM