Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ndk 使用ndk为android构建OpenSSL时出错_Android Ndk_Openssl_Boot2docker - Fatal编程技术网

Android ndk 使用ndk为android构建OpenSSL时出错

Android ndk 使用ndk为android构建OpenSSL时出错,android-ndk,openssl,boot2docker,Android Ndk,Openssl,Boot2docker,我正在尝试使用ndk为android构建openSSL。我使用的是dockerFile概念。我已经按照中的建议设置了一些环境变量。现在我得到以下错误: make[2]: Entering directory `/Android/openssl/apps' ( :; LIBDEPS="${LIBDEPS:--L.. -lssl -L.. -lcrypto -ldl}"; LDCMD="${LDCMD:-arm-l inux-androideabi-gcc}"; LDFLAGS="${LDFLAG

我正在尝试使用ndk为android构建openSSL。我使用的是dockerFile概念。我已经按照中的建议设置了一些环境变量。现在我得到以下错误:

make[2]: Entering directory `/Android/openssl/apps'
( :; LIBDEPS="${LIBDEPS:--L.. -lssl  -L.. -lcrypto -ldl}"; LDCMD="${LDCMD:-arm-l
inux-androideabi-gcc}"; LDFLAGS="${LDFLAGS:--DOPENSSL_THREADS -D_REENTRANT -DDSO
_DLFCN -DHAVE_DLFCN_H --static -Wa,--noexecstack -march=armv7-a -mandroid -I/And
roid/android-ndk-r10c/platforms/android-19/arch-arm/usr/include -B/Android/andro
id-ndk-r10c/platforms/android-19/arch-arm/usr/lib -O3 -fomit-frame-pointer -Wall
 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_AS
M -DAES_ASM -DBSAES_ASM -DGHASH_ASM}"; LIBPATH=`for x in $LIBDEPS; do echo $x; d
one | sed -e 's/^ *-L//;t' -e d | uniq`; LIBPATH=`echo $LIBPATH | sed -e 's/ /:/
g'`; LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH ${LDCMD} ${LDFLAGS} -o ${APPNAME:
=openssl} openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd
.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o
ec.o ecparam.o x509.o genrsa.o gendsa.o genpkey.o s_server.o s_client.o speed.o
s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.
o pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o eng
ine.o ocsp.o prime.o ts.o srp.o ${LIBDEPS} )
/Android/toolchain-arm/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_globallookup: error: unde
fined reference to 'dlopen'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_globallookup: error: unde
fined reference to 'dlsym'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_globallookup: error: unde
fined reference to 'dlclose'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_bind_func: error: undefin
ed reference to 'dlsym'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_bind_func: error: undefin
ed reference to 'dlerror'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_bind_var: error: undefine
d reference to 'dlsym'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_bind_var: error: undefine
d reference to 'dlerror'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_load: error: undefined re
ference to 'dlopen'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_load: error: undefined re
ference to 'dlclose'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_load: error: undefined re
ference to 'dlerror'
../libcrypto.a(dso_dlfcn.o):dso_dlfcn.c:function dlfcn_unload: error: undefined
reference to 'dlclose'
collect2: error: ld returned 1 exit status
make[2]: Leaving directory `/Android/openssl/apps'
make[2]: *** [link_app.] Error 1
make[1]: *** [openssl] Error 2
make[1]: Leaving directory `/Android/openssl/apps'
make: *** [build_apps] Error 1
INFO[0135] The command [/bin/sh -c cd openssl && ./config --static no-ssl2 no-ss
l3 no-comp no-hw no-engine  &&  make depend &&  make &&         ls -hs . && cp l
ibssl.a /Android/output] returned a non-zero code: 2
docker@boot2docker:/home/curl_ssl$

您是否有解决上述错误的建议?我无法找到这种错误背后的原因。

Android已经有了openssl。也许您不需要编译它们。请尝试回答此问题。

addinLOCAL_LDLIBS:=-lssl-lcrypto inandroid.mk给出错误C:/Users/ppanchal/AppData/Local/Android/ndk/toolschains/arm-linux-androidabi-4.8/prebuilded/windows-x86_64/bin/。/../../../arm linux-androidabi/bin/ld.exe:错误:找不到-lsslC:/Users/ppanchal/AppData/Local/Android/ndk/toolschains/arm-linux-androidabi-4.8/prebuilded/windows-x86_64/bin/。/lib/gcc/arm-linux-androidabi/4.8/。/../../../../arm linux-androidabi/bin/ld.exe:错误:找不到-lcryptoOh,windows。。。尝试从emulator复制libssl*和libcrypto*,如链接中所述。将它们复制到您正在使用的正确平台版本(我看到您的平台是android-19)。我已经这么做了。事实上,我在所有平台上都复制了,但仍然不走运。我需要构建openSSL,因为我需要在curl中使用它。但目前我无法构建openSSL,而我可以在没有SSL支持的情况下构建curl。如果有人能帮助我使用dockerFile构建openSSL,我将不胜感激。也欢迎其他选择。