Jak zainstalować cross-kompilator na Ubuntu 18.04?

Moje informacje o proc:

 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz Stepping: 9 CPU MHz: 1036.788 CPU max MHz: 3500,0000 CPU min MHz: 800,0000 BogoMIPS: 6000.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 6144K NUMA node0 CPU(s): 0-3 

Próbowałem:

sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi 

Jeśli wybiorę:

arm-linux-gcc arm-linux-gcc: command not found 

Jak zainstalować cross-kompilator?

Komentarze

  • Zgodnie z listą plików , nazwa pliku wykonywalnego kompilatora to arm-linux-gnueabi-gcc

Odpowiedz

TLDR

musisz zadzwonić do arm-linux-gnueabi-gcc nie arm-linux-gcc.


Wygląda na to, że właśnie otrzymałeś niewłaściwą nazwę pliku. Dla odniesienia apt-file to przydatne narzędzie.

sudo apt-get install apt-file sudo apt-file update apt-file search -x "gcc$" | grep "gcc-arm-linux-gnueabi" 

Przeszukuje każdy plik kończący się gcc w dowolnym pakiecie z gcc-arm-linux-gnueabi w nazwie. Wynik to:

gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc 

Jeśli więc masz zainstalowany gcc-arm-linux-gnueabi powinieneś mieć plik /usr/bin/arm-linux-gnueabi-gcc.

Komentarze

  • Umiejętność wyszukiwania arm-linux-gnueabi oznacza już znajomość odpowiedzi ;-). apt-file search -x 'arm-linux.*gcc$' byłby bardziej wykrywalny.
  • Prawda. To było w pytaniu OP ' pod " Próbowałem … ", ale jak mówisz, jeśli nie ' nie wiesz, dobra znajomość wyrażeń regularnych jest również pomocna.
  • Chodzi mi o to, że OP nie wiedział, jakie polecenie uruchomić, więc nie mogłem wiedzieć, czego szukać w zawartości pakietu (w przeciwieństwie do nazw pakietów).
  • Nie miałem wcześniejszej wiedzy na ten temat, zanim spróbowałem go znaleźć. Wyszukiwanie w mojej odpowiedzi składa się z pakietu, który już zainstalował, i gcc na końcu nazwy polecenia – uogólnienie tego, czego już próbowali (arm-linux-gcc) – To była pierwsza rzecz, jaką próbowałem …
  • Wydaje mi się, że zaskakujące jest użycie apt-file search do wyszukania nazwy pakietu (jak to ująłeś: „Przeszukuje wszystkie pakiety pod kątem pliku lub pakietu zawierającego arm-linux-gnueabi”), gdy apt-file search przeszukuje tylko zawartość pakietu (która także przypadkowo znajduje nazwy pakietów, dzięki /usr/share/doc/<package>/copyright).

Odpowiedź

Jak sugeruje steeldriver , masz już zainstalowany cross-kompilator; problem polega na tym, że używasz złego polecenia, aby go wywołać, musisz ogólnie użyć prefiksu arm-linux-gnueabi-. Więc uruchom

arm-linux-gnueabi-gcc 

lub

arm-linux-gnueabi-g++ 

i powinno działać dobrze.

Aby rozwiązać ten problem samodzielnie, możesz użyć dpkg -L, aby wyświetlić listę zainstalowanych pakietów:

dpkg -L gcc-arm-linux-gnueabi 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *