Firebird (stable 2.0.3 and unstable 2.1.0) in current ebuilds is failing to use intl charsets even though they are installed in /usr/lib/firebird/intl/. I've got database file encoded in win1250 (not in unicode as most of decent databases) and couldn't use it. :( Reproducible: Always Steps to Reproduce: 1. $ fbsql 2. SQL> connect file.fdb user sysdba password pass; -- file.fdb wncoded in win1250 3. SQL> select * from existingtable; Actual Results: 1. $ fbsql Use CONNECT or CREATE DATABASE to specify a database 2. SQL> connect file.fdb user sysdba password pass; Database: file.fdb, User: sysdba 3. SQL> select * from existingtable; Statement failed, SQLCODE = -204 CHARACTER SET WIN1250 is not installed Expected Results: Just select and show rows, eh? CHARACTER SET WIN1250 is not installed? But it's there. So I made symlink, restarted firebird and things are working. # cd /usr/share/firebird # ln -s /usr/lib/firebird/intl Put this in your ebuilds, please.
Your emerge --info might help here as well.
Been aware of it for a bit, also know of a fix. Just need to add another line of sed to the ebuild. I will do so ASAP today. I forgot last time a user reported, and no bug was filed at the time. So it slipped my mind :)
Actually it seems the problem is in the conf.d file. Seems I am still setting the root dir to FIREBIRD=/usr/share/firebird when it should be FIREBIRD=/usr/lib/firebird. So lose that symlink, update the conf.d file and restart Firebird. Please let me know if that resolves the problem.
It seems the FIREBIRD modification in conf.d resolves the problem. But I think LD_LIBRARY_PATH in the same file and all settings in /etc/env.d/70firebird are also wrong, maybe unnecessary.
Yes they are wrong, and pretty sure unnecessary. Now that things have been moved out of opt. Thanks for confirming the conf.d file problem. I will correct both ASAP today.
Setting FIREBIRD=/usr/lib/firebird in /etc/conf.d/firebird does indeed fix the problem. (Without intl link in /usr/share/firebird, of course.) And Jan Slezak is right that LD_LIBRARY_PATH=$FIREBIRD/lib seems weird since there is no directory like that. As well as those two paths in /etc/env.d/70firebird to /opt dir are not used anymore.
Ok just committed revisions with updated conf.d file and removed env.d file. Should resolve this bug. Although I will likely move the fbintl.conf file to /etc/ from /usr/lib/firebird/intl. Saving that for another day. Please reopen if not resolved, and thanks for reporting.