Adding information from an email conversation. Alex Abreu says:
"So basically cordova pulls in some mangled symbols from 5.2 and tries to resolve them at runtime while being bound
to the 4.8 icu so libs."
"As you can see in the log:
_ZTIN6icu_528ByteSinkE
It it searching for a 5.2 mangled symbol ...
A "dpkg -L libicu-dev | grep .so$ | xargs objdump -T | grep _ZTIN6icu_528ByteSinkE" did indeed showed me that the symbol wasn't defined anywhere.
BUT, and here is the core of the issue, ICU being the backend for some Qt libs (all?) in terms of i8n it pulls the ICU version for which it was build for. so we end up w/:
I quickly tested the branch and it seems to work (no more undefined ref, & the symbol is revolved).
So from there:
*Some* of the missing plugin bits that I just removed (those part of cordova "globalization" API
that forced the direct usage of icu because they were not provided by QLocale) are in qt 5.2 (timezone & UTC offset apparently),
I haven't checked if all of them were there yet."
Adding information from an email conversation. Alex Abreu says:
"So basically cordova pulls in some mangled symbols from 5.2 and tries to resolve them at runtime while being bound
to the 4.8 icu so libs."
"As you can see in the log:
_ZTIN6icu_ 528ByteSinkE
It it searching for a 5.2 mangled symbol ...
A "dpkg -L libicu-dev | grep .so$ | xargs objdump -T | grep _ZTIN6icu_ 528ByteSinkE" did indeed showed me that the symbol wasn't defined anywhere.
BUT, and here is the core of the issue, ICU being the backend for some Qt libs (all?) in terms of i8n it pulls the ICU version for which it was build for. so we end up w/:
alex:$ ldd /usr/lib/ cordova- ubuntu- 2.8/libcoreplug ins.so | grep icu x86_64- linux-gnu/ libicui18n. so.48 (0x00007f5b4a6b b000) x86_64- linux-gnu/ libicuuc. so.48 (0x00007f5b4a34 f000) x86_64- linux-gnu/ libicudata. so.48 (0x00007f5b4549 2000)
libicui18n.so.48 => /usr/lib/
libicuuc.so.48 => /usr/lib/
libicudata.so.48 => /usr/lib/
but cordova-ubuntu-2.8 pulls "libicu-dev" as a build depends in its debian/control ... which is ICU 5.2 (unless I am mistaken)."
"Here is a small branch that remove direct icu references from cordova ...
https:/ /code.launchpad .net/~abreu- alexandre/ cordova- ubuntu/ fix-icu- dev-version
I quickly tested the branch and it seems to work (no more undefined ref, & the symbol is revolved).
So from there:
*Some* of the missing plugin bits that I just removed (those part of cordova "globalization" API
that forced the direct usage of icu because they were not provided by QLocale) are in qt 5.2 (timezone & UTC offset apparently),
I haven't checked if all of them were there yet."