Subject: Postgis raster2pgsql build with libx265-179 for jammy (22.04) but jammy does not ship this version

From: Erwin de Haan <[email-masked]>
Date: Thu, 13 Apr 2023 10:08:30 +0000

Dear maintainers,

I installed the postgis package (version: 3.3.2+dfsg-1.pgdg22.04+1) and this does not depend on libx265-179 but it does seem to require it. 

> raster2pgsql
raster2pgsql: error while loading shared libraries: libx265.so.179: cannot open shared object file: No such file or directory

Now the 179 version is not shipped for 22.04 (https://packages.ubuntu.com/search?keywords=libx265) The closest seems to be 199.
Would it be possible to move the build for 22.04 over to 199?

Kind regards,

Erwin

---

From: Christoph Berg <[email-masked]>
Date: Thu, 13 Apr 2023 11:39:17 -0700

Re: Erwin de Haan
> raster2pgsql: error while loading shared libraries: libx265.so.179: cannot open shared object file: No such file or directory

Hi Erwin,

works for me:

[email-masked]:~ $ raster2pgsql
RELEASE: 3.3.2 GDAL_VERSION=34 (4975da8)

[email-masked]:~ $ ldd /usr/bin/raster2pgsql | grep libx2
	libx265.so.199 => /lib/x86_64-linux-gnu/libx265.so.199 (0x00007fb0b8631000)

Do you perhaps have a locally compiled postgis in /usr/local or the
like?

Christoph

---

From: Erwin de Haan <[email-masked]>
Date: Fri, 14 Apr 2023 08:56:59 +0000

Hi Christoph,

Thank you for your response, your use of ldd triggered finding my way to my solution.
This was my thought process, in the end it was a custom build libheif (build for a custom imagemagick from before an OS upgrade, still on focal). Maybe this little dump of info is useful for someone who gets here via Google.

Alright I did some digging and this is the output for the ldd command for me. I also noticed that actually loading the postgis_raster extension gives the same error in postgresql 15.

$ ldd /usr/lib/postgresql/15/lib/postgis_raster-3.so | grep libx2
        libx265.so.179 => not found
$ ldd /usr/bin/raster2pgsql | grep libx2
        libx265.so.179 => not found

debsums postgresql-15-postgis-3 and debsums postgis give all OK's

$ md5sum /usr/bin/raster2pgsql
6e2debfe1e7cfc85db6073272081639b  /usr/bin/raster2pgsql
$ md5sum /usr/lib/postgresql/15/lib/postgis_raster-3.so
8b5f432aea770b2d45a3f2e271e398b6  /usr/lib/postgresql/15/lib/postgis_raster-3.so

apt-cache show postgis
gives
MD5sum: 4ece3e079d25e11fb4d998012bbc9222

apt-cache show postgresql-15-postgis-3
gives
MD5sum: 95445f1cbf72629238663b744e69820c

And the live deb files:

$ curl -s http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgis/postgresql-15-postgis-3_3.3.2+dfsg-1.pgdg22.04+1_amd64.deb | md5sum
95445f1cbf72629238663b744e69820c  -

$ curl -s http://apt.postgresql.org/pub/repos/apt/pool/main/p/postgis/postgis_3.3.2+dfsg-1.pgdg22.04+1_amd64.deb | md5sum
4ece3e079d25e11fb4d998012bbc9222  -

So that seems to match. The files did come from the official deb http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main source.

So I went to dig further (lddtree was very helpful here), and I think I found the culprit in lib-heif installed by imei (imagemagick builder script) pre distro upgrade. So libgdal30.so loaded that one before the one build for jammy from the package repos.

Because all the hashes seemed to match, I didn't think to go look deeper until the very last moment. I'm sorry for coming to my conclusion so quickly before. lddtree and dpkg -S were really helpful in finding the actual culprit package (imei-libheif in my case). I did want to write a final message because maybe this helps someone who is searching in the future.

Kind regards,

---
Erwin de Haan

-----Original Message-----
From: Christoph Berg <[email-masked]> 
Sent: donderdag 13 april 2023 20:39
To: Erwin de Haan <[email-masked]>
Cc: [email-masked]
Subject: Re: Postgis raster2pgsql build with libx265-179 for jammy (22.04) but jammy does not ship this version

[You don't often get email from [email-masked]. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]

Re: Erwin de Haan
> > raster2pgsql
> raster2pgsql: error while loading shared libraries: libx265.so.179: 
> cannot open shared object file: No such file or directory

Hi Erwin,

works for me:

Do you perhaps have a locally compiled postgis in /usr/local or the like?

Christoph