symbol lookup error: undefined symbol: UCNV_FROM_U_CALLBACK_ESCAPE_44 - browser

I am getting this error when I try to run my project with the lib webkit shared library
The whole error is
symbol lookup error: ./lib/libwebkit-1.0.so.2: undefined symbol:
UCNV_FROM_U_CALLBACK_ESCAPE_44
I just want to look for what might cause this error as I didn't find anything useful on google to tell me what is the problem right now.

It turn out that when I recompile my ICU library "properly" it worked again

Related

Undefined symbol error after Xcode 13 update

I have recently updated my Xcode to v13. Since then when I tried to archive I am getting following error
Undefined symbol: _OBJC_METACLASS_$_UMAppDelegateWrapper
Undefined symbol: _OBJC_CLASS_$_UMAppDelegateWrapper
Undefined symbol: _OBJC_CLASS_$_UMModuleRegistryProvider
Undefined symbol: _OBJC_CLASS_$_UMModuleRegistryAdapter
If I run in simulator or real device, Then there is no error. Getting errors only when I tired to archiving.
I tried to apply what suggested in this SO question. But there is no use.
Can someone help me to get rid of these errors?
There is a new library from Xcode 12 that needs to be added to the Link Binary with Libraries phase call libSwiftWebKit.tbd. This help me.
Go to the Xcode
Build Phases => Link Binary With Libraries => press + paste in search libSwiftWebKit.tbd => Add

OpenSSL libssl.so error undefined reference to 'ssl3_cbc_remove_padding'

I am currently patching a older version of OpenSSL to the latest stable 1.0.0o build (via import_openssl.sh)for use with a Android application via the NDK r10c.
While building the libssl.so sharedlibrary i am presented with the following errors.
[armeabi] SharedLibrary : libssl.so
jni/openssl/ssl/s3_enc.c:542: error: undefined reference to 'ssl3_cbc_remove_padding'
jni/openssl/ssl/s3_enc.c:739: error: undefined reference to 'ssl3_cbc_record_digest_supported'
jni/openssl/ssl/s3_enc.c:764: error: undefined reference to 'ssl3_cbc_digest_record'
jni/openssl/ssl/s3_pkt.c:464: error: undefined reference to 'ssl3_cbc_copy_mac'
jni/openssl/ssl/t1_enc.c:763: error: undefined reference to 'tls1_cbc_remove_padding'
jni/openssl/ssl/t1_enc.c:919: error: undefined reference to 'ssl3_cbc_record_digest_supported'
jni/openssl/ssl/t1_enc.c:925: error: undefined reference to 'ssl3_cbc_digest_record'
jni/openssl/ssl/ssl_lib.c:1058: error: undefined reference to 'dtls1_min_mtu'
Taking the first error for example, i can see a reference in the file s3_enc.c (https://github.com/openssl/openssl/blob/OpenSSL_1_0_0-stable/ssl/s3_enc.c) to a function 'ssl3_cbc_remove_padding' but the actual function is nowhere to be seen, only a prototype in ssl_locl.h (https://github.com/openssl/openssl/blob/OpenSSL_1_0_0-stable/ssl/ssl_lib.c) so i am a little confused.
Any help or previous experience would be greatly appreciated in order to get these errors cleared. if you need me to elaborate further, please ask.
Check the files (s3_enc.c, t1_enc.c, ssl_lib.c), included in their respective .mk files or not. In my case it was not included so I just add these source files in ssl/Android.mk under LOCAL_SRC_FILES section.

how to fix strip failure "because it is named in a relocation"

I am building a static library and I am trying to strip all of the non-public routines but I get this error:
strip: not stripping symbol `g722_state_update' because it is named in a relocation
How can I resolve this?
When I build and strip the shared version of my library I do not get this error.

PJSIP libsocket compile error

I get the following error when I try to compile the pjsip libraries in the Blackberry 10 IDE:
libpj-i486-pc-nto-qnx8.0.0.a(sock_bsd.o): undefined reference to symbol 'send##libsocket.so.2'
'send##libsocket.so.2' is defined in DSO /home/f3795594/bbndk/target_10_0_9_386/qnx6/x86/lib/libsocket.so.3 so try adding it to the linker command line
Has anybody come across this error? I know it's to do with the libsocket library but not sure where to begin.
Thanks
Simple insertion into linking process:
Add the following library:
LIBS += /Applications/bbndk/target_10_0_9_386/qnx6/x86/lib/libsocket.so.3
My limited c compile knowledge got in the way.

Undefined reference errors when including external library libxml2 in android ndk

I'm trying to use libxml2 with android ndk. When I run the make file, I got errors saying that file 'unicode/ucnv.h' does not exist. I've seen 'unicode/ucnv.h' is included in one of the files and no such header file is present. So I downloaded unicode header files from http://site.icu-project.org/ and placed them in include folder.
Now the previous error is gone but I've got these errors.
SharedLibrary : libxml2.so
./obj/local/armeabi/objs-debug/xml2/encoding.o: In function `openIcuConverter':
C:\test\hello-jni/jni/encoding.c:109: undefined reference to `ucnv_open_49'
C:\test\hello-jni/jni/encoding.c:115: undefined reference to `ucnv_setToUCallBack_49'
C:\test\hello-jni/jni/encoding.c:119: undefined reference to `ucnv_setFromUCallBack_49'
C:\test\hello-jni/jni/encoding.c:126: undefined reference to `ucnv_open_49'
C:\test\hello-jni/jni/encoding.c:132: undefined reference to `ucnv_close_49'
C:\test\hello-jni/jni/encoding.c:135: undefined reference to `UCNV_TO_U_CALLBACK_STOP_49'
C:\test\hello-jni/jni/encoding.c:135: undefined reference to `UCNV_FROM_U_CALLBACK_STOP_49'
./obj/local/armeabi/objs-debug/xml2/encoding.o: In function `closeIcuConverter':
C:\test\hello-jni/jni/encoding.c:141: undefined reference to `ucnv_close_49'
C:\test\hello-jni/jni/encoding.c:142: undefined reference to `ucnv_close_49'
./obj/local/armeabi/objs-debug/xml2/encoding.o: In function `xmlUconvWrapper':
C:\test\hello-jni/jni/encoding.c:1865: undefined reference to `ucnv_convertEx_49'
C:\test\hello-jni/jni/encoding.c:1870: undefined reference to `ucnv_convertEx_49'
collect2: ld returned 1 exit status
make: * [obj/local/armeabi/libxml2.so] Error 1
I didn't find function ucnv_open_49 in any of the files.
Am I the only one who is facing this problem?
Build unicode library (icu) along with libxml2 and mention in LOCAL_SHARED_LIBRARIES.
That's it!
Are you intending to link libxml2 against ICU (e.g. use it for conversion)? It's optional but currently you have it enabled. With such you'll need ICU to be linked in as well rather static or dynamic. See the libxml2's configure script for options. Some of which are iconv or even no converters if you intend to work with UTF-8 only.

Resources