If you don’t use github to synchronize the files, you can download the zip file and extract the corresponding libs. But please take care of the version
.
use the new lib and get error
in function ossl_recv:openssl.c(.text+0x10): error: undefined reference to ‘ERR_clear_error’
in function ossl_recv:openssl.c(.text+0x28): error: undefined reference to ‘SSL_read’
in function ossl_recv:openssl.c(.text+0x3c): error: undefined reference to ‘SSL_get_error’
in function ossl_recv:openssl.c(.text+0x78): error: undefined reference to ‘ERR_get_error’
in function ossl_recv:openssl.c(.text+0x90): error: undefined reference to ‘ERR_error_string’
in function ossl_send:openssl.c(.text+0xc8): error: undefined reference to ‘ERR_clear_error’
in function ossl_send:openssl.c(.text+0xe0): error: undefined reference to ‘SSL_write’
in function ossl_send:openssl.c(.text+0xf8): error: undefined reference to ‘SSL_get_error’
in function ossl_send:openssl.c(.text+0x138): error: undefined reference to ‘ERR_get_error’
in function ossl_send:openssl.c(.text+0x140): error: undefined reference to ‘ERR_error_string’
in function ossl_seed:openssl.c(.text+0x474): error: undefined reference to ‘RAND_load_file’
in function ossl_seed:openssl.c(.text+0x47a): error: undefined reference to ‘RAND_status’
in function ossl_seed:openssl.c(.text+0x486): error: undefined reference to ‘RAND_egd’
in function ossl_seed:openssl.c(.text+0x490): error: undefined reference to ‘RAND_status’
in function ossl_seed:openssl.c(.text+0x49c): error: undefined reference to ‘RAND_bytes’
in function ossl_seed:openssl.c(.text+0x4ac): error: undefined reference to ‘RAND_add’
in function ossl_seed:openssl.c(.text+0x4b0): error: undefined reference to ‘RAND_status’
in function ossl_seed:openssl.c(.text+0x4c8): error: undefined reference to ‘RAND_file_name’
in function ossl_seed:openssl.c(.text+0x4d8): error: undefined reference to ‘RAND_load_file’
in function ossl_seed:openssl.c(.text+0x4de): error: undefined reference to ‘RAND_status’
…
@jw72jw You should replace the whole folder. As i said, OpenSSL is not included in libcurl.a, and Android.mk is modified too.
I replace all folder but also get error
I found mk of my project write like this.Need to modify?
LOCAL_LDLIBS :=
-L$(call host-path, $(LOCAL_PATH)/…/…/liblua/obj/local/$(TYPE_ARMEABI)) -llua
-L$(call host-path, $(LOCAL_PATH)/…/…/libextension/obj/local/$(TYPE_ARMEABI)) -lextension
-L$(call host-path, $(LOCAL_PATH)/…/…/cocos2dx/obj/local/$(TYPE_ARMEABI)) -lcocos2d
-L$(call host-path, $(LOCAL_PATH)/…/…/cocosdenshion/obj/local/$(TYPE_ARMEABI)) -lcocosdenshion
-L$(call host-path, $(THIRD_PATH)/libcurl/libs/$(TYPE_ARMEABI)) -lcurl
-L$(call host-path, $(THIRD_PATH)/libjpeg/libs/$(TYPE_ARMEABI)) -ljpeg
-L$(call host-path, $(THIRD_PATH)/libpng/libs/$(TYPE_ARMEABI)) -lpng
-L$(call host-path, $(THIRD_PATH)/libtiff/libs/$(TYPE_ARMEABI)) -ltiff
-L$(call host-path, $(THIRD_PATH)/libwebp/libs/$(TYPE_ARMEABI)) -lwebp
-lGLESv2
-llog \
@jw72jw
Yes, you need add -lssl -lcrypto at the end of -lcurl
//add these two lines after "-L$(call host-path, $(THIRD_PATH)/libcurl/libs/$(TYPE_ARMEABI)) -lcurl \"
-L$(call host-path, $(THIRD_PATH)/libcurl/libs/$(TYPE_ARMEABI)) -lssl \
-L$(call host-path, $(THIRD_PATH)/libcurl/libs/$(TYPE_ARMEABI)) -lcrypto \
yes I got success
Thank you
edit
maybe we change the proj mk in the past, and we add all static by this way.
so I must add
-L$(call host-path, $(THIRD_PATH)/libcurl/libs/$(TYPE_ARMEABI)) -lssl
-L$(call host-path, $(THIRD_PATH)/libcurl/libs/$(TYPE_ARMEABI)) -lcrypto \
after
-L$(call host-path, $(THIRD_PATH)/libcurl/libs/$(TYPE_ARMEABI)) -lcurl \
in my proj mk file
if any body meet a error like me,I think you should find out how your proj use the curl lib.And you can add the crypto and ssl lib like it.
@MehulDodiya30
@nitinchauhan3046
i got error after replacing …cocos2d-x v2
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0xa0): error: undefined reference to ‘DES_set_odd_parity’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0xac): error: undefined reference to ‘DES_set_key’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0xc0): error: undefined reference to ‘DES_ecb_encrypt’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0x138): error: undefined reference to ‘DES_set_odd_parity’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0x144): error: undefined reference to ‘DES_set_key’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0x15c): error: undefined reference to ‘DES_ecb_encrypt’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0x1d4): error: undefined reference to ‘DES_set_odd_parity’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0x1e0): error: undefined reference to ‘DES_set_key’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_lm_resp:curl_ntlm_core.c(.text.Curl_ntlm_core_lm_resp+0x1f8): error: undefined reference to ‘DES_ecb_encrypt’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_mk_lm_hash:curl_ntlm_core.c(.text.Curl_ntlm_core_mk_lm_hash+0xe4): error: undefined reference to ‘DES_set_odd_parity’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_mk_lm_hash:curl_ntlm_core.c(.text.Curl_ntlm_core_mk_lm_hash+0xf0): error: undefined reference to ‘DES_set_key’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_mk_lm_hash:curl_ntlm_core.c(.text.Curl_ntlm_core_mk_lm_hash+0x104): error: undefined reference to ‘DES_ecb_encrypt’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_mk_nt_hash:curl_ntlm_core.c(.text.Curl_ntlm_core_mk_nt_hash+0x7c): error: undefined reference to ‘MD4_Init’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_mk_nt_hash:curl_ntlm_core.c(.text.Curl_ntlm_core_mk_nt_hash+0x8c): error: undefined reference to ‘MD4_Update’
curl.a(libcurl_la-curl_ntlm_core.o): in function Curl_ntlm_core_mk_nt_hash:curl_ntlm_core.c(.text.Curl_ntlm_core_mk_nt_hash+0x98): error: undefined reference to ‘MD4_Final’
Please explain full description solution for cocos2d-x 2.2.6 OpenSSL Problem
Any one done then
Please Upload Your demo project with new openssl
Thank in advance
This is my projects android.mk file …
now how to done this ???
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp
…/…/Classes/AppDelegate.cpp
…/…/Classes/HelloWorldScene.cpp
…/…/Classes/LevelScene_3.cpp
…/…/Classes/LevelScene_2.cpp
…/…/Classes/LevelScene1.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/Classes
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,cocos2dx)
$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
$(call import-module,CocosDenshion/android)
$(call import-module,extensions)
$(call import-module,external/Box2D)
$(call import-module,external/chipmunk)
Have you copy all the ssl.a and crypto.a to the cocos2dx/platform/third_party/android/prebuilt/libcurl/libs
folder?
What’s the content in cocos2dx/platform/third_party/android/prebuilt/libcurl/Android.mk
? @MehulDodiya30
$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
this line will load the mk in the path
it looks like the mk or the .a problem
Can anyone give a feedback whether the google warning will disappear after you update the libcurl? And your version v2.x or v3.x ?
Hi zhangxm, do you think it is better to provide the updated single libcurl.a same as two years ago. So, we can just copy and replace it. No need to handle makefile and other compile issue.
Thanks.
@dirtypolarbear Yep, it is better to do like that, but the previous version is compiled manually and a little hack, and we can’t find the way to do like that now. And because the Android.mk is modified too, so i think you guys that invoke like this $(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)
will not affect.