Fedora OSError libgdal.so undefined symbol GEOSMakeValid_r

Fedora Logo

Kilka dni temu nagle przestał mi się uruchamiać lokalnie projekt w Pythonie, rzucając nie do końca przyjemnym błędem: OSError: /usr/gdal30/lib/libgdal.so.26: undefined symbol: GEOSMakeValid_r. Pierwsze – z jakiegoś dziwnego powodu – co przyszło mi do głowy, to aktualizacja paczek Pythona. Ale nawet odtworzenie czystego venv-a nie rozwiązało problemu. No to nadszedł czas aby wysilić pozostałe dwa zwoje mózgowe trochę bardziej. OSError, OSError… co może być przyczyną błędu związanego z systemem operacyjnym? Ciężko jednoznacznie określić, ale może to system operacyjny? Warto popatrzeć, co tam się ostatnio zmieniło w ramach aktualizacji. Na szczęście Fedora urzekła mnie swoim menedżerem pakietów dnf, mimo że jeszcze rok temu apt-get install było dla mnie synonimem „dwukliku” na plikach *.exe w systemach Windows.
dnf jednak okazał się wyjątkowo pomocny w problematycznej kwestii. (Pamiętać musimy, że poniższe polecenia wywoływane są z wyższymi uprawnieniami, więc uruchamiamy je przez sudo):


dnf list installed | grep -i gdal
#
gdal30-libs.x86_64 3.0.1-4.f29 @pgdg11
# ….
dnf history
#
Ident. | Wiersz poleceń | Data i czas | Działania | Zmien.
——————————————————————————-
297 | update | 2019-11-07 07:49 | Upgrade | 7 EE
296 | update | 2019-11-06 06:51 | I, U | 8 EE
#
dnf history info 297
#
Upgrade    gdal30-libs-3.0.2-1.f29.x86_64                                 @pgdg12
    Upgraded   gdal30-libs-3.0.1-4.f29.x86_64                                 @@System
    Upgrade    postgis25_11-2.5.3-6.f29.x86_64                                @pgdg11
    Upgraded   postgis25_11-2.5.3-5.f29.x86_64                                @@System
#
dnf install gdal30-libs-3.0.1-4.f29.x86_64
dnf history
#
Ident. | Wiersz poleceń | Data i czas | Działania | Zmien.
——————————————————————————-
298 | install gdal30-libs-3.0. | 2019-11-07 08:14 | Downgrade | 2
297 | update | 2019-11-07 07:49 | Upgrade | 7 EE
296 | update | 2019-11-06 06:51 | I, U | 8 EE
#

view raw

oserror.gdal.sh

hosted with ❤ by GitHub

Do rzeczy. Skoro błąd dotyczył biblioteki gdal, to warto było sprawdzić szczegóły tej biblioteki zainstalowanej obecnie w systemie, czyli właśnie: dnf list installed | grep -i gdal. To dało wersję zainstalowanej biblioteki. Kolejne polecenie, dnf history pozwoliło podejrzeć ostatnio wykonywane akcje związane z aktualizacjami. Każda z tych akcji określana jest przez swój numerek, dzięki czemu byliśmy w stanie zajrzeć w szczegóły konkretnej aktualizacji dnf history info <NUMER>. Szaro na czarnym -(w zależności od ustawionych kolorów terminala) widać, z jakiej wersji biblioteka gdal30 została podniesiona do nowszej. Aby wrzucić poprzednią wersję, wystarczyło rozkazać dnf instalację tej konkretnej, poprzedniej wersji dnf install gdal30-libs-3.0.1-4.f29.x86_64, co automagicznie pociągnęło w dół odpowiednie biblioteki zależne – czego szczegóły możemy ponownie zbadać poleceniem dnf history.

2 myśli na temat “Fedora OSError libgdal.so undefined symbol GEOSMakeValid_r

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s

Ta witryna wykorzystuje usługę Akismet aby zredukować ilość spamu. Dowiedz się w jaki sposób dane w twoich komentarzach są przetwarzane.