Bug ID 982485
Summary LibreOffice build broken with upcoming Firebird 3.0
Classification openSUSE
Product openSUSE Tumbleweed
Version Current
Hardware All
OS All
Status NEW
Severity Normal
Priority P5 - None
Component LibreOffice
Assignee bnc-team-screening@forge.provo.novell.com
Reporter mkubecek@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

Created attachment 679024 [details]
update configure.ac to search also for libfbclient 3.0

Note: this does not affect current Factory contents but the issue blocks the
intended upgrade of firebird package so I believe it is appropriate to track
it in bugzilla.

Firebird 2.5 provided two client libraries: libfbclient for TCP access to
remote (or local) servers and libfbembed for direct access to database files
on local filesystem. The latter is often called "embedded server mode" and it
is also used by LibreOffice. With Firebird 3, a side effect of architecture
unification is that one library, libfbclient, can be used both to access
a server via TCP and to access a local database file.

The easy part of the problem is there is no libfbembed to link against anymore.
This requires a change in configure.ac to search for either libfbclient >= 3.0
or libfbembed 2.5 (attached patch does this). Spec file language doesn't allow
for such logic so we have to distinguish by %{suse_version}. The libreoffice
package in home:mkubecek:firebird30 OBS project does this.

This allows LibreOffice to build but one of the selftests performed as part of
the build fails. AFAICS this is caused by trying to open a test database which
is part of the LibreOffice tarball. As Firebird 3.0 uses new ODS 12 (On Disk
Structure, database file format) rather than ODS 11 used by Firebird 2.5. As
the format is architecture dependent, I assume the test is only performed on
x86_64 (or perhaps only on 64-bit little endian architectures).

IMHO we have three options:

(a) switch LibreOffice to using embedded Firebird 2.5 copy (on Factory)

(b) upgrade firebird package to version 3.0 but provide an extra package
    providing 2.5 libfbembed and other files needed for it to work so that
    LibreOffice can keep using it; this would also make 2.5 -> 3.0 database
    migration easier if gbak linked against this 2.5 libfbembed is provided

(c) either skip the test if linked against libfbclient >= 3 or provide two
    different versions of the test database, one ODS 11, one ODS 12. This
    would mean new LibreOffice wouldn't be able to open databases created
    by old one and vice versa which sounds like a serious complication;
    at the very least, different ODS version should be IMHO marked in the
    odb file metadata somehow

So far, I like option (b) best. In the long term, LibreOffice upstream is
probably going to do a step to adopt Firebird 3 and handle the situation
in some way. But that can take quite some time and I don't think Firebird
upgrade should wait until that happens.


You are receiving this mail because: