You are not logged in.

#1 2018-11-29 07:49:53

gerald82
Member
From: The known universe
Registered: 2011-03-25
Posts: 83

[Solved] Dependency issue with Postgre 10.5 and icu

Hi all,

I'm running a development server based with Arch.
It is primarily used to run a SonarQube instance. This is powered by a database, which is Postgre 10.5.
I do full system upgrades about every 3-4 weeks. With the last upgrade I ran into a dependency issue:

Postgre 11 is available in the repos, but I cannot upgrade Postgre, because it is not (yet) supported by SonarQube. Therefore, Postgre is in the ignore list for pacman. However, icu got upgraded to 63.1-2. While the dependency list for Postgre states "icu" without any specific version, it seems to depend on icu 62.x.
I got an error message when trying to start Postgre and then simply tried creating symlinks so it would find the necessary library files. But then that failed because apparently really specifically icu 62.x is required. System log:

systemd[1]: Starting PostgreSQL database server...
postgres[22378]: /usr/bin/postgres: error while loading shared libraries: libicui18n.so.62: cannot open shared object file: No such file or directory
systemd[1]: postgresql.service: Main process exited, code=exited, status=127/n/a
systemd[1]: postgresql.service: Failed with result 'exit-code'.
systemd[1]: Failed to start PostgreSQL database server.
systemd[1]: Starting PostgreSQL database server...
postgres[22425]: /usr/bin/postgres: error while loading shared libraries: libicuuc.so.62: cannot open shared object file: No such file or directory
systemd[1]: postgresql.service: Main process exited, code=exited, status=127/n/a
systemd[1]: postgresql.service: Failed with result 'exit-code'.
systemd[1]: Failed to start PostgreSQL database server.
systemd[1]: Starting PostgreSQL database server...
postgres[22440]: /usr/bin/postgres: symbol lookup error: /usr/bin/postgres: undefined symbol: uloc_getDisplayName_62
systemd[1]: postgresql.service: Main process exited, code=exited, status=127/n/a
systemd[1]: postgresql.service: Failed with result 'exit-code'.
systemd[1]: Failed to start PostgreSQL database server.

The first two attempts happened before creating the symlinks, and then the last startup attempt tells that I really do need icu 62. Is this correct? And how could I solve this when I can't simply upgrade Postgre? Thanks a lot for any hints.

Last edited by gerald82 (2018-12-03 06:32:06)

Offline

#2 2018-11-29 08:31:12

bugsmanagement
Member
Registered: 2017-04-21
Posts: 201

Re: [Solved] Dependency issue with Postgre 10.5 and icu

Perhaps downgrading 'icu' and add it to the ignore list?

Offline

#3 2018-11-29 08:49:12

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,427

Re: [Solved] Dependency issue with Postgre 10.5 and icu

No, do NOT downgrade icu, that will break everything else.

There are a few options:

  1. If you absolutely must remain on that version use the PKGBUILD from 10.5 and rebuild it locally against the latest icu, see the ABS wiki page for information on how to do that

  2. There are old versions of postgres packaged in the AUR https://aur.archlinux.org/packages/postgresql-1c/

  3. Install an icu compat package, that is usually only really necessary for proprietary software, https://aur.archlinux.org/packages/icu62


I'd probably go with 1 or 2, either will have the potential of you having to actively rebuild depending on how Arch's dependencies change, however that's as good a time as any to learn about ABI and soname bumps.

Last edited by V1del (2018-11-29 09:09:29)

Offline

#4 2018-11-29 09:43:13

gerald82
Member
From: The known universe
Registered: 2011-03-25
Posts: 83

Re: [Solved] Dependency issue with Postgre 10.5 and icu

V1del wrote:
  1. If you absolutely must remain on that version use the PKGBUILD from 10.5 and rebuild it locally against the latest icu, see the ABS wiki page for information on how to do that

Thank you very much. I think I'll go for this option.
For the moment I could simply revert the entire upgrade (saved a snapshot of the virtual machine just before upgrading) but will try rebuilding Postgres and then hopefully mark the forum topic solved very soon. Have to postpone this a little because at the moment the database server and SonarQube must not be down for longer than a couple of minutes...

Last edited by gerald82 (2018-11-29 09:44:29)

Offline

#5 2018-11-29 10:04:50

Mr.Elendig
#archlinux@freenode channel op
From: The intertubes
Registered: 2004-11-07
Posts: 4,092

Re: [Solved] Dependency issue with Postgre 10.5 and icu

I strongly suggest using some form of container for your development work. That way you also get easier testing of different versions, migration etc.


Evil #archlinux@libera.chat channel op and general support dude.
. files on github, Screenshots, Random pics and the rest

Offline

#6 2018-12-03 06:31:42

gerald82
Member
From: The known universe
Registered: 2011-03-25
Posts: 83

Re: [Solved] Dependency issue with Postgre 10.5 and icu

I solved the problem by building Postgres 10.5 like V1del suggested.
Building Postgres-libs was not necessary (no dependency on icu).
Since icu is updated pretty frequently I'm hoping SonarQube will soon add support for Postgres 11 so that I can upgrade the database, because I'll have to do this every time I run a system upgrade now. On the other hand I did not encounter any issue and building Postgres went through clean and smooth without having to do anything about it, so it's not too bad and I prefer this over installing AUR packages on this machine.

Thanks a lot!

Offline

#7 2023-08-25 13:27:29

tupadown228
Member
Registered: 2022-10-25
Posts: 20

Re: [Solved] Dependency issue with Postgre 10.5 and icu

V1del wrote:

Very good answer.

Thank you, dude!!!

Offline

#8 2023-08-25 14:17:19

2ManyDogs
Forum Moderator
Registered: 2012-01-15
Posts: 4,645

Re: [Solved] Dependency issue with Postgre 10.5 and icu

tupadown228 wrote:

Thank you, dude!!!

This topic is five years old and marked solved. Please do not necrobump, especially with an empty post.

Closing.


How to post. A sincere effort to use modest and proper language and grammar is a sign of respect toward the community.

Offline

Board footer

Powered by FluxBB