Ta strona używa ciasteczek (cookies), dzięki którym możliwe jest między innymi poprawne wyświetlanie elementów strony, zapamiętywanie sesji użytkowników. Dodatkowo na stronie znajduje się skrypt Google Analytics oraz PIWIK (statystyki oglądalności). Znajdują się również skrypty przycisków serwisów społecznościowych Facebook, Twitter i Google+ oraz YouTube, które również mogą zapisywać ciasteczka.

macOS High Sierra i AVR

W końcu przyszedł czas na instalację najnowszej wersji macOS, czyli High Sierra. Generalnie nie instaluję nowych wersji systemu w dniu w którym się pojawiają, dlatego dopiero teraz mogę coś napisać w kontekście programowania AVR i nowego macOS. Moja zachowawcza postawa bierze się z tego, że nie zawsze na najnowszej wersji systemu wszystkie programy nadal działają. Przyczyny są różne, czasami deweloperzy nie zdążą uaktualnić swoich aplikacji, a czasami to Apple coś namiesza. Lepiej więc poczekać aż poinstalują system "ochotnicy" których nie brakuje, a potem spokojnie poczytać co piszą w sieci w kontekście stabilności systemu jak i kompatybilności z oprogramowaniem firm trzecich. Dobrze jest też sprawdzić strony deweloperów aplikacji których się używa, aby się upewnić czy są przystosowane do pracy pod kontrolą wersji systemu którą chce się instalować. W przypadku programowania AVR na macOS to tak naprawdę wystarczy sprawdzić czy Eclipse, o ile tego środowiska używamy, jest kompatybilny z nową wersją systemu. Jeśli tak, to można bez obaw uaktualnić system. Piszę uaktualnić a nie zainstalować, bo rozdzielam te dwa pojęcia. Przez uaktualnianie rozumiem nadpisanie starszej wersji systemu przez nową, natomiast przez instalowanie, instalację od zera po sformatowaniu dysku systemowego. W obu przypadkach trzeba mieć świadomość tego, że Apple mogło ograniczyć dostęp do folderów systemowych, a w przypadku High Sierra dochodzi jeszcze zmiana sytemu obsługi plików z HFS na APFS. Może być więc różnie, o czym poniżej. Osobiście system instaluję tylko raz, po kupnie komputera lub zmianie dysku. Potem już przez całe życie komputera tylko aktualizacja. Z doświadczenia jakie mam z makami od 2003 roku mogę śmiało napisać że cykliczne aktualizacje systemu w ogóle nie spowalniają komputera a czysta instalacja nie sprawia że auto magicznie komputer odżywa. To są mity które próbuje się przenieść ze świata Windowsa na macOS.

Po tym dość długim wstępie przejdźmy w końcu do sedna tego artykułu. A więc tak, instalacja macOS High Sierra i przejście na APFS odbyło się bez problemu (MacMini 2012), i nie trwało godzinami, jak to można przeczytać w sieci, tylko zajęło około 30 minut. Piszę o samej instalacji po wcześniejszym pobraniu pliku aktualizacyjnego. Następnie uruchomiłem Eclipse, AVRFusesCalc aby sprawdzić czy nic się nie popsuło. Okazało się że oba programy działają bez zarzutu. Postanowiłem więc sprawdzić czy są nowsze wersje bibliotek do obsługi AVR. Z racji że na dysku miałem zainstalowany CrossPack jak i Hombrew, sprawdziłem czy coś się zmieniło w kwestii tego pierwszego . Niestety, nadal ostatnia wersja pochodzi z 2013 roku, przynajmniej na chwilę gdy piszę ten poradnik. Skoro więc został tylko Homebrew do sprawdzenia, czyli zabawa z terminalem, trzeba się było zalogować na konto z uprawnieniami administratora. Przypomnę tylko żeby rozważnie korzystać z takiego konta i terminala, bo można doprowadzić do tego że pozostanie tylko instalacja systemu na czysto.

Na początku proponuję włączyć pokazywanie w Finderze plików ukrytych:

defaults write com.apple.finder AppleShowAllFiles YES

polecenie to można wstawić do Terminala na zasadzie "kopiuj-wklej". Naciskamy ENTER. Z menu głównego wybieramy Jabłko -> Wymuś koniec.... W oknie które się pojawi zaznaczamy "Finder" i naciskamy "Uruchom ponownie". Od teraz w Finderze będą widoczne wszystkie foldery i pliki wcześniej niewidoczne.

Kolejny krok to odświeżenie plików, tzw. formuł, Homebrew. Służy do tego polecenie:

brew update

W tym miejscu pojawił się u mnie problem z uprawnieniami. Wcześniej do całego folderu usr miałem uprawnienia jako administrator, do odczytu jak i do zapisu. Ustawiłem je sobie ręcznie już jakiś czas temu. Prawdopodobnie podczas aktualizacji systemu zostały one naprawione, czyli przywrócone do stanu "fabrycznego". Zaznaczyłem więc folder usr, z menu wybrałem opcję Informacje a następnie w oknie które się pojawiło dodałem siebie jako kolejnego użytkownika z pełnymi prawami. Jednak nie było to możliwe do wykonania dla folderu i całej jego zawartości poprzez opcję z menu. Brak wystarczających uprawnień. Żeby to zmienić z menu musiałbym się zalogować do systemu jako root, a tego nie chciałem robić. Spojrzałem jeszcze raz dokładnie na to co wyrzucił terminal po wpisaniu brew update i okazało się że podał rozwiązanie. Mianowicie oprócz informacji o błędzie wskazał również polecenie którym można zmienić uprawnienia dla konkretnego folderu w folderze usr, nie zmieniając ich dla całej zawartości tego folderu:

sudo chown -R $(whoami) /usr/local/Cellar

w tym przypadku zmianie uległy uprawnienia w folderze Cellar. Ja musiałem zmienić uprawnienia jeszcze chyba w dwóch folderach. Za każdym razem oprócz informacji o błędzie, terminal podawał również powyższe polecenie wraz ze ścieżką do folderu któremu należy zmienić uprawnienia. Po poleceniu zmiany uprawnień należy podać hasło administratora w terminalu. Ważna informacja jest taka, że nie będzie widać wpisywanych znaków.Oczywiście po każdej zmianie uprawnień trzeba ponownie wpisać polecenie brew update. Do momentu aż po wpisaniu tego polecenia nie pojawi się już żadna informacja o braku uprawnień.

Jak zmianę uprawnień oraz uaktualnienie formuł mamy już za sobą, tworzymy repozytorium z formułami dla avr:

brew tap osx-cross/avr

utworzone zostanie ono w następującej lokalizacji: /usr/local/Homebrew/Library/Taps/osx-cross/homebrew-avr/

Znajdą się tam formuły dzięki którym będzie można uaktualnić biblioteki do obsługi AVR.

No i tu znowu pojawia się drobny problem. Ci którzy instalowali wcześniej Homebrew, być może pamiętają że wszystkie potrzebne komponenty instalowało się używając tylko jednego polecenia:

brew install avr-libc

niestety formuła ta została usunięta, a zastąpiła ją formuła simavr. W moim jednak przypadku nie zadziałała tak jak wcześniejsza avr-libc. Wyrzucała błędy o niemożności zainstalowania bibliotek potrzebnych do skompilowania komponentów dla AVR, oraz nie tworzyła aliasów w /usr/local/bin/ które by bezpośrednio przenosiły do właściwych folderów. Na szczęście w przypadku bibliotek informowała jakie to są biblioteki. Dzięki czemu mogłem je doinstalować ręcznie. A tak naprawdę to uaktualnić, bo wszystkie je już miałem w systemie zainstalowane. Były to: gmp, libmpc, mpfr.

Do uaktualnienia służy polecenie:

brew upgrade /tutaj nazwa formuły np gmp/

natomiast instalacja odbywa się przy użyciu komendy:

brew install gmp

Jak wspomniałem miałem jeszcze problemy z aliasami do komponentów. Jednak i tutaj dzięki użyciu terminala można ten problem rozwiązać. Mianowicie należy wpisać po kolei poniższe polecenia:

cd /usr/local/
find Cellar
ls -l bin

po każdym naciskając ENTER. Teraz w końcu mogłem przejść do właściwej instalacji pakietu AVR. Z racji że simavr nie chciał wspólpracować, postanowiłem każdy komponent uaktualnić samemu, korzystając z polecenia upgrade:

brew upgrade avr-binutils

a następnie:

brew upgrade avr-gcc

Zajmuje to trochę czasu bo pliki źródłowe muszą zostać pobrane a następnie skompilowane i zainstalowane w systemie.

Znakiem tego że wszystko przebiegło bez problemu jest brak informacji o błędach w terminalu.

Na sam koniec polecam jeszcze uaktualnienie avrdude:

brew upgrade avrdude

Na tym kończy się uaktualnienie plików Homebrew odpowiedzialnych za obsługę AVR. Można jeszcze tylko użyć polecenia:

defaults write com.apple.finder AppleShowAllFiles NO

aby wyłączyć pokazywanie w Finderze ukrytych plików i folderów systemowych. Pozostało już tylko wylogować się z konta z uprawnieniami administratora i przejść na konto użytkownika.

Tutaj, na koncie użytkownika, trzeba się upewnić że w Eclipse są podane właściwe ścieżki dostępu do poszczególnych komponentów AVR wymaganych przez Eclipse. Na marginesie dodam, że najnowsza obecnie wersja Eclipse, OXYGEN, działa bez problemu na macOS High Sierra.

Wszystko co napisałem powyżej starałem się jakoś uporządkować, w stylu krok po kroku, aby uaktualnić Homebrew. W rzeczywistości wyglądało to bardziej chaotycznie i być może jak ktoś będzie robił to tak jak to opisałem w tym poradniku, uniknie większości problemów. Ja nie wiedząc że zostały zmienione uprawnienia do systemowych folderów, porobiłem trochę rzeczy niepotrzebnych. Kto wie, może nawet się okaże że u Was simavr zadziała tak jak kiedyś avr-libc, czyli samodzielnie zainstaluje biblioteki i polecenia do obsługi AVR.

E-mail

Dodaj komentarz


Kod antyspamowy
Odśwież