logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[avrgcc] Błąd przy instalacji avr-gcc na Ubuntu podczas konfiguracji gcc-4.8

domansolarpower 20 Kwi 2013 11:32 3072 19
  • #1 12219591
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    Staram się zainstalować arv-gcc na ubuntu według tutoriala z tej strony:

    http://www.ladyada.net/learn/avr/setup-unix.html

    Jestem na etapie: Step 3, przy wpisaniu:

    ../gcc-4.8/configure --target=avr --enable-languages=c --disable-libssp


    wywala:

    root@ubuntu:/home/ubuntu/avrgcc4.8#  ../gcc-4.8/configure --target=avr --enable-languages=c --disable-libssp
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking target system type... avr-unknown-none
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether ln works... yes
    checking whether ln -s works... yes
    checking for a sed that does not truncate output... /bin/sed
    checking for gawk... gawk
    checking for libatomic support... no
    checking for libitm support... no
    checking for libsanitizer support... no
    checking for gcc... gcc
    checking for C compiler default output file name... a.out
    checking whether the C compiler works... yes
    checking whether we are cross compiling... no
    checking for suffix of executables... 
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking for g++... no
    checking for c++... no
    checking for gpp... no
    checking for aCC... no
    checking for CC... no
    checking for cxx... no
    checking for cc++... no
    checking for cl.exe... no
    checking for FCC... no
    checking for KCC... no
    checking for RCC... no
    checking for xlC_r... no
    checking for xlC... no
    checking whether we are using the GNU C++ compiler... no
    checking whether g++ accepts -g... no
    checking whether g++ accepts -static-libstdc++ -static-libgcc... no
    checking for gnatbind... no
    checking for gnatmake... no
    checking whether compiler driver understands Ada... no
    checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2
    checking for objdir... .libs
    checking for the correct version of gmp.h... no
    configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.
    Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
    their locations.  Source code for these libraries can be found at
    their respective hosting sites as well as at
    ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also
    http://gcc.gnu.org/install/prerequisites.html for additional info.  If
    you obtained GMP, MPFR and/or MPC from a vendor distribution package,
    make sure that you have installed both the libraries and the header
    files.  They may be located in separate packages.
    


    Dalej juz nie idzie ani make ani make install.
  • Pomocny post
    #2 12220113
    miszczo997
    Poziom 28  
    Posty: 1052
    Pomógł: 134
    Ocena: 159
    Nie wiem po co komplikujesz sobie życie. Przecież avrgcc masz w repo. Wystarczy apt-get install gcc-avr albo aptitude install gcc-avr w zależności jakiego menadżera używasz. A jak nie masz nagłówków to jeszcze wcześniej apt-get install binutils lub aptitude install binutils. Oczywiście wsyztsko jako #. W tej chwili po operacjach które wykonałeś możesz potrzebować naprawy pakietów co zrobisz wpisując apt-get install -f
  • #3 12220254
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    Wygląda na to że działa :D Kompiluje wybrany program do .hex (jeszcze nie wgrywałem go do procka).

    Wielkie dzięki !!
  • Pomocny post
    #4 12220383
    miszczo997
    Poziom 28  
    Posty: 1052
    Pomógł: 134
    Ocena: 159
    Z tego co pamiętam, aby wgrać program do procesora musisz jeszcze oddzielnie doinstalwoać avrdude, bo nie instaluje się domyślnie z avrgcc. I jest też drobny problem z instalacją programatora, ale tu polecam zajrzeć na stronę kolegi blue17 link
  • #5 12220453
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    Z avrdude juz sobie dawno poradziłem (był problem przy instalacji ale na szczęście nie byłem pierwszy u którego wystąpił :) ). Nie miałem wcześniej styczności z avr-gcc a wszystkie tutoriale które wyszukałem były podobne do tego z linku wyżej!
  • Pomocny post
    #6 12221464
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Dystrybucyjne wersje avr-gcc zwykle są dla hardcorowców, trzeba wiedzieć jakie łatki są zaaplikowane itd. Lepiej pobrać ze strony Atmela toolchain dla Linuksa, przynajmniej jeśli będą jakieś błędy to będzie można się odnieść do czegoś konkretnego.
  • #7 12222468
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    A jak go zainstalować (jest jakaś opcja z apt-get install dla tego toolchaina?) dla ubuntu 12.04 LTS?

    Samo rozpakowanie i przenoszenie do innego katalogu (podkatalogi toolchaina przenosze do /avr-tools a gdy przenoszę headers do avr-tools/avr/include wywala - katalog nie jest pusty, na roocie się przenoszą). Później ustawiam $path:
    export PATH=$PATH:$HOME/avr-tools/bin    lub  export PATH=$PATH:$HOME/avr-tools/bin:$PATH


    Ale po wpisaniu "avr-gcc --version" pokazuje starą wersję avr-gcc którą zainstalowałem wcześniej.

    avr-gcc (GCC) 4.5.3
    Copyright (C) 2010 Free Software Foundation, Inc.
    


    Jak zainstalować i korzystać z kilku toolchainów jednocześnie (atmel avr8 bit i avr32 bit to osobne toolchainy)?

    Na windowsie jest to jednak wszystko dużo prostsze (no i zazwyczaj działa od pierwszego kopa).

    wszystko według tego linku: http://devzone.aery32.com/2012/07/06/how-to-install-avr-32-bit-toolchain-on-linux/

    tam użył polecenia "avr32-gcc --version" - a jakiego ja mam użyć dla 8 bitowego - "avr-gcc --version"? Ciągle wywala starą wersję gcc.
  • Pomocny post
    #8 12222522
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Ścieżki do gcc i narzędzi ustawia się w IDE - nie wiem z jakiego korzystasz, ale w każdym jest możliwość ich określenia. Można też ustawiać w konsoli, zmień wtedy kolejność definicji - jeśli $PATH zawiera już ścieżki do gcc, a ty dodajesz kolejną, to będzie ona przeszukiwana jako ostatnia, w efekcie zawsze zwróci ci wcześniejszą wersję gcc.
  • Pomocny post
    #9 12233368
    Nagus
    Poziom 27  
    Posty: 757
    Pomógł: 99
    Ocena: 97
    Nie możesz skompilować gcc bo nie czytasz co konfigurator ci wypisuje.
    Wypadałoby też wiedzieć, że jeżeli po odpaleniu konfiguratora są błędy, to nie ma sensu odpalać make, gdyż wsad nie jest gotowy i nie ma co kompilować.

    Cytat:
    configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.


    Jak wół masz wypisane, że brakuje trzech bibliotek. Powyższe są związane z bardziej zaawansowanymi operacjami arytmetycznymi. Znalezienie ich to żadna filozofia: w Centrum oprogramowania Ubuntu wybierasz zakładkę System i z wyszukiwarki wyskakuje co trzeba. Trzeba tylko uważać co się instaluje: MPC to również kodek audio, GMP to także odtwarzacz muzyczny.

    Doinstalowywanie powyższych bibliotek dotyczy każdej dystrybucji.
    Kompilować gcc zwykle warto, gdyż wtedy masz albo aktualną wersję, albo taką która ci bardziej pasuje.
  • #10 12262100
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    tmf napisał:
    Ścieżki do gcc i narzędzi ustawia się w IDE - nie wiem z jakiego korzystasz, ale w każdym jest możliwość ich określenia. Można też ustawiać w konsoli, zmień wtedy kolejność definicji - jeśli $PATH zawiera już ścieżki do gcc, a ty dodajesz kolejną, to będzie ona przeszukiwana jako ostatnia, w efekcie zawsze zwróci ci wcześniejszą wersję gcc.


    Moje IDE to Eclipse indigo, niestety jest problem z oknami tego programu (nie wszystkie opcje są widoczne - są zasłonięte, częściowo się odsłaniają gdy rozszerze okno na cały ekran ale tylko częściowo - chyba problem z java?).

    Po wybraniu -> window -> prefeneces -> avr ->path program się zawiesza (na necie znalazłem że nie tylko ja mam ten problem z tą zakładką, nie znalazłem jednak rozwiązania).
  • #11 12262881
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    Ufff, ten tutorial jest kompletnie bez sensu. Zostaw go i nie wracaj tam. Eclipse Indigo to wersja sprzed dwóch lat prawie.

    Zainstaluj Eclipse, avrdude i avr-gcc z repozytoriów, choćby przez instalator graficzny, powinno działać z palca, a jak nie będzie, to wtedy pomożemy. Tylko będziesz prawdopodobnie musiał sprzątnąć po tej nieudanej próbie instalacji z powyższego tutoriala.
  • #12 12263106
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    To mi się już kompletnie posypało :) java, eclipse itp. Dziwnie się uruchamia, czasami z błędem (brak katalogu .eclipse, brak możliwości injekcji aktualizacji), czasami bez tych błedów ale i tak się wysypuje, czasami uruchamia się z wtyczką avr, czasami bez niej.

    Jak doprowadzić to do porządku? Na razie odisyalowałem i zainstalowałem jave jre7, to samo eclipse (z ubuntu software center) - dalej to samo. Chyba nie zbyt dokładnie posprzątałem za pierwszym razem. Jak to posprzątać solidnie?
  • Pomocny post
    #13 12263137
    miszczo997
    Poziom 28  
    Posty: 1052
    Pomógł: 134
    Ocena: 159
    Wpisując apt-get --purge remove nazwa_pakietu wywalisz dany pakiet razem z zależnościami. Tylko przyjrzyj się dokładnie jakie masz zależności w jre i eclipse, żeby połowy systemu za sobą nie pociągneło.
  • #14 12263200
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    Jeśli kombinował wszystko z tego bezsensownego poradnika, to apt-get za wiele nie pomoże.
  • #15 12263406
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    Tak więc zaznaczam :
    perspektywę -> C/C++
    Nowy projekt C (cross target aplication)
    nowy plik źródłowy main.c
    wklejam kod

    i od razu widze że że przy np. #include <avr/io.h> , #include <util/delay.h> pojawia się komunikat: "unresolved inclusion"

    Program się nie kompiluje
    Errors occurred during the build.
    Errors running builder 'CDT Builder' on project 'teeest'.
    
    java.lang.NullPointerException
    
    java.lang.NullPointerException


    Pewnie ścierzki do plików io.h i delay.h trzeba zrobić - tylko gdzie i jak? Bo jak wspomniałem gdy chcę wejść do zakładki - > window -> preferences -> avr -> path to program się zawiesza. Gdy wrzucam ścierzkę do ściągniętych ze strony atmela header files/avr to jeden komunikat znika, drugi zostaje.

    edit: coś ruszyło, jak ustawić te ścierzki preferences -> avr -> path gdy mam 2 foldery ściągnięte od atmela "toolchaina" i "header files". Ciąglie natrafiam na "path invaild".

    Dla GCC ustawiam folder toolchaina/bin
    Dla Make ?
    Dla Header files -> folder toolchaina/avr/include

    Inaczej ciągle pisze path invaild. A do folderu header w ogóle nie da się zrobić path do ściągniętego folderu z header files.
  • Pomocny post
    #16 12263628
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    Przy tak przygotowanym środowisku moim zdaniem nie ma sensu próbować tego naprawiać, tylko sprzątnąć PATH i zainstalować Eclipse i toolchain z repozytoriów.
  • #17 12263746
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    Ale właśnie wyżej zalecano mi ściągnąć toolchaina+header files ze strony atmela :)
  • Pomocny post
    #18 12263780
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    A, chyba że chodzi o toolchain Atmela, myślałem, że dalej o ten poradnik.
  • #19 12265250
    domansolarpower
    Poziom 13  
    Posty: 116
    Ocena: 4
    A czy Atmel z toolchainem lub header files dla windows dostarcza "Atmel Part Description Files" bo nie moge tego znaleźć? Porady jakie znalazłem w necie dotyczyły zawsze - odczytu tych informacji z procka.
  • Pomocny post
    #20 12265258
    McMonster
    Poziom 32  
    Posty: 1942
    Pomógł: 182
    Ocena: 57
    Tą pozycję możesz zignorować, nie jest potrzebna.

Podsumowanie tematu

✨ Użytkownik napotkał problemy podczas instalacji avr-gcc na Ubuntu, szczególnie w etapie konfiguracji gcc-4.8. Otrzymał sugestie, aby zainstalować avr-gcc bezpośrednio z repozytoriów Ubuntu za pomocą polecenia apt-get, co okazało się skuteczne. Dodatkowo, aby wgrać program do mikrokontrolera, zalecano zainstalowanie avrdude. Użytkownik miał również trudności z IDE Eclipse, które nieprawidłowo wyświetlało opcje i zawieszało się. Wskazówki dotyczyły także ustawiania ścieżek do plików nagłówkowych oraz problemów z wersjami gcc. Ostatecznie, zalecano usunięcie nieudanych instalacji i ponowną instalację narzędzi z repozytoriów.
Wygenerowane przez model językowy.
REKLAMA