Eräänlainen pieni painajainen OmniOS:issa

Nyt on 11.06.2025 klo 01:39. Olen säätänyt käytännössä koko illan OmniOS:in parissa.

Sain uusimman Postfix ohjelmiston kääntymään ilman mitään temppuja, mutta EAI-tuki ei ollut mukana. Sen mukaan saamiseksi jouduin kääntämään kolme kirjastoa käsin lähdekoodista eli:

Kaksi noista kääntyi ongelmitta kunhan tajusin käyttää GNU Makea, joka löytyy OmniOS:ista nimellä gmake. Yksi kirjasto vaati jotain pientä puukottamista, jotta se kääntyi OmniOS:issa.

Postfixiä en kuitenkaan saanut käyttämään noita kirjastoja vaikka laitoin C-kääntäjälle -L ja -R optiot, jotta se löytäisi kirjastot /usr/local/lib polusta, jonne asensin ne:

kalevi@omnios:~/src/pf/postfix-3.10.2$ ldd src/postfix/postfix
libpcre2-8.so.0 => /usr/lib/amd64/libpcre2-8.so.0
libresolv.so.2 => /usr/lib/amd64/libresolv.so.2
libsocket.so.1 => /usr/lib/amd64/libsocket.so.1
libnsl.so.1 => /usr/lib/amd64/libnsl.so.1
libdl.so.1 => /usr/lib/amd64/libdl.so.1
libidn2.so.0 => /usr/local/lib/libidn2.so.0
libicuuc.so.74 => /usr/local/lib/libicuuc.so.74
libunistring.so.5 => /usr/local/lib/libunistring.so.5
libc.so.1 => /usr/lib/amd64/libc.so.1
libmd.so.1 => /lib/64/libmd.so.1
libmp.so.2 => /lib/64/libmp.so.2
libicudata.so.74 => (file not found)
libpthread.so.1 => /lib/64/libpthread.so.1
libstdc++.so.6 => /usr/gcc/14/lib/amd64/libstdc++.so.6
libm.so.2 => /lib/64/libm.so.2
libgcc_s.so.1 => /usr/gcc/14/lib/amd64/libgcc_s.so.1

En yhtään tiedä miksi libicudata.so.74 kirjasto ei löydy. Nimittäin se on kyllä siellä missä muutkin kirjastot:

kalevi@omnios:~/src/pf/postfix-3.10.2$ ls -l /usr/local/lib/libicudata.so.74
lrwxrwxrwx 1 root root 18 Jun 11 00:29 /usr/local/lib/libicudata.so.74 -> libicudata.so.74.2
kalevi@omnios:~/src/pf/postfix-3.10.2$ ls -l /usr/local/lib/libicudata.so.74.2
-rwxr-xr-x 1 root root 31863904 Jun 11 00:29 /usr/local/lib/libicudata.so.74.2

Laitoin crle komennolla polun /usr/local/lib runtime linkerin hakupolkuun, mutta sekään ei auttanut.

Tämä kirjastojen käsin kääntäminen ja säätäminen ei ole järjestelmäylläpidon nykypäivää. Tätä joutui joskus vuosikausia sitten tekemään kaupallisissa UNIX-käyttöjärjestelmissä, sillä niissä ei aina ollut järkevää paketinhallintaa tai jos olikin, niin softarepositoryissä ei välttämättä ollut kovinkaan paljon modernia sisältöä.

Muistan kun reilut 20 vuotta sitten Digital UNIX/Tru64 ympäristössä piti itse kääntää uusi OpenSSL, ModSSL ja Apache käsin. Samoin Sendmail. Se oli todella rasittavaa puuhaa, mutta opetti tietenkin jotakin systeemin toiminnasta hiukan syvemmällä tasolla kuin pelkkä pakettien asentaminen dnf tai pkg paketinhallintaohjelmilla.

Luulen, että en jaksa taistella Postfixin ja EAI:n kanssa tämän enempää.

Vaikka PostgreSQL 17.5 asentuikin ongelmitta OmniOS:issa, niin vaikuttaa siltä, että tämä käyttöjärjestelmä on hyödyllinen lähinnä luotettavana virtualisointialustana. Sen päällä voi ajaa vaikka Linux- tai FreeBSD-virtuaalikoneita.