OpenSSL problem again

Thanks @zhangxm

@makihiro Yep, you can use it when it is ready.

@Obg1 Thanks!
@zhangxm Thanks! At v3.11, will you use same binary as Obj1’s?

@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