Update to Firebird 3.0

Lionel Elie Mamane lionel at mamane.lu
Thu Jun 2 15:05:31 UTC 2016


On Thu, Jun 02, 2016 at 04:20:46PM +0200, Bunth Tamás wrote:
> If I understand correctly, this error:

> *firebird_sdbc error:*Unable to complete network request to host
> "localhost".*Failed to establish a connection.caused
> by'isc_create_database'*

> Is because of the issue Lionel posted on gerrit:
> "You need to make sure that firebird looks for libEngine12.so where it is
> installed, and not in /usr/local/firebird/plugins/"

> Am I right?

Yes, that's correct. With the new Thunderbird 3.0 architecture, the
client library has three "providers"

 - remote
 - engine12
 - localhost

In the default configuration, they are tried in that order. "remote"
and "localhost" are built-in in the fbclient shared library, and
"engine12" is in a separate plug-in shared library which firebird
dlopen()s.

"remote" is for connecting (TCP, named pipe, ...) to a firebird server
(whose hostname is given in the database specification
e.g. host:/path/to/db or inet://host/path/to/db)

engine12 is "access the file directly in-process" (database
specification is /path/to/db)

localhost is a special case of remote that connects to localhost when
given a filename as database specification.

What happens is that in the current state of your patch, firebird
looks for libEngine12.so in /usr/local/lib/firebird/plugins (or
something like that), and it is not found. So it tries with remote
(which decides not to handle the filename we give it), tries to load
engine12 (fails) then tries localhost which tries to connect to
localhost. That's why the error message looks like that.

> As I see, Firebird tries to use some remote access instead of local
> connection ( Remote provider instead of Engine12 ?).

Basically yes, but see above.

> it is so, it may be sensible to have a firebird.conf file in the
> installation directory, where we can set up that only the "Engine12"
> provider should be used.

That is true for embedded database; however we can also (not
implemented yet, but let's not close that door) use our internal
firebird driver to connect to a remote firebird server. So I'd
recommend not to have that in a firebird.conf that is "always" active
within LibreOffice.

> To change the path of libEngine12 I may need to write a patch to
> change it somewhere in workdir/UnpackedTarball/firebird/gen/Release/.

Try this: firebird should dlopen("libEngine12.so") without any path. I
think it will work. If not, passing the right --prefix to firebird's
./configure or something like that. Or patching the code to hardcode
it :)

> On 2 June 2016 at 14:36, Bunth Tamás <btomi96 at gmail.com> wrote:
> 
> > I am going to work on the following issues:
> >
> > - Build Firebird 3 on Mac OS and Windows systems too. For that, I may need
> > some help.
> >
> > - Adding tommath as external dependency if its necessary.
> >
> > - I got an error while creating a new database and I'm going to examine it:
> >
> >
> >
> >
> >
> > *firebird_sdbc error:*Unable to complete network request to host
> > "localhost".*Failed to establish a connection.caused
> > by'isc_create_database'*
> >
> >
> >
> > On 30 May 2016 at 19:13, Bunth Tamás <btomi96 at gmail.com> wrote:
> >
> >> Hello,
> >>
> >> I submitted my first changes, you can find it here:
> >>
> >> https://gerrit.libreoffice.org/#/c/25673/
> >>
> >> It's not ready yet, but it builds successfully for me on Linux.
> >>
> >> Regards:
> >> Tamás Bunth
> >>
> >
> >

> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libreoffice



More information about the LibreOffice mailing list