Just an FYI I'm using this as a scratchpad for now while I try to document for others what *not* to do when maintaining your own DIY IT Infrastructure.
Background:
I run my own Nextcloud instance on a FreeBSD server I've had for a while now, and have slacked off at paying attention to keeping the packages and base system updated. Rushing through these has introduced an issue attempting to migrate data from postgresql17-server, to postgresql18-server. On hindsight, this could have been avoided by first upgrading the base system, or the version of Postgresql installed separately, but what's done is done and now you get to read how to avoid headaches introduced by not taking the time to read documentation and do things step by step.
Scenario:
On the system running the Nextcloud instance, the base system was upgraded in the following order, starting at 1:
And the versions of Postgresql were upgraded starting from 1 in that same maintenance period:
If we compare the shared library dependencies using the ldd() command, a detailed list with two missing libraries becomes apparent:
I'll post more; time permitting. If anyone has a process, solution. or constructive comment, post below.
Background:
I run my own Nextcloud instance on a FreeBSD server I've had for a while now, and have slacked off at paying attention to keeping the packages and base system updated. Rushing through these has introduced an issue attempting to migrate data from postgresql17-server, to postgresql18-server. On hindsight, this could have been avoided by first upgrading the base system, or the version of Postgresql installed separately, but what's done is done and now you get to read how to avoid headaches introduced by not taking the time to read documentation and do things step by step.
Scenario:
On the system running the Nextcloud instance, the base system was upgraded in the following order, starting at 1:
- FreeBSD 14.2
- FreeBSD 14.4
- FreeBSD 15.1
And the versions of Postgresql were upgraded starting from 1 in that same maintenance period:
- 17.9
- 17.10
- 18.4
ld-elf.so.1: Shared object "libssl.so.30" not found, required by "postgres"If we compare the shared library dependencies using the ldd() command, a detailed list with two missing libraries becomes apparent:
$ ldd /tmp/pg-upgrade/usr/local/bin/postgres
/tmp/pg-upgrade/usr/local/bin/postgres:
libthr.so.3 => /lib/libthr.so.3 (0x384993d48000)
libintl.so.8 => /usr/local/lib/libintl.so.8 (0x38499522d000)
libzstd.so.1 => /usr/local/lib/libzstd.so.1 (0x384994547000)
liblz4.so.1 => /usr/local/lib/liblz4.so.1 (0x384995e10000)
libxml2.so.16 => /usr/local/lib/libxml2.so.16 (0x3849965e7000)
libssl.so.30 => not found (0)
libcrypto.so.30 => not found (0)
libz.so.6 => /lib/libz.so.6 (0x384997ae8000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x38499892d000)
libm.so.5 => /lib/libm.so.5 (0x384998f2d000)
libicui18n.so.76 => /usr/local/lib/libicui18n.so.76 (0x384999900000)
libicuuc.so.76 => /usr/local/lib/libicuuc.so.76 (0x38499a504000)
libc.so.7 => /lib/libc.so.7 (0x38499ade5000)
libsys.so.7 => /lib/libsys.so.7 (0x38499bdf1000)
libelf.so.2 => /lib/libelf.so.2 (0x38499c129000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x384997951000)
libicudata.so.76 => /usr/local/lib/libicudata.so.76 (0x38499caed000)
libc++.so.1 => /lib/libc++.so.1 (0x38499d002000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x38499d6e4000)
[vdso] (0x38499326f000)
$ ldd /usr/local/bin/postgres
/usr/local/bin/postgres:
libthr.so.3 => /lib/libthr.so.3 (0x1205ef36f000)
libintl.so.8 => /usr/local/lib/libintl.so.8 (0x1205ee86f000)
libzstd.so.1 => /usr/local/lib/libzstd.so.1 (0x1205effa6000)
liblz4.so.1 => /usr/local/lib/liblz4.so.1 (0x1205f1969000)
libxml2.so.16 => /usr/local/lib/libxml2.so.16 (0x1205f25c5000)
libssl.so.35 => /usr/lib/libssl.so.35 (0x1205f0d60000)
libcrypto.so.35 => /lib/libcrypto.so.35 (0x1205f3600000)
libz.so.6 => /lib/libz.so.6 (0x1205f52b7000)
libexecinfo.so.1 => /usr/lib/libexecinfo.so.1 (0x1205f57aa000)
libm.so.5 => /lib/libm.so.5 (0x1205f5ad1000)
libicui18n.so.76 => /usr/local/lib/libicui18n.so.76 (0x1205f6023000)
libicuuc.so.76 => /usr/local/lib/libicuuc.so.76 (0x1205f6ae2000)
libc.so.7 => /lib/libc.so.7 (0x1205f4b43000)
libsys.so.7 => /lib/libsys.so.7 (0x1205f7152000)
libelf.so.2 => /lib/libelf.so.2 (0x1205f84b7000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x1205f7472000)
libicudata.so.76 => /usr/local/lib/libicudata.so.76 (0x1205f8c7e000)
libc++.so.1 => /lib/libc++.so.1 (0x1205f9346000)
libcxxrt.so.1 => /lib/libcxxrt.so.1 (0x1205fa0d7000)
[vdso] (0x1205edea5000)
I'll post more; time permitting. If anyone has a process, solution. or constructive comment, post below.