@ElektrodaBot - mam komputer z Linux-em Manjaro, nie zainstalowano na nim pakietu "screen", który chciałbym mieć; przy próbie instalacji przez "pacman -Syu screen" wystąpił błąd, i "screen" nie działa, bo biblioteka /usr/lib/libc.so.6 jest w zbyt starej wersji; co zrobić, żeby zaktualizować tę bibliotekę?
@ElektrodaBot - mam komputer z Linux-em Manjaro, nie zainstalowano na nim pakietu "screen", który chciałbym mieć; przy próbie instalacji przez "pacman -Syu screen" wystąpił błąd, i "screen" nie działa...
Bezpośrednia odpowiedź - Nie aktualizuj ręcznie samej /usr/lib/libc.so.6. W Manjaro tę bibliotekę (glibc) aktualizuje się wyłącznie w ramach pełnej, spójnej aktualizacji całego systemu. - Najczęściej wystarczy: odświeżyć mirrory, zaktualizować keyringi i wykonać pełne `pacman -Syu`, a dopiero potem doinstalować `screen`. - Jeśli aktualizacja się wykrzacza, podaj dokładne komunikaty; w zależności od błędu są różne, bezpieczne procedury naprawy (poniżej).
Szczegółowa analiza i kroki naprawcze
Dlaczego widzisz błąd „libc.so.6 za stara” - `screen` został zbudowany z nowszą glibc niż ta obecnie w Twoim systemie. To klasyczny efekt „partial upgrade” (częściowej aktualizacji) w rolling‑release: część pakietów pochodzi z nowszego stanu repo, reszta – ze starego. - Rozwiązanie: doprowadzić cały system do jednego, spójnego stanu – czyli pełna aktualizacja.
Krok 0 – weryfikacja (nie wymaga uprawnień roota)
Kod: text
Zaloguj się, aby zobaczyć kod
- Wyniki wklej proszę w odpowiedzi – pomogą dobrać dalsze kroki.
Krok 1 – odświeżenie mirrorów i gałęzi (branch) Upewnij się, że jesteś na „stable” i używasz aktualnych serwerów lustrzanych:
Krok 3 – pełna, spójna aktualizacja systemu Najpierw aktualizacja CAŁEGO systemu, bez doinstalowywania niczego dodatkowego:
Kod: text
Zaloguj się, aby zobaczyć kod
Po powodzeniu – restart:
Kod: text
Zaloguj się, aby zobaczyć kod
Następnie dopiero instalacja `screen`:
Kod: text
Zaloguj się, aby zobaczyć kod
Typowe problemy i ich bezpieczne obejścia - Brak miejsca na dysku:
Kod: text
Zaloguj się, aby zobaczyć kod
- „invalid or corrupted package (PGP signature)”: patrz Krok 2 (keyring). - „failed to commit transaction (conflicting files)”: NIE usuwaj ręcznie plików glibc. Podaj dokładny konflikt – zwykle rozwiązuje się to przez reinstalację kolidującego pakietu lub jednorazowe `--overwrite` dla plików niekrytycznych (nigdy dla libc). - Zatrzymana aktualizacja na „manual intervention” (np. glibc‑locales): wykonaj wskazaną, jednorazową komendę (np. `sudo pacman -S glibc-locales`), po czym ponownie `sudo pacman -Su`.
Gdy pacman działa, ale `screen` nadal krzyczy o GLIBC_x.y Możesz mieć „ekstra” pakiet z innego źródła: - Sprawdź pakiety „obce” (AUR/rekopilacje):
Kod: text
Zaloguj się, aby zobaczyć kod
Jeśli `screen` jest z AUR lub spoza oficjalnych repo – usuń i zainstaluj z oficjalnego repo Manjaro. - Doraźnie można zainstalować starszą wersję `screen` dopasowaną do obecnej glibc (tylko jako tymczasowy workaround):
Kod: text
Zaloguj się, aby zobaczyć kod
lub narzędziem `downgrade` (jeśli je znasz). Docelowo i tak zrób pełny update.
Gdy pacman NIE startuje (skrajny przypadek) Zdarza się rzadko, gdy cały toolchain jest rozjechany. - Najbezpieczniej: LiveUSB Manjaro → chroot do zainstalowanego systemu → pełna aktualizacja. 1) Boot z LiveUSB, terminal:
Kod: text
Zaloguj się, aby zobaczyć kod
2) W chroot:
Kod: text
Zaloguj się, aby zobaczyć kod
- Alternatywa dla zaawansowanych: pacman-static (binarka niezależna od systemowej glibc) – użyj tylko, jeśli wiesz co robisz.
Czego NIE robić - Nie kopiuj/nie podmieniaj ręcznie pliku `/usr/lib/libc.so.6`. - Nie próbuj aktualizować samej glibc „na siłę” bez reszty systemu. - Nie mieszaj gałęzi (stable/testing/unstable) ani repo Arch z repo Manjaro.
Dobre praktyki na przyszłość - Zawsze najpierw: `sudo pacman -Syu`, potem instalacja nowych pakietów. - Regularne aktualizacje (rolling release), śledzenie ogłoszeń „Stable Update”. - Rozważ `tmux` jako nowocześniejszą alternatywę dla `screen`:
Kod: text
Zaloguj się, aby zobaczyć kod
Prośba o dane diagnostyczne Jeśli aktualizacja nadal się wykrzacza, wklej: - pełny komunikat błędu z `pacman -Su`, - wyniki: `pacman -Q glibc`, `ldd --version`, `pacman -Qm`, - wynik: `pacman-mirrors --api --status` (potwierdzimy gałąź i mirrory), - ile masz wolnego miejsca: `df -h /`.
Na tej podstawie podam precyzyjny, bezpieczny zestaw komend dla Twojego przypadku.
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
@ElektrodaBot "pacman -Q glibc" odpowiada "glibc 2.36-4.0"; "ldd --version" - "ldd (GNU libc) 2.36" + GNU copyright; "pacman -Q screen" - "screen 5.0.1-3"; screen chce GLIBC_2.38; "pacman-mirrors -G" odpowiada "stable".
"sudo pacman -Su" pyta o reinstalację każdego pakietu (domyślna odpowiedź jest twierdząca), dla "qt6-multimedia-backend" pyta, czy to ma być "qt6-multimedia-ffmpeg", czy "qt6-multimedia-gstreamer", domyślna jest pierwsza odpowiedź i tę wybieram, na koniec pisze:
Kod: less
Zaloguj się, aby zobaczyć kod
Cała lista pytań wygląda tak:
Kod: less
Zaloguj się, aby zobaczyć kod
Pakiety kvantum i libxml2, które są wymienione w komunikacie o błędzie, nie występują na liście pytań.
@ElektrodaBot "pacman -Q glibc" odpowiada "glibc 2.36-4.0"; "ldd --version" - "ldd (GNU libc) 2.36" + GNU copyright; "pacman -Q screen" - "screen 5.0.1-3"; screen chce GLIBC_2.38; "pacman-mirrors -G" odpowiada "stable".
"sudo pacman -Su" pyta o reinstalację każdego pakietu (domyślna odpowiedź jest twierdząca), dla "qt6-multimedia-backend" pyta, czy to ma być "qt6-multimedia-ffmpeg", czy "qt6-multimedia-gstreamer", domyślna jest pierwsza odpowiedź i tę wybieram, na koniec pisze: looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing kvantum (1.1.5-1) breaks dependency 'kvantum-qt5' required by kvantum-theme-matchama
:: installing libxml2 (2.15.1-4) breaks dependency 'libxml2.so=2-64' required by rest
Cała lista pytań wygląda tak: $ sudo pacman -Su
:: Starting full system upgrade...
:: Replace attica with extra/attica5? [Y/n]
:: Replace bashrc-manjaro with core/bash? [Y/n]
:: Replace dbus-python with extra/python-dbus? [Y/n]
:: Replace kactivities with extra/kactivities5? [Y/n]
:: Replace kactivities with extra/plasma-activities? [Y/n]
:: Replace karchive with extra/karchive5? [Y/n]
:: Replace kauth with extra/kauth5? [Y/n]
:: Replace kbookmarks with extra/kbookmarks5? [Y/n]
:: Replace kcodecs with extra/kcodecs5? [Y/n]
:: Replace kcompletion with extra/kcompletion5? [Y/n]
:: Replace kconfig with extra/kconfig5? [Y/n]
:: Replace kconfigwidgets with extra/kconfigwidgets5? [Y/n]
:: Replace kcoreaddons with extra/kcoreaddons5? [Y/n]
:: Replace kcrash with extra/kcrash5? [Y/n]
:: Replace kdbusaddons with extra/kdbusaddons5? [Y/n]
:: Replace kded with extra/kded5? [Y/n]
:: Replace kglobalaccel with extra/kglobalaccel5? [Y/n]
:: Replace kguiaddons with extra/kguiaddons5? [Y/n]
:: Replace ki18n with extra/ki18n5? [Y/n]
:: Replace kiconthemes with extra/kiconthemes5? [Y/n]
:: Replace kio with extra/kio5? [Y/n]
:: Replace kitemmodels with extra/kitemmodels5? [Y/n]
:: Replace kitemviews with extra/kitemviews5? [Y/n]
:: Replace kjobwidgets with extra/kjobwidgets5? [Y/n]
:: Replace knewstuff with extra/knewstuff5? [Y/n]
:: Replace knotifications with extra/knotifications5? [Y/n]
:: Replace kpackage with extra/kpackage5? [Y/n]
:: Replace kparts with extra/kparts5? [Y/n]
:: Replace kservice with extra/kservice5? [Y/n]
:: Replace ktexteditor with extra/ktexteditor5? [Y/n]
:: Replace ktextwidgets with extra/ktextwidgets5? [Y/n]
:: Replace kwallet with extra/kwallet5? [Y/n]
:: Replace kwidgetsaddons with extra/kwidgetsaddons5? [Y/n]
:: Replace kwindowsystem with extra/kwindowsystem5? [Y/n]
:: Replace kxmlgui with extra/kxmlgui5? [Y/n]
:: Replace lib32-libva-mesa-driver with multilib/lib32-mesa? [Y/n]
:: Replace libappindicator-gtk3 with extra/libappindicator? [Y/n]
:: Replace libindicator-gtk3 with extra/libindicator? [Y/n]
:: Replace libva-mesa-driver with extra/mesa? [Y/n]
:: Replace linux-firmware with core/linux-firmware-meta? [Y/n]
:: Replace mlocate with extra/plocate? [Y/n]
:: Replace p7zip with extra/7zip? [Y/n]
:: Replace sdl2 with extra/sdl2-compat? [Y/n]
:: Replace solid with extra/solid5? [Y/n]
:: Replace sonnet with extra/sonnet5? [Y/n]
:: Replace syndication with extra/syndication5? [Y/n]
:: Replace syntax-highlighting with extra/syntax-highlighting5? [Y/n]
:: Replace tracker3 with extra/tinysparql? [Y/n]
:: Replace webrtc-audio-processing with extra/webrtc-audio-processing-0.3? [Y/n]
resolving dependencies...
:: There are 2 providers available for qt6-multimedia-backend:
:: Repository extra
1) qt6-multimedia-ffmpeg 2) qt6-multimedia-gstreamer
Enter a number (default=1):
Pakiety kvantum i libxml2, które są wymienione w komunikacie o błędzie, nie występują na liście pytań.
Bezpośrednia odpowiedź - Blokadę pełnej aktualizacji (a więc i podbicia glibc) robią dwa pakiety: kvantum-theme-matchama (trzyma Qt5-owy „kvantum-qt5”) oraz rest (zależny od starego ABI libxml2). Usuń je tymczasowo, zrób pełny upgrade, zrestartuj i dopiero wtedy doinstaluj/odśwież `screen`. - Sekwencja w skrócie: 1) sudo pacman -Rns kvantum-theme-matchama sudo pacman -Rns rest (lub skasadowo, jeśli coś go trzyma) 2) sudo pacman-mirrors --set-branch stable --fasttrack 5 && sudo pacman -Syy sudo pacman -Sy manjaro-keyring archlinux-keyring 3) sudo pacman -Syu (na pytania „Replace … with …?” – Enter/TAK, backend: 1) ffmpeg) 4) sudo reboot 5) sudo pacman -S screen - Jeśli usunięcie `rest` wymaga odinstalowania paru GNOME-owych bibliotek – zgódź się (to biblioteka „od REST”), później je najwyżej doinstalujesz.
Poniżej szczegóły i warianty bezpiecznego przejścia.
---
Szczegółowa analiza i plan naprawy
Co się dzieje technicznie - Masz `glibc 2.36` i `screen 5.0.1-3`, który był budowany przeciw nowszej glibc (woła o GLIBC_2.38). To typowy efekt „partial upgrade”: repozytoria są nowsze niż Twój system. - Próba pełnej aktualizacji (`pacman -Su`) zatrzymuje się w fazie rozwiązywania zależności na: - Kvantum: nowy `kvantum (Qt6)` zastępuje dawny wariant dla Qt5, a zainstalowany motyw `kvantum-theme-matchama` nadal wymaga „kvantum-qt5”. - libxml2: nowy `libxml2` zmienia dostarczane symbole/ABI, a zainstalowany `rest` wymaga starego „libxml2.so=2-64”. `rest` musi zostać zaktualizowany lub usunięty przed podbiciem libxml2.
To normalne przy dużych skokach (u Ciebie dodatkowo występuje migracja pakietów KDE/Qt – pytania „Replace … with …5”/KF5 to efekt porządków nazw).
Krok 0 – szybka diagnostyka (opcjonalnie) Sprawdź, czy `rest` i/lub `kvantum-theme-matchama` są pakietami „obcymi” (AUR/stare buildy):
Kod: text
Zaloguj się, aby zobaczyć kod
Jeśli któryś jest „foreign” – tym bardziej usuń go przed aktualizacją.
- Biblioteka `rest`: - jeśli nie używasz GNOME/GOA i zależności są drugorzędne:
Kod: text
Zaloguj się, aby zobaczyć kod
(cascade – usunie `rest` i pakiety, które go wymagają; zobacz listę przed potwierdzeniem) - jeśli chcesz minimalnie ingerować:
Kod: text
Zaloguj się, aby zobaczyć kod
Jeżeli pacman zgłosi, że coś jeszcze wymaga `rest`, zdecyduj: albo akceptujesz ich usunięcie (cascade), albo przerwij i podaj listę – dobierzemy selektywnie.
Uwaga: nie używaj tu „-Rdd” na ślepo. Pozostawienie złamanych zależności może utrudnić kolejną transakcję.
Krok 2 – klucze i mirrory
Kod: text
Zaloguj się, aby zobaczyć kod
W razie problemów z podpisami:
Kod: text
Zaloguj się, aby zobaczyć kod
Krok 3 – pełna aktualizacja
Kod: text
Zaloguj się, aby zobaczyć kod
- Na wszystkie „Replace X with Y?” – zostaw domyślne TAK (Enter). - Dla „qt6-multimedia-backend” – wybór 1) ffmpeg (domyślnie) jest dobry.
Jeśli pojawi się nowy, podobny konflikt z jakimś motywem/pluginem – mechanika ta sama: tymczasowo odinstaluj kolidujący dodatek i wróć do aktualizacji.
Po zakończeniu:
Kod: text
Zaloguj się, aby zobaczyć kod
Sprawdź:
Kod: text
Zaloguj się, aby zobaczyć kod
Powinna być ≥ 2.38 (najpewniej 2.39/2.40 w bieżącej „stable”).
Krok 4 – `screen` i ewentualne przywrócenia
Kod: text
Zaloguj się, aby zobaczyć kod
Jeśli chcesz wrócić do Kvantum/Matchama – poszukaj wariantu zgodnego z nowym Kvantum:
Kod: text
Zaloguj się, aby zobaczyć kod
`rest` zwykle doinstaluje się sam wraz z pakietami, które go teraz potrzebują (już przebudowanymi pod nowe libxml2). W razie potrzeby:
Kod: text
Zaloguj się, aby zobaczyć kod
---
Typowe pytania/wątpliwości
- Dlaczego `kvantum`/`libxml2` nie pojawiły się wcześniej na liście pytań, a błędy wyskoczyły dopiero „na końcu”? Pacman najpierw proponuje zamiany nazw (Replace), a dopiero potem sprawdza globalną spójność zależności. Konflikty, które widzisz, to efekt tej drugiej fazy.
- Czy mogę „pominąć” `rest` przełącznikiem `--ignore`? Nie. Aktualizacja `libxml2` przy wciąż zainstalowanym `rest` złamie zależności – pacman tego nie przepuści. `rest` trzeba zaktualizować lub zdjąć.
- Czy jest sens używać `pacman -Syyuu`? Tylko przy świadomej zmianie gałęzi lub jeśli w oficjalnym ogłoszeniu jest zalecenie „downgrade”. W Twoim przypadku – nie.
---
Weryfikacja po naprawie - Wersja glibc:
Kod: text
Zaloguj się, aby zobaczyć kod
- Co dokładnie wymaga nowej glibc w screen:
Kod: text
Zaloguj się, aby zobaczyć kod
---
Gdyby aktualizacja dalej się wykładała Wklej proszę końcówkę z:
Kod: text
Zaloguj się, aby zobaczyć kod
oraz:
Kod: text
Zaloguj się, aby zobaczyć kod
Na tej podstawie podam precyzyjne komendy (ew. selektywny „cascade remove” lub jednorazowe zastępstwa).
---
Na przyszłość - Zasada rolling release: najpierw pełny update (`sudo pacman -Syu`), dopiero potem instalacja nowych pakietów. - Przy dużych przeskokach (KF5→KF6, zmiany ABI) warto zajrzeć do ogłoszeń „Stable Update” Manjaro – często opisują wymagane interwencje. - Jeśli `screen` nie jest krytyczny, rozważ `tmux`:
Kod: text
Zaloguj się, aby zobaczyć kod
Daj znać, czy zdjęcie `kvantum-theme-matchama` i `rest` pozwoliło przejść aktualizację do końca i czy `glibc` wskoczyła na ≥ 2.38.
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
@ElektrodaBot - może to jest istotne: zawartość pliku "/etc/lsb-release"
Kod: less
Zaloguj się, aby zobaczyć kod
Jeszcze co do wolnego miejsca i "tmux": partycja ma 196 GiB (204845056 KiB), z tego użytych jest 16 GiB (15897928 KiB), wolnych 171 GiB (178468744 KiB) - ponad 90% jest wolne, więc nie powinno być problemów z miejscem; "tmux" wymaga GLIBC_2.38, GLIBC_2.42, NCURSES6_TINFO_6.5.20240427 - jeszcze więcej, niż "screen".
@ElektrodaBot - może to jest istotne: zawartość pliku "/etc/lsb-release" DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=22.0.0
DISTRIB_CODENAME=Sikaris
DISTRIB_DESCRIPTION="Manjaro Linux"
Jeszcze co do wolnego miejsca i "tmux": partycja ma 196 GiB (204845056 KiB), z tego użytych jest 16 GiB (15897928 KiB), wolnych 171 GiB (178468744 KiB) - ponad 90% jest wolne, więc nie powinno być problemów z miejscem; "tmux" wymaga GLIBC_2.38, GLIBC_2.42, NCURSES6_TINFO_6.5.20240427 - jeszcze więcej, niż "screen".
Bezpośrednia odpowiedź - Twój system to Manjaro 22.0.0 „Sikaris” (z końca 2022 r.), więc ma stare biblioteki bazowe (glibc 2.36, ncurses < 6.5). Wymagania `screen` (GLIBC_2.38) i `tmux` (GLIBC_2.42, NCURSES 6.5) potwierdzają, że konieczna jest pełna aktualizacja całego systemu, a nie „ręczne” podbijanie samej libc. - Aktualizacja blokuje się przez dwa pakiety: `kvantum-theme-matchama` (wymusza stary `kvantum-qt5`) i `rest` (wymusza stare ABI `libxml2`). Usuń je tymczasowo, zaktualizuj system, zrestartuj, potem doinstaluj `screen`/`tmux`.
Plan naprawy krok po kroku (bezpieczny) 1) Usuń blokery (zobaczysz listy zależności – przeczytaj i potwierdź):
Kod: text
Zaloguj się, aby zobaczyć kod
2) Odśwież mirrory i klucze, zsynchronizuj bazy:
Kod: text
Zaloguj się, aby zobaczyć kod
3) Pełna aktualizacja (zaakceptuj wszystkie „Replace … with …?”; dla backendu wybierz domyślne 1) ffmpeg):
Kod: text
Zaloguj się, aby zobaczyć kod
4) Restart:
Kod: text
Zaloguj się, aby zobaczyć kod
5) Weryfikacja i instalacja:
Kod: text
Zaloguj się, aby zobaczyć kod
Co wynika z Twoich danych i dlaczego to zadziała - Plik /etc/lsb-release pokazuje wydanie 22.0.0 „Sikaris” → system nie był aktualizowany ~3 lata. W rolling‑release to oznacza skok wielu ABI (glibc, libxml2, ncurses, Qt/KF). - `tmux` woła nawet o GLIBC_2.42 i symbole NCURSES 6.5 z 2024‑04‑27, więc i tak musisz mieć nowe biblioteki bazowe – samo „dołożenie” `screen` nic nie da. - Błąd z transakcji: - „installing kvantum (1.1.5-1) breaks dependency ‘kvantum-qt5’ required by kvantum-theme-matchama” → zdejmij motyw. - „installing libxml2 breaks dependency ‘libxml2.so=2-64’ required by rest” → zdejmij `rest` (i ew. jego zależności). - Dlatego jedyną sensowną drogą jest usunięcie tych dwóch blokerów, pełny update i reboot.
Gdyby nadal wystąpiły problemy - Pokaż końcówkę logu aktualizacji:
Kod: text
Zaloguj się, aby zobaczyć kod
- I wyniki:
Kod: text
Zaloguj się, aby zobaczyć kod
Na tej podstawie podam precyzyjne komendy (ew. selektywne usunięcie kolejnych dodatków blokujących transakcję).
Na przyszłość - Zasada: najpierw pełny update (`sudo pacman -Syu`), dopiero potem instalacja nowych pakietów. - Po dużych skokach (Qt/KF, ncurses, libxml2, glibc) czytaj ogłoszenia „Stable Update” i wykonuj wymagane „manual interventions”. - Nie podmieniaj ręcznie `/usr/lib/libc.so.6` i nie próbuj aktualizować samej glibc poza menedżerem pakietów.
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
Ale w Arch. Manjaro to nie Arch. Podejrzewam - może nie słusznie, gdyż należało by obstawiać - że system po propozycji elektrodabot, zwyczajnie się posypie.
Jeśli potrzebujesz czegoś bardzo blisko Arch, to polecam EndeavourOs. Jeśli jednak musi być Manjaro, to Mabox gdzie możesz złapać bezpośredni kontakt z twórcą.
Właśnie zainstalowałem "tk" - też potrzebuje nowszej biblioteki. Przywykłem do Ubuntu, nie przypominam sobie, by tam były takie problemy - jeśli aplikacja wymagała nowszej biblioteki, to instalator albo aktualizował bibliotekę, albo alarmował, że nowa aplikacja nie pasuje do starych bibliotek, i informował, co można z tym zrobić.
A czy tu dałoby się zainstalować (używając pacman-a) starsze wersje aplikacji, które by działały z tymi bibliotekami, które mam w systemie?
Potrzebuję czegoś prostego do robienia grafiki - a tu Tk nie działa, tkinter w Python-ie też...
@ElektrodaBot - czy jest jakaś biblioteka, która pozwoliłaby w tym Manjaro prosty sposób pokazywać obrazek z programu, i rozpoznawać klikanie myszą?
Jakaś alternatywa, to utworzyć katalog z Ubuntu (pytanie, którą wersją - mam kermel-a 5.15.71-1-MANJARO) i zrobić do niego chroot - tylko wtedy albo SSH do tego Ubuntu, albo jakoś trzeba przekazać dostęp do sesji graficznej, żeby program z tego Ubuntu mógł coś pokazywać?
Właśnie zainstalowałem "tk" - też potrzebuje nowszej biblioteki. Przywykłem do Ubuntu, nie przypominam sobie, by tam były takie problemy - jeśli aplikacja wymagała nowszej biblioteki, to instalator albo aktualizował bibliotekę, albo alarmował, że nowa aplikacja nie pasuje do starych bibliotek, i informował, co można z tym zrobić.
A czy tu dałoby się zainstalować (używając pacman-a) starsze wersje aplikacji, które by działały z tymi bibliotekami, które mam w systemie?
Potrzebuję czegoś prostego do robienia grafiki - a tu Tk nie działa, tkinter w Python-ie też...
@ElektrodaBot - czy jest jakaś biblioteka, która pozwoliłaby w tym Manjaro prosty sposób pokazywać obrazek z programu, i rozpoznawać klikanie myszą?
Jakaś alternatywa, to utworzyć katalog z Ubuntu (pytanie, którą wersją - mam kermel-a 5.15.71-1-MANJARO) i zrobić do niego chroot - tylko wtedy albo SSH do tego Ubuntu, albo jakoś trzeba przekazać dostęp do sesji graficznej, żeby program z tego Ubuntu mógł coś pokazywać?
Bezpośrednia odpowiedź - W Manjaro (rolling release) instalowanie „starszych wersji” pakietów pod starą glibc 2.36 jest możliwe tylko awaryjnie (snapshot archiwum Manjaro lub lokalny cache) i jest to stan niezalecany, bo utrwala „partial upgrade”. - Najprostszą drogą „tu i teraz”, żeby wyświetlać obraz i łapać kliknięcia bez dotykania systemowych bibliotek: użyj wirtualnego środowiska Pythona i zainstaluj koła (wheels) z PyPI, które przychodzą z własnymi binariami (np. PyQt5 albo pygame). Te koła są budowane na manylinux i zwykle działają na glibc 2.36. - Alternatywa izolowana: chroot/containers (debootstrap Ubuntu 22.04 i X11 do hosta). Działa stabilnie, ale to kilka kroków więcej. - Docelowo i tak warto odblokować pełną aktualizację (usunąć kvantum-theme-matchama i rest) – wtedy Tk/tkinter, screen, tmux ruszą normalnie.
---
Szybkie rozwiązanie bez aktualizacji systemu: Python + wheels (venv)
Poniżej dwa warianty, które działają bez systemowego Tk i bez „podbijania” glibc.
Uwagi: - Koło PyQt5 z PyPI dostarcza własne biblioteki Qt (nie korzysta z Twojego systemowego Qt), więc omijasz problem „tk/tkinter wymaga nowszej glibc”. - Jeśli okno nie startuje pod Wayland: uruchom sesję Xorg lub ustaw zmienną QT_QPA_PLATFORM=xcb.
Pygame ma własne, zlinkowane binaria (SDL), więc na starym Manjaro zwykle działa bez problemu.
---
Czy „da się” doinstalować starsze wersje pakietów przez pacman? Da się, ale z pełną świadomością ryzyka (utrwalasz stary stan i utrudniasz późniejszą naprawę). Dwie techniki:
- Z lokalnego cache:
Kod: text
Zaloguj się, aby zobaczyć kod
Jeśli masz tam stare wersje – instalujesz „jak jest”.
- Z archiwum Manjaro (snapshop z epoki Manjaro 22.0 „Sikaris”, np. 2022-12): 1) Zrób kopię: sudo cp /etc/pacman.d/mirrorlist{,.bak} 2) W /etc/pacman.d/mirrorlist ustaw JEDEN serwer, np.:
Kod: Text
Zaloguj się, aby zobaczyć kod
3) Odśwież bazy i zainstaluj konkretne stare pakiety (tk, tcl, python-tkinter), najlepiej w jednej transakcji:
Kod: text
Zaloguj się, aby zobaczyć kod
4) Opcjonalnie „zamroź” je, by przypadkiem nie uaktualnić: - w /etc/pacman.conf → [options] dodaj: IgnorePkg = tk tcl python-tkinter 5) Po operacji przywróć normalne mirrory (plik mirrorlist z kopii .bak).
Minusy: - Każda kolejna biblioteka/aplikacja może wymagać „dopasowania” wersji z tego samego snapshotu. - Brak łatek bezpieczeństwa i rosnąca trudność utrzymania.
Z punktu widzenia praktyki na Manjaro – to obejście „na chwilę”, nie strategia długofalowa.
---
Chroot z Ubuntu – gdy chcesz kompletnie odizolować zależności Działa dobrze do odpalenia narzędzi graficznych z „innego świata” bibliotek.
1) Przygotowanie środowiska (Ubuntu 22.04 LTS – kompatybilne z Twoim kernelem 5.15):
Kod: text
Zaloguj się, aby zobaczyć kod
2) Montowania i grafika (X11):
Kod: text
Zaloguj się, aby zobaczyć kod
Uwagi: - Jeśli siedzisz na Wayland, XWayland zwykle i tak działa, więc powyższe nadal zadziała. Dla natywnego Wayland możesz zamiast X11 zmapować gniazdo: `--bind $XDG_RUNTIME_DIR/wayland-0` i ustawić `export WAYLAND_DISPLAY=wayland-0`. - Dla wygody rozważ użycie systemd-nspawn/distrobox (jeśli masz) – prościej integrują pulpit niż „goły” chroot.
---
Dlaczego na Ubuntu „się zgadzało”, a tu nie - Ubuntu (fixed release) kompiluje programy pod LIBC i biblioteki „zamrożone” dla danego wydania – dlatego apt dobiera pasujące wersje z tej sameej „epoki”. - Manjaro (rolling) zakłada, że masz na bieżąco cały system. Gdy Twój system jest z 2022 r., a próbujesz instalować pakiety z 2025 r., kompilowane pod nowsze glibc/ncurses/Qt – kończy się to błędami wersji symboli (GLIBC_x.y, NCURSES6_TINFO_x.y…).
---
Rekomendacja końcowa - Jeśli chcesz szybko ruszyć z grafiką: wybierz jeden z wariantów „venv + PyQt5” lub „venv + pygame” – to powinno zadziałać od ręki na Twojej glibc 2.36. - Jeżeli zostajesz z Manjaro – naprawdę warto dokończyć pełną aktualizację (usuń blokery kvantum-theme-matchama i rest; potem `pacman -Syu`, reboot). To w praktyce rozwiąże wszystkie bieżące problemy (Tk/tkinter, screen, tmux). - Jeśli wolisz odizolować środowisko bez ruszania hosta – chroot Ubuntu 22.04 według powyższych kroków.
Gdyby któryś wariant się potknął (pip próbuje kompilować, błąd Qt plugin „xcb”, brak okna pod Wayland), wklej proszę komunikat błędu i wynik: - echo $XDG_SESSION_TYPE - python --version; pip --version - ldd --version Podam wtedy dokładne poprawki (zmienne środowiskowe Qt, brakujące liby XCB, itp.).
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
A czy tu dałoby się zainstalować (używając pacman-a) starsze wersje aplikacji, które by działały z tymi bibliotekami, które mam w systemie?
Niestety ciąg zależności wymaga, aby wszystko do siebie pasowało. Jednym sposobem było by byc może, użycie aplikacji - jeśli jest - z AUR. Wtedy nie musiał byś tego wcale aktualizować, pod warunkiem że nie było by zależności z główną gałęzią. Ewentualnie wyłączyć z aktualizacji aplikację, wraz jej zależnościami, robiąc jednocześnie w ten sposób z systemu, mega nie stabilne pole minowe Jeśli potrzebujesz dostepu do starszych wersji paczek, to może zainteresuj się Mx Linux.
@ElektrodaBot - a może dałoby się napisać cały program w C i skompilować go statycznie - tak, by nie potrzebował żadnych bibliotek? Czego użyć, by taki program był możliwie prosty? Około 20 lat temu napisałem jakiś program pokazujący grafikę używając tylko dość prymitywnych bibliotek, ale pisanie programu w taki sposób było bardzo skomplikowane. Dość łatwo pisało się programy do X11 używając biblioteki FLTK,
ElektrodaBot napisał:
Docelowo i tak warto odblokować pełną aktualizację (usunąć kvantum-theme-matchama i rest)
A co zależy od tych programów i po ich usunięciu przestanie działać?
@ElektrodaBot - a może dałoby się napisać cały program w C i skompilować go statycznie - tak, by nie potrzebował żadnych bibliotek? Czego użyć, by taki program był możliwie prosty? Około 20 lat temu napisałem jakiś program pokazujący grafikę używając tylko dość prymitywnych bibliotek, ale pisanie programu w taki sposób było bardzo skomplikowane. Dość łatwo pisało się programy do X11 używając biblioteki FLTK,
A co zależy od tych programów i po ich usunięciu przestanie działać?
Bezpośrednia odpowiedź - „Całkiem statyczny” program graficzny na desktopowym Linuksie jest możliwy tylko w bardzo ograniczonych wariantach. W praktyce: - statyczne linkowanie z glibc i X11/Wayland prawie zawsze się wyłoży (dystrybucje zwykle nie dostarczają bibliotek X statycznych; dochodzą problemy z NSS/locale w glibc), - najprostsze i działające od ręki na Twoim Manjaro 22.0 (glibc 2.36) jest: mały program w C na Xlib (dynamicznie do libX11, która już jest w systemie) + wczytanie obrazka z „single‑header” (np. stb_image) – zero nowych pakietów, prosta obsługa kliknięć. - Jeśli jednak koniecznie chcesz „prawie zero zależności”, to w pełni statyczny binarek uzyskasz najłatwiej z musl i bez X/Wayland (DRM/KMS + evdev), ale to jest wyraźnie trudniejsze i mało wygodne na desktopie. - Co przestanie działać po usunięciu: - kvantum-theme-matchama – nic „funkcjonalnego”; to motyw. Aplikacje Qt po prostu wrócą do domyślnego wyglądu. - rest (librest) – element ekosystemu GNOME: konta online (GOA), Evolution Data Server, czasem wtyczki Grilo. Na KDE/Xfce zwykle bez konsekwencji; na GNOME znikną integracje kont do czasu ponownej instalacji nowej wersji po aktualizacji systemu. - Konkret u Ciebie sprawdzisz: pactree -r kvantum-theme-matchama; pactree -r rest; pacman -Qi … (polecenia niżej).
---
Najprostszy program w C: Xlib + obraz + kliknięcia (bez doinstalowywania czegokolwiek) Założenia: masz libX11 (typowe na Manjaro), gcc i base-devel.
Uwagi: - Zadziała zarówno na Xorg, jak i na Wayland (przez XWayland). Jeśli okno się nie pojawia, sprawdź czy sesja to Xorg/Wayland: echo $XDG_SESSION_TYPE. - Wczytywanie jest programowe (XPutImage), ale do prostych podglądów i klikania wystarczy.
Czy da się to zlinkować całkiem statycznie? - Próba „po prostu”:
Kod: Text
Zaloguj się, aby zobaczyć kod
najpewniej skończy się na „cannot find -lX11” (dystrybucje nie dostarczają statycznych libX11 i całej kaskady zależności). - Żeby naprawdę mieć „pełny statyk” na desktopie, trzeba samodzielnie skompilować i dostarczyć w wersjach statycznych: musl (lub glibc), libX11, Xau, Xdmcp, libxcb (+ ich zależności). To jest sporo pracy i mało sensu na zwykłym pulpicie. - Jedyny „łatwy” w pełni statyczny wariant to aplikacja bez X/Wayland (DRM/KMS do wyjścia wideo + evdev/libinput do myszy/klawiatury). Działa w konsoli TTY, często wymaga uprawnień roota i nie integruje się z pulpitem – raczej nie to, czego chcesz teraz.
Alternatywy „proste w kodzie” - FLTK (C++, ale bardzo lekki): statyczną libfltk zbudujesz łatwo (–enable-shared=no). Natomiast i tak potrzebuje X11 w systemie (dynamicznie lub statycznie – a statycznych X‑ów zwykle brak w repo). Plus: API FLTK jest zwięzłe, obsługa kliknięć i obrazów jest wygodna. - SDL2: programistycznie banalny, ale statyczny link na dystrybucjach bywa kłopotliwy (dużo zależności). Dynamicznie – działa od ręki, o ile masz libSDL2.
---
„Co od tego zależy i co przestanie działać?” Pokaż to sobie lokalnie na 100% pewne dane: - kogo trzyma dany pakiet: - pactree -r kvantum-theme-matchama - pactree -r rest - szybki podgląd: - pacman -Qi kvantum-theme-matchama | grep -E "Required By" - pacman -Qi rest | grep -E "Required By"
Typowo: - kvantum-theme-matchama – motyw; „Required By: None”. Bezpiecznie usuwasz, najwyżej wygląd się uprości. - rest – zależny bywa gnome-online-accounts, evolution-data-server, czasem grilo‑plugins. Jeśli używasz KDE/Plasma → zwykle nic krytycznego nie odpadnie; na GNOME zniknie integracja kont online do czasu, aż po pełnej aktualizacji wróci nowa wersja „rest”.
Usunięcie (wariant bezpieczny):
Kod: Text
Zaloguj się, aby zobaczyć kod
Po pełnej aktualizacji (sudo pacman -Syu) rest wróci w wersji zgodnej z nowym libxml2, a Ty przywrócisz ewentualne komponenty GNOME jednym poleceniem.
---
Jeśli jednak chcesz „maksymalnie statycznie” - Minimalny „hello‑pixel” bez X/Wayland (DRM/KMS + evdev), w pełni statyczny z musl: - musl‑gcc -static, - otwierasz /dev/dri/cardX (KMS), ustawiasz tryb (drmModeSetCrtc), mapujesz bufor (GBM lub dumb buffers), rysujesz, przechwytujesz zdarzenia z /dev/input/eventX (evdev) i samemu skalujesz współrzędne myszy, - to jest domena aplikacji kioskowych/wbudowanych; na desktopie zapominasz o integracji (okna, focus, kursory). - To rozwiązanie ma sens tylko, gdy naprawdę nie możesz ruszyć systemowych bibliotek i tworzysz jednorazowy, pełnoekranowy podgląd.
---
Co polecam w Twojej sytuacji (praktycznie) - Szybko: użyj powyższego przykładu Xlib + stb_image (C). Działa dziś, na Twojej glibc 2.36, bez nowych pakietów. - Wygodnie: wróć do FLTK (jeśli C++ nie przeszkadza). Programistycznie lżej niż czysty Xlib, nadal bez Tk. - Docelowo: odblokuj pełną aktualizację systemu (usuń kvantum-theme-matchama i rest → pacman -Syu → reboot). Wtedy Tk/tkinter, screen, tmux i nowoczesne biblioteki GUI po prostu ruszą – bez sztuczek. - Jeśli chcesz, podaj wynik: - pactree -r kvantum-theme-matchama; pactree -r rest - pacman -Qi kvantum-theme-matchama rest | grep -E "Required By|Name|Version" - echo $XDG_SESSION_TYPE W razie kłopotów dopasuję komendy (np. minimalny „cascade remove” tylko tego, co blokuje).
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
@ElektrodaBot - okazało się, że oprócz "kvantum-theme-matchama" i "rest" trzeba było wyrzucić pakiet "glibc-locales", oraz katalog "/usr/lib/locale/C.utf8/", bo inaczej były konflikty po "pacman -Su"; potem "glibc-locales" zainstalowałem na nowo, i ten katalog z zawartością też się pojawił.
Wygląda na to, że teraz Tk działa, tkinter, screen i tmux też - jeszcze będę sprawdzał; natomiast coś dziwnego jest z promptem - jest to związane z ustawieniem PS0, podejrzewałem, że robi to "/etc/profile.d/vte.sh", ale usunięcie tego pliku nic nie zmieniło. Niestety nie wiem, czy przedtem PS0 było inaczej ustawione, czy po aktualizacji systemu jest inaczej interpretowane.
W tej chwili nie mam poprawnego obrazu z kamery - ciemny, trochę szumu - może jest za ciemno, ale zdalnie światła nie włączę, trzeba poczekać na dzień.
@ElektrodaBot - okazało się, że oprócz "kvantum-theme-matchama" i "rest" trzeba było wyrzucić pakiet "glibc-locales", oraz katalog "/usr/lib/locale/C.utf8/", bo inaczej były konflikty po "pacman -Su"; potem "glibc-locales" zainstalowałem na nowo, i ten katalog z zawartością też się pojawił.
Wygląda na to, że teraz Tk działa, tkinter, screen i tmux też - jeszcze będę sprawdzał; natomiast coś dziwnego jest z promptem - jest to związane z ustawieniem PS0, podejrzewałem, że robi to "/etc/profile.d/vte.sh", ale usunięcie tego pliku nic nie zmieniło. Niestety nie wiem, czy przedtem PS0 było inaczej ustawione, czy po aktualizacji systemu jest inaczej interpretowane.
W tej chwili nie mam poprawnego obrazu z kamery - ciemny, trochę szumu - może jest za ciemno, ale zdalnie światła nie włączę, trzeba poczekać na dzień.
Bezpośrednia odpowiedź - Dobra robota z dokończeniem aktualizacji i „odblokowaniem” glibc (zdjęcie glibc-locales i katalogu C.utf8, potem czysta reinstalacja – to typowy, bezpieczny manewr przy dużych skokach). Skoro Tk/tkinter, screen i tmux działają – system jest spójny. - Dziwny prompt to niemal na pewno efekt mieszanki: nowy bash + skrypty VTE + stary ~/.bashrc. Najszybciej: wyłącz modyfikacje VTE i wyzeruj PS0, potem uporządkuj pliki startowe powłoki (kroki poniżej). - Ciemny obraz z kamery to kwestia parametrów V4L2 po aktualizacji (ekspozycja/gain/LLC). Poniżej masz gotowe komendy diagnostyczne i „na szybko” podbijające jasność.
---
PS0 / prompt – diagnostyka i naprawa
1) Szybka doraźna „resetka” w bieżącym terminalu:
Kod: text
Zaloguj się, aby zobaczyć kod
Jeśli po tym prompt wrócił do normy – winny jest skrypt integracji terminala (VTE) lub stary ~/.bashrc.
2) Ustal, co faktycznie ustawia PS0/PROMPT_COMMAND:
Kod: text
Zaloguj się, aby zobaczyć kod
- Jeśli zobaczysz w PS0 sekwencje „]133;…” (OSC 133) – to shell‑integration od terminala. Wyłącza ją zmienna VTE_DISABLE_PROMPT_COMMAND=1 albo usunięcie/wygaszenie odpowiedniego skryptu w /etc/profile.d. - Jeśli używasz Konsole (KDE), VTE nie powinno wchodzić w grę – napisz, jakiego emulatora używasz (gnome-terminal/xfce4-terminal/konsole/tilix/wezterm/kitty).
3) Naprawa „na stałe”: - Zaktualizuj swój plik użytkownika do świeżego szablonu i ręcznie przenieś tylko potrzebne aliasy:
Kod: text
Zaloguj się, aby zobaczyć kod
- Upewnij się, że w /etc/profile.d/ masz tylko aktualny skrypt VTE (czasem występuje jako vte.sh albo vte-2.91.sh). Jeżeli tworzyłeś ręcznie „dziwne” wersje – przywróć pakietowo:
Kod: text
Zaloguj się, aby zobaczyć kod
- Otwórz nowe okno terminala i sprawdź efekt.
Jeśli problem nie zniknie, wklej proszę wynik:
Kod: text
Zaloguj się, aby zobaczyć kod
Dobierzemy wtedy precyzyjnie winny plik/linijkę.
---
Kamera – szybkie „odstrzelenie” parametrów V4L2
1) Narzędzia i podgląd:
Kod: text
Zaloguj się, aby zobaczyć kod
2) Typowe „ciemno po aktualizacji” – ustaw auto‑ekspozycję i kompensację:
Kod: text
Zaloguj się, aby zobaczyć kod
GUI do strojenia: guvcview lub qv4l2 (suwaki od razu pokażą, czy kamera reaguje).
3) Jeśli używasz Wayland i aplikacja sandboxowana (Flatpak/Przeglądarka), kamera może iść przez PipeWire – do testów trzymaj się bezpośrednio /dev/videoX, jak wyżej.
Chcesz, mogę podrzucić krótką procedurę, jak zapisać wybrane ustawienia v4l2 i przywracać je automatycznie przy starcie (udev + skrypt).
---
„Co przestaje działać” po usunięciu wcześniejszych pakietów - kvantum-theme-matchama – tylko motyw Kvantum (wygląd). Funkcjonalnie nic nie tracisz. - rest (librest) – element ekosystemu GNOME (gnome‑online‑accounts, evolution‑data‑server, czasem grilo). Na KDE/Xfce zwykle zero konsekwencji; w GNOME znikają integracje kont do czasu reinstalacji świeżej wersji. - glibc-locales – chwilowe zdjęcie mogło wywołać fallback do „C/POSIX”, ale po reinstalacji masz znów komplet locale. Dla pewności:
Kod: text
Zaloguj się, aby zobaczyć kod
---
Kontrola spójności po operacji
Kod: text
Zaloguj się, aby zobaczyć kod
Jeśli chcesz, podaj jeszcze wartości PS0/PS1/PROMPT_COMMAND (użyj printf %q jak wyżej) oraz nazwę terminala – dopasuję „czysty” zestaw ustawień pod Twój przypadek.
Możesz mnie wywołać w każdym temacie pisząc @ElektrodaBot. Zastrzeżenie: Niektóre odpowiedzi udzielone przez ElektrodaBota mogą być niedokładne. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi ElektrodaBota powinny być zweryfikowane przez użytkownika. OpenAI może monitorować i zapisywać informacje wprowadzane po wywołaniu ElektrodaBota.
✨ W systemie Manjaro Linux biblioteka /usr/lib/libc.so.6 (glibc) nie powinna być aktualizowana ręcznie, ponieważ jest integralną częścią systemu i aktualizowana jest wyłącznie podczas pełnej, spójnej aktualizacji całego systemu za pomocą pacmana. Problem z błędem „libc.so.6 za stara” pojawia się, gdy próbuje się zainstalować pakiet (np. screen) skompilowany z nowszą wersją glibc niż ta obecna w systemie, co jest efektem częściowej aktualizacji (partial upgrade) w modelu rolling-release. Zalecane jest odświeżenie mirrorów, aktualizacja keyringów i wykonanie pełnej aktualizacji systemu komendą `pacman -Syu`, a następnie instalacja pakietu screen. W przypadku problemów z aktualizacją należy podać dokładne komunikaty błędów, aby dobrać odpowiednie procedury naprawcze. Przed aktualizacją warto zweryfikować wersję glibc i obecność pakietu screen za pomocą poleceń `pacman -Q glibc`, `ldd --version` oraz `pacman -Qs screen`. Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.