OpenSSL problem again

Hello

can you please also put the header files in the cocos2d-x git project, because I don’t know how to do it?
Thank you very much!

Have a nice day!

Hello, zhangxm! When a 3.11 version is released?

It will be released today if it passes testing.

@zhangxm @ricardo I am bit confused. I was under the impression that 3.9 (or 3.8) removed dependency on CURL for android and IOS. Infact, It doesn’t seem like any android files depend on CURL (I am on 3.10). However Android.mk files still reference curl. So isn’t a simpler solution just to exclude all CURL dependencies from all Android.mk files ?

@MehulDodiya30, can you show the contents of Android.mk file inside jni folder?

@zhangxm, can you provide Android.mk contents for LOCAL_C_INCLUDES?
LOCAL_C_INCLUDES := $(LOCAL_PATH)/…/…/Classes

Do you add something like this for the updated CURL to the cocos2d->external in Android.mk inside jni folder?

Example: LOCAL_C_INCLUDES += $(LOCAL_PATH)/…/…/cocos2d/external/curl/include/android

Why external/gpg is no longer supported in 3.11?

When try to build build_native.py to compile the c++ code for the project and generate the obj folder, I get the following error:

5 errors generated.
make: *** [obj/local/armeabi/objs-debug/cocos2dcpp_shared/__/__/Classes/AppDelegate.o] Error 1
make: Leaving directory `/Users/Documents/Android_Apps/proj.android'
Traceback (most recent call last):
  File "./build_native.py", line 159, in <module>
    build(opts.ndk_build_param,opts.android_platform,opts.build_mode)
  File "./build_native.py", line 146, in build
    do_build(cocos_root, ndk_root, app_android_root,ndk_build_param,sdk_root,android_platform,build_mode)
  File "./build_native.py", line 82, in do_build
    raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!")
Exception: Build dynamic library for project [ /Users/Documents/Android_Apps/proj.android ] fails!

Please let me know how to fix this. I am using NDK android-ndk-r9d, tested this and still shows that error on android-ndk-r10e.

What may be causing this issue?

@itzo please create a new thread if it is not related with OpenSSL.

@itzo

No need to change the .mk file . Just use as simple befire we are using … nothing change …

@itzo

Yes . You Need to change 10e or higher version of NDK . Which kind of error ?? Can you show Me …

@zhangxm this is actually related to OpenSSL. Without compiling the C++ code into the Android Project via terminal, I cannot generate obj folder and update the lib-curl library. Instead, could you please answer my questions?!

@MehulDodiya30, that’s the error and yes I changed to r10e, but still this error persisted. I tested on r9d NDK, but the error is the same:

Cleaned build_native.py in case of issues and deleted the obj folder before building the c++ via terminal.

Hi devs,

i get Undefined symbols for architecture x86_64 errors after updating curl.

I’m using cocos2d-x 3.3. To update curl i copy/paste the curl folder from cocos2d-x 3.11.1 to my projects cocos2d/externals folder.

here is the error log:

Undefined symbols for architecture x86_64:
"_ASN1_INTEGER_get", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
"_ASN1_STRING_data", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
"_ASN1_STRING_length", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
"_ASN1_STRING_print", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
"_ASN1_STRING_to_UTF8", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
"_ASN1_STRING_type", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
"_ASN1_TIME_print", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
"_BIO_ctrl", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
  _x509_name_oneline in libcocos2d iOS.a(libcurl_la-openssl.o)
"_BIO_free", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
  _x509_name_oneline in libcocos2d iOS.a(libcurl_la-openssl.o)
"_BIO_new", referenced from:
  _ossl_connect_common in libcocos2d iOS.a(libcurl_la-openssl.o)
  _x509_name_oneline in libcocos2d iOS.a(libcurl_la-openssl.o)
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Showing first 200 notices only

What did i miss?

Thanks a lot

Got it. I forgot to add libssl.a and libcrypto.a to the cocos2d_libs.xcodeproj Link Binary With Libraries.
done! works! :smile:

Hello~ Everyone~!

We had to modify the game to resolve the OpenSSL issue as follows.

However, some users of the Wi-Fi environment, the game does not work after applying this update.
My game can’t connect network(internet) in Wi-Fi environment with specify router.
So, They can’t play my game :frowning:

Router type : C2000T CenturyLink, Netgear n300, N300RM WiFi Router Modem

As a result, I have to rollback this update.
(They can play my game after rollback this update)

Anybody know about this problem?

My Cocos2d-x Version : 2.2.6

@hihkhihk Sorry, i have not idea. Is there any error log?

Thanks for your reply~!

Actually, we can’t reproduce this issue(wifi problem) in our network environment.
We received a report that the wifi problem for users.
I don’t know why this issue occurred in this CURL library. :frowning:

Anyway, so we’ll try to below combination to resolve OpenSSL issues.

  • Current CURL(7.26.0) + without OpenSSL
    (We don’t need SSL feature)

To make above combination, as you know, I have to rebuild CURL binary.
To rebuild CURL binary, I have to do ‘configure’ before build it.

Could you tell us about the prameter of ‘configure’ in CURL?

Thanks,
HoIck Lee.

Hi
Please Help

Google has started warning users of Cocos2d-x v2.x about an issue with libpng.

https://support.google.com/faqs/answer/7011127

Has anyone else seen this / fixed it?

@nitinchauhan3046 I think you can use v3 libpng, it is 1.6.16. And please create a new thread.

How to create new thread ?