MSYS2/pacman - permission denied

0

Cześć.
Już od miesiąca chyba staram się zaktualizować kompilator od GNU do najnowszej wersji. Wcześniej męczyłem się z PKGBUILD (doszło do tego, że jakieś narzędzie wyszukujące pliki się pruło i już nie miałem siły na to), ale odkryłem, że mogę to pacmanem zrobić. Więc użyłem pacman -Syu, pacman się pruł, że

  1. nie może pobrać do końca pewnej paczki
  2. nie może usunąć jakiegoś tam pliku d.lock (bodajże)
  3. nie może utworzyć jakiegoś folderu

w ostateczności żadne paczki nie zostały zaktualizowane.
Teraz kiedy próbuję jakkolwiek użyć tego narzędzia dostaję "permission denied":

Administrator@Stacjonarny MSYS ~
# pacman
bash: /usr/bin/pacman: Permission denied

szukałem w google, jedyny wątek jaki znalazłem, którego autor miał/ma ten sam problem nie miał żadnych odpowiedz i był zamknięty.

Prosiłbym o waszą pomoc, gdyż przyda mi się parę nowych C++17'owych bibliotek + plus warto jakkolwiek nowy standard ogarnąć (no i oczywiście na nowym kompilatorze działać).

Pozdrawiam.

0

Gdzie zainstalowałeś MSYS-a?

0

Dobra, permission denied już nie ma, ale przy wywołaniu pacman -Sy wywala

:: Synchronizowanie baz danych z pakietami…
błąd:  nie udało się zaktualizować mingw32 (nie udało się zablokować bazy danych)
błąd:  nie udało się zaktualizować mingw64 (nie udało się zablokować bazy danych)
błąd:  nie udało się zaktualizować msys (nie udało się zablokować bazy danych)
błąd:  błąd synchronizacji wszystkich baz danych

0

Internety mówią, żeby usunąć /var/lib/pacman/db.lck. Próbowałeś?

0

Zrobiłem to, dzięki.
A czy mógłbym Cię prosić o pomoc z updateowaniem tego cholernego mingw?
pacman -Syu nie działa, więc chyba jedyna metoda, to ten PKGBUILD.
Pobrałem tego trunka, umieściłem samotnie w jakimś pustym folderze i puściłem "makepkg-mingw". Były drobne problemy, aż do dużego:

Administrator@Stacjonarny MSYS /d/win/desktop/pkg
# makepkg-mingw -Acs
==> Tworzenie pakietu: mingw-w64-crt-git 7.0.0.5333.8e90a421-1 (17 mar 2019 20:26:52)
==> Sprawdzanie zależności potrzebnych do uruchomienia...
==> Sprawdzanie zależności potrzebnych do budowy...
==> Pobieranie źródeł...
  -> Aktualizowanie mingw-w64 repozytorium git...
Fetching origin
==> BŁĄD: 0001-Allow-to-use-bessel-and-complex-functions-without-un.patch nie jest URL i nie znalazłem go w katalgu źródłowym.

nie wiem co z tym zrobić, bo jak tak przeglądałem te foldery, to jedyny plik jakiego nie ma to ten 0001, więc to raczej nie problem z konfiguracją czy coś. Google milczy.
Z góry dzięki.

0

pacman -Syu nie działa

Po co tak kombinować, skoro MSYS nie działa Ci poprawnie? Sprawdziłem u siebie aktualizację repozytorium, a dawno tego nie robiłem, i wszystko poszło dobrze. Był drobny problem, gdzie musiałem wywołać drugi raz komendę pacman -Syu, ale generalnie wszystko poszło ok i te parę giga się zupdate'owało (g++ jest w wersji 8.3.0).

Więc proponuje jeszcze raz zainstalować MSYS-a, bo ewidentnie masz coś schrzanione.

0

Eh.. Po prostu wkleję "log" z konsoli:

Administrator@Stacjonarny MINGW32 ~
# g++ --version
g++.exe (Rev1, Built by MSYS2 project) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Administrator@Stacjonarny MINGW32 ~
# gcc --version
gcc.exe (Rev1, Built by MSYS2 project) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Administrator@Stacjonarny MINGW32 ~
# pacman -Syu
:: Synchronizowanie baz danych z pakietami…
 mingw32 jest aktualne
 mingw64 jest aktualne
 msys jest aktualne
:: Starting core system upgrade...
 nie ma nic do zrobienia
:: Rozpoczynanie pełnej aktualizacji systemu…
 nie ma nic do zrobienia

Czegokolwiek bym nie wpisał, pacman twierdzi, że wszystko jest up to date :v

0

Skoro tak twierdzi, to znaczy, że tak jest. Być może gcc w wersji 32-bitowej jest starszy od 64-bitowego (a u mnie taki jest).

0

Eh.. Racja.. Tak jest., dzięki.
Czyli nie da się nic z tym zrobić? Na wirtualnej maszynie (jeśli jest możliwa emulacja x64 na x86) nie mam zamiaru programować.

0

Możesz spróbować po prostu ściągnąć MinGW-w64 bez angażowania w to MSYS-a. Albo zainstaluj clanga, może coś poprawi w kwestii obsługi C++17.

1 użytkowników online, w tym zalogowanych: 0, gości: 1