Thread: postgresql bug
Hallo, there is a postgresql bug /usr/local/bin/postgres -V ld-elf.so.1: Shared object "libicui18n.so.70" not found, required by "postgres" Installed Version: postgresql14-server-14.1 find / -name "*libicui*" /usr/local/lib/libicuio.a /usr/local/lib/libicui18n.so.71 /usr/local/lib/libicuio.so.71.1 /usr/local/lib/libicui18n.so.71.1 /usr/local/lib/compat/pkg/libicui18n.so.68.2 /usr/local/lib/compat/pkg/libicuio.so.68 /usr/local/lib/compat/pkg/libicuio.so.68.2 /usr/local/lib/compat/pkg/libicui18n.so.68 /usr/local/lib/libicui18n.so /usr/local/lib/libicuio.so.71 /usr/local/lib/libicuio.so /usr/local/lib/libicui18n.a /compat/linux/usr/lib64/libicuio.so.50 /compat/linux/usr/lib64/libicui18n.so.50 /compat/linux/usr/lib64/libicui18n.so.50.2 /compat/linux/usr/lib64/libicuio.so.50.2 /compat/linux/usr/lib/libicui18n.so.50.2 /compat/linux/usr/lib/libicuio.so.50.2 /compat/linux/usr/lib/libicui18n.so.50 /compat/linux/usr/lib/libicuio.so.50 What should I do? Franz
On Fri, 2022-07-08 at 12:47 +0200, ml@ft-c.de wrote: > there is a postgresql bug An error need not be a bug. > /usr/local/bin/postgres -V > ld-elf.so.1: Shared object "libicui18n.so.70" not found, required by > "postgres" > > Installed Version: > postgresql14-server-14.1 > > find / -name "*libicui*" > /usr/local/lib/libicuio.a > /usr/local/lib/libicui18n.so.71 > /usr/local/lib/libicuio.so.71.1 > /usr/local/lib/libicui18n.so.71. > /usr/local/lib/compat/pkg/libicui18n.so.68.2 > /usr/local/lib/compat/pkg/libicuio.so.68 > /usr/local/lib/compat/pkg/libicuio.so.68.2 > /usr/local/lib/compat/pkg/libicui18n.so.68 > /usr/local/lib/libicui18n.so > /usr/local/lib/libicuio.so.71 > /usr/local/lib/libicuio.so > /usr/local/lib/libicui18n.a > /compat/linux/usr/lib64/libicuio.so.50 > /compat/linux/usr/lib64/libicui18n.so.50 > /compat/linux/usr/lib64/libicui18n.so.50.2 > /compat/linux/usr/lib64/libicuio.so.50.2 > /compat/linux/usr/lib/libicui18n.so.50.2 > /compat/linux/usr/lib/libicuio.so.50.2 > /compat/linux/usr/lib/libicui18n.so.50 > /compat/linux/usr/lib/libicuio.so.50 > > What should I do? Either install the older version if the ICU library, or build PostgreSQL against the newer version. Yours, Laurenz Albe
## ml@ft-c.de (ml@ft-c.de): > /usr/local/bin/postgres -V > ld-elf.so.1: Shared object "libicui18n.so.70" not found, required by > "postgres" You screwd up your upgrades: that postgres binary was built against ICU 70, but as hou have shown you have ICU 71 installed: > find / -name "*libicui*" > /usr/local/lib/libicuio.a > /usr/local/lib/libicui18n.so.71 > /usr/local/lib/libicuio.so.71.1 > /usr/local/lib/libicui18n.so.71.1 > /usr/local/lib/compat/pkg/libicui18n.so.68.2 > /usr/local/lib/compat/pkg/libicuio.so.68 > /usr/local/lib/compat/pkg/libicuio.so.68.2 > /usr/local/lib/compat/pkg/libicui18n.so.68 And that looks like you're using portupgrade - in which case you need to chase a lot of shared library dependencies yourself. pkg_libchk from ports-mgmt/bsdadminscripts2 may help a little with that, but it's still an error-prone process and a lot of toil. For that reason I'd recommend either using packages (from the official builds) or setting up your own poudriere; all other options will cost you a lot of time and nerves and require a lot more knowledge and manual intervention than "simple updates" are supposed to in 2022. Regards, Christoph -- Spare Space