-=| 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