OpenSSL problem again

@makihiro No. Cocos2d-x has it’s own version.

Hi I update cocos2d-x-3rd-party-libs-bin/cocos2dx/platform/third_party/android/prebuilt/libcurl/

and update my game with 2.0 version but still continue waring.

So what i Do? Please Help me!

@nitinchauhan3046 curl haven’t been updated.

@all curl of v3 have been updated to v7.48, and OpenSSL is been updated to 1.02g. You can download them here https://github.com/cocos2d/cocos2d-x-3rd-party-libs-bin/tree/v3/curl.

v2 version will be updated soon.

1 Like

Thank you for replay.

But I am using 2.2.6 version when you v2 version will be updated?.

I have 80 game so please update as soon as possible.

@nitinchauhan3046 We will update it ASAP.

PS: oh, so many games you have :smile:

@all v2 version is updated too. You can download it here: https://github.com/cocos2d/cocos2d-x-3rd-party-libs-bin/tree/v2/cocos2dx/platform/third_party/android/prebuilt/libcurl.

Now OpenSSL is not included in libcurl, but you don’t have to worry about it, because the corresponding Android.mk is changed to handle it.

Edit: You should replace the whole folder of libcurl.

1 Like

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’

I will ask @owen to take a look.

@jw72jw
Have you also copied the libssl.a and libcrypto.a?

@jw72jw You should replace the whole folder. As i said, OpenSSL is not included in libcurl.a, and Android.mk is modified too.

@jw72jw
And don’t forget to update the Android.mk file of libCURL.

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

@jw72jw

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)