-=| Alex Peshkoff, 12.12.2013 13:12:11 +0400 |=- > On 12/12/13 13:01, Damyan Ivanov wrote: > > -=| Damyan Ivanov, 12.12.2013 10:30:22 +0200 |=- > >> (This is all on Debian unstable, firebird 2.5.2.26540 from the > >> package) > >> > >> $ isql-fb > >> Use CONNECT or CREATE DATABASE to specify a database > >> SQL> create database 'test.fdb'; > >> SQL> create table xxx (name varchar(32) character set UTF8 collate > >> UNICODE); > >> Statement failed, SQLSTATE = 22021 > >> unsuccessful metadata update > >> -XXX > >> -COLLATION UNICODE for CHARACTER SET UTF8 is not installed > >> > >> The problem appears also when restoring from backup and when opening > >> a database which worked with firebird linked to ICU 4.8.1.1. > >> > >> fbintl.conf is not changed. (icu_versions = default) > >> … > >> My first idea was to patch the ucTemplate (and other *Template) to > >> only use the MAJOR version component. I'll report back if this > >> works, but there may be something else going on, given that these > >> lookups aren't needed at all when linked with older ICU. > > No luck. Patching avoids the lookups for libicuuc.521.so and there is > > only one open of libicuuc.52.so at startup, but the error stays. > > > > Perhaps there are API changes that lead to missing entry points. I'll > > try to verify that. > > Can't help much - the max version I've dealt with is 51.2.
No problem! What seems to help is attempting to also find symbols with only major version appended: --- a/src/jrd/unicode_util.cpp +++ b/src/jrd/unicode_util.cpp @@ -86,6 +86,11 @@ public: symbol.printf("%s_%d%d", name, majorVersion, minorVersion); module->findSymbol(symbol, ptr); + if (ptr) + return; + + symbol.printf("%s_%d", name, majorVersion); + module->findSymbol(symbol, ptr); } int majorVersion; Symbols in 52.1 are named like: u_init_52 uset_clone_52 ucase_totitle_52 etc. Patching library filename doesn't seem to be needed at least for Debian, where there can't be multiple minor versions installed at the same time. Still, I may be able to get something nice for review, e.g. try libXXX.so.MAJORMINOR, then libXXX.so.MAJOR.MINOR -- dam ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel