Hi,
ich hatte bis vor ein paar Tagen eine kleine REST API laufen (Flask) die mit uwsgi und nginx inwandfrei funktionierte.
Dann hab ich mein System geupdatet was dazu geführt hat das uwsgi nicht mehr zu funktionieren scheint.
Wenn ich mein wsgi.py file direkt mt wsgi starte bekomme ich das hier als Fehler:
uwsgi --socket 0.0.0.0:8000 --protocol=http wsgi.py
uwsgi: error while loading shared libraries: libicui18n.so.62: cannot open shared object file: No such file or directory
Ein ldd uwsgi gibt mir folgenden output:
ldd ./venv/bin/uwsgi
linux-vdso.so.1 (0x00007fff3c1dd000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f129194b000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f12917c6000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f12917c1000)
libz.so.1 => /usr/lib/libz.so.1 (0x00007f12915aa000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f1291338000)
libcap.so.2 => /usr/lib/libcap.so.2 (0x00007f1291134000)
libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f1290f2b000)
libjansson.so.4 => /usr/lib/libjansson.so.4 (0x00007f1290d1d000)
libssl.so.1.1 => /usr/lib/libssl.so.1.1 (0x00007f1290c8d000)
libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00007f12909bb000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f1290853000)
liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f129062d000)
libicui18n.so.62 => not found
libicuuc.so.62 => not found
libicudata.so.62 => not found
libutil.so.1 => /usr/lib/libutil.so.1 (0x00007f129060d000)
libpython3.7m.so.1.0 => /usr/lib/libpython3.7m.so.1.0 (0x00007f1290294000)
libcrypt.so.1 => /usr/lib/libcrypt.so.1 (0x00007f129025a000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f1290094000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1291ab2000)
libicuuc.so.63 => /usr/lib/libicuuc.so.63 (0x00007f128fec4000)
libicudata.so.63 => /usr/lib/libicudata.so.63 (0x00007f128e4d6000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f128e347000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f128e32d000)
Heisst das ihm die dynamischen libs
libicui18n.so.62, libicuuc.so.62 und libicudata.so.62 fehlen.
Ein
ls /usr/lib |grep icu gibt mir das hier:
ls /usr/lib/ |grep icu
icu
libharfbuzz-icu.so
libharfbuzz-icu.so.0
libharfbuzz-icu.so.0.20100.0
libicudata.so
libicudata.so.63
libicudata.so.63.1
libicui18n.so
libicui18n.so.63
libicui18n.so.63.1
libicuio.so
libicuio.so.63
libicuio.so.63.1
libicutest.so
libicutest.so.63
libicutest.so.63.1
libicutu.so
libicutu.so.63
libicutu.so.63.1
libicuuc.so
libicuuc.so.63
libicuuc.so.63.1
Alle shared libs sind schon auf der version 63, das deckt sich auch mit was mir
yay -Qs icu ausgibt
local/icu 63.1-2
Nun zur eigentlichen Frage:
wenn ich im venv das Paket uwsgi installiere, dann bringt das ja sein eigenes binary mit, oder?
Das binary greift aber dennoch auf die shared libs in /usr/bin zurück, richtig?
Gibts einen weg neben den .63 shared libs auch die .62 shared libs zu installieren?
Bin für jede Hilfe Dankbar 🙂