Bug 152386 - Firebird Missing entrypoint in ICU library
Summary: Firebird Missing entrypoint in ICU library
Status: VERIFIED NOTOURBUG
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
7.4.3.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-05 19:49 UTC by Julien Nabet
Modified: 2022-12-05 22:55 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Nabet 2022-12-05 19:49:19 UTC
Description:
On pc Debian x86-64 with LO Debian testing package 7.4.3.2, I got the error:
Firebird_sdbc error:
*Could not find acceptable ICU library
*Missing entrypoint in ICU library
*u_setDataDirectory
*failed to create database /tmp/lu18862a2kep.tmp/lu18862a2ket.tmp/firebird.fdb
*unknown ISC error 336330835
caused by
'isc_service_query'
 at ./connectivity/source/drivers/firebird/Util.cxx:69

Steps to Reproduce:
1. Download https://bugs.documentfoundation.org/attachment.cgi?id=177322
2. Go to the tables tab and double-click Table2

Actual Results:
An error popup appears with:
"irebird_sdbc error:
*Could not find acceptable ICU library
*Missing entrypoint in ICU library
*u_setDataDirectory
*failed to create database /tmp/lu18862a2kep.tmp/lu18862a2ket.tmp/firebird.fdb
*unknown ISC error 336330835
caused by
'isc_service_query'
 at ./connectivity/source/drivers/firebird/Util.cxx:69"

Expected Results:
No error popup


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Version: 7.4.3.2 / LibreOffice Community
Build ID: 40(Build:2)
CPU threads: 12; OS: Linux 6.0; UI render: default; VCL: gtk3
Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
Debian package version: 1:7.4.3-2
Calc: threaded
Comment 1 Julien Nabet 2022-12-05 19:51:08 UTC
Rene: thought you might be interested in this one since it might be related to ICU dependency in deb. (of course I might be wrong).

Just for information, with master sources updated today (still on Debian testing), I don't reproduce this but have the assertion described in tdf#152381 so perhaps this last one "hides" this one.
Comment 2 Rene Engelhard 2022-12-05 19:57:25 UTC
are you using an uptodate testing WITH ALL PACKAGES updated?

Asking because firebird AND LO are built against the same icu. But if you just updated LO without firebird (and firebird uses  the old icu) that might be it (which then is a bug in Debians firebird package)
Comment 3 Julien Nabet 2022-12-05 20:06:07 UTC
I just do almost every day this:
apt update && apt dist-upgrade
apt autoremove --purge

Now I just noticed I got firebird3.0-common.

I uninstall all firebird things so including libreoffice-sdbc-firebird.

Reinstalling libreoffice-sdbc-firebird, I see:
Les paquets supplémentaires suivants seront installés : 
  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils libfbclient2 libib-util libicu67
Paquets suggérés :
  firebird3.0-server firebird3.0-doc
Les NOUVEAUX paquets suivants seront installés :
  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils libfbclient2 libib-util libicu67 libreoffice-sdbc-firebird

so it seems it's related with libicu67 in some way?
Comment 4 Julien Nabet 2022-12-05 20:09:43 UTC
Now after having deleted my LO profile (~/.config/libreoffice), I got:
"The connection to the external data source could not be established. No SDBC driver was found for the URL 'sdbc:embedded:firebird'. at ./connectivity/source/commontools/dbexception.cxx:413"

but I see libreoffice-sdbc-firebird is 1:7.0.4-4+deb11u3 version :-(
Comment 5 Julien Nabet 2022-12-05 20:34:46 UTC
Hmm perhaps I got a pb between bullseye and bookworm
Here's what I got in my /etc/apt/sources.list:
deb http://ftp.de.debian.org/debian/ stable main
deb-src http://ftp.de.debian.org/debian/ testing main
Comment 6 Rene Engelhard 2022-12-05 21:48:57 UTC
OK, this is a clear case for "I  have no clue administering my system".

In comment #5 you say:
"deb http://ftp.de.debian.org/debian/ stable main
deb-src http://ftp.de.debian.org/debian/ testing main"

so apt gets your packages from stable. And only from stable. testing here is only for *source* packages.

In comment #1 you say:
"Debian package version: 1:7.4.3-2"

which is testings version nudged onto stable somehow. 
DO NOT DO that. 
se backports if you need a newer LO (7.4.3 will appear there soonish, it just migrated the weekend and the backports rules say backports come from testing, and if people and reports like this don't waste time so I can't do that in an timely fashion)

And testing is not "what will be added in stable somewhen", but "what will be released as stable as a whole".

> Reinstalling libreoffice-sdbc-firebird, I see:
> Les paquets supplémentaires suivants seront installés : 
>  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils libfbclient2 libib-util libicu67
> Paquets suggérés :
>  firebird3.0-server firebird3.0-doc
>Les NOUVEAUX paquets suivants seront installés :
>  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils libfbclient2 libib-util libicu67 libreoffice-sdbc-firebird
>
> so it seems it's related with libicu67 in some way?

Of courses. Testings version of is built against libicu72. Both LO and firebird.

One might argue the dependency in libreoffice-sdbc-firebird to firebird3.0-server-core is too lax but that can be fixed. (Well, worked around since it's hardcoded and I don't get the info what firebird3.0 is built against.)

For now I'll just depend on 3.0.11.33637.ds4-2+b1 as a quick workaround (which is the firebird version built against ICU 72)

Still you don't want all that new libs etc. on your stable.

If you test testings packages, use testing.
Comment 7 Julien Nabet 2022-12-05 21:59:36 UTC
Just a shame...sorry for this useless bugtracker
Comment 8 Rene Engelhard 2022-12-05 22:07:23 UTC
For reference, after I did the 7.4.3-2~bpo11+1 build I'll do something along 

diff --git a/rules b/rules
index db4396a4..e733f6c8 100755
--- a/rules
+++ b/rules
@@ -1424,10 +1424,15 @@ ifeq "$(ENABLE_FIREBIRD)" "y"
   ifneq (,$(filter firebird, $(SYSTEM_STUFF)))
        BUILD_DEPS += , firebird-dev (>= 3.0.0.32483.ds4-4)$(OOO_NO_FIREBIRD_ARCHS)
        # we need libEngine12.so
+  ifeq "$(BULLSEYE_BACKPORT)" "y"
+       FIREBIRD_CORE_MIN_VERSION := 3.0.5.33220.ds4-1+b1 
+  else
+       FIREBIRD_CORE_MIN_VERSION := 3.0.11.33637.ds4-2+b1
+  endif
   ifeq "$(RUN_MAKE_CHECK)" "y"
-       BUILD_DEPS_ARCH += , firebird3.0-server-core $(OOO_NO_FIREBIRD_ARCHS) <!nocheck>
+       BUILD_DEPS_ARCH += , firebird3.0-server-core (>= $(FIREBIRD_CORE_MIN_VERSION)) $(OOO_NO_FIREBIRD_ARCHS) <!nocheck>
   endif
-       FIREBIRD_ENGINE_DEPENDS += firebird3.0-server-core
+       FIREBIRD_ENGINE_DEPENDS += firebird3.0-server-core (>= $(FIREBIRD_CORE_MIN_VERSION))
   endif
 else
        CONFIGURE_FLAGS += --disable-firebird-sdbc

for unstable, which is said workaround. Is no future-proof solution on  the next  update to a newer ICU, but at least for now.
Comment 9 Julien Nabet 2022-12-05 22:11:55 UTC
I just cleaned all this and put
deb http://ftp.de.debian.org/debian/ testing main
deb-src http://ftp.de.debian.org/debian/ testing main
in my /etc/apt/sources.list

apt update && apt dist-upgrade

- icu67 removed
- apt-cache show libreoffice-sdbc-firebird => 7.4.3-2
- no pb to open "table2" on the quoted file.
=> so everything is ok and this bug is complete nonsense.

Really sorry, I should wait for at least a day before creating a bugtracker to avoid such stupid things.
Comment 10 Rene Engelhard 2022-12-05 22:55:48 UTC
(In reply to Rene Engelhard from comment #8)
> For reference, after I did the 7.4.3-2~bpo11+1 build I'll do something along 
> 
> diff --git a/rules b/rules
> index db4396a4..e733f6c8 100755
> --- a/rules
> +++ b/rules
> @@ -1424,10 +1424,15 @@ ifeq "$(ENABLE_FIREBIRD)" "y"
>    ifneq (,$(filter firebird, $(SYSTEM_STUFF)))
>         BUILD_DEPS += , firebird-dev (>=
> 3.0.0.32483.ds4-4)$(OOO_NO_FIREBIRD_ARCHS)
>         # we need libEngine12.so
> +  ifeq "$(BULLSEYE_BACKPORT)" "y"
> +       FIREBIRD_CORE_MIN_VERSION := 3.0.5.33220.ds4-1+b1 
> +  else
> +       FIREBIRD_CORE_MIN_VERSION := 3.0.11.33637.ds4-2+b1
> +  endif
>    ifeq "$(RUN_MAKE_CHECK)" "y"
> -       BUILD_DEPS_ARCH += , firebird3.0-server-core
> $(OOO_NO_FIREBIRD_ARCHS) <!nocheck>
> +       BUILD_DEPS_ARCH += , firebird3.0-server-core (>=
> $(FIREBIRD_CORE_MIN_VERSION)) $(OOO_NO_FIREBIRD_ARCHS) <!nocheck>
>    endif
> -       FIREBIRD_ENGINE_DEPENDS += firebird3.0-server-core
> +       FIREBIRD_ENGINE_DEPENDS += firebird3.0-server-core (>=
> $(FIREBIRD_CORE_MIN_VERSION))
>    endif
>  else
>         CONFIGURE_FLAGS += --disable-firebird-sdbc
> 
> for unstable, which is said workaround. Is no future-proof solution on  the
> next  update to a newer ICU, but at least for now.

Actually that doesn't really make sense... firebird3.0 "encapsulates" ICU and that one does have a dependency on what ICU it uses.

That
*Could not find acceptable ICU library
*Missing entrypoint in ICU library
is thrown when it doesn't find the ICU it was built with. but when you had firebird3.0-server-core from stable installed you should have gotten stables ICU for firebird. Then again in comment #3 you say
"Now I just noticed I got firebird3.0-common.

I uninstall all firebird things so including libreoffice-sdbc-firebird."

which suggests it was not installed, as wasn't libreoffice-sdbc-firebird.

Need to think about this - but not today.

(Ideally both should still be built against the same ICU anyway.)