Hoe cross-compiler op Ubuntu 18.04 te installeren?

Mijn proc info:

 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 

Ik heb geprobeerd:

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

Als ik ga voor:

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

Hoe installeer ik cross-compiler?

Opmerkingen

  • Volgens de bestandslijst is de naam van het uitvoerbare bestand van de compiler arm-linux-gnueabi-gcc

Answer

TLDR

je moet arm-linux-gnueabi-gcc niet arm-linux-gcc.


Het lijkt erop dat je zojuist de verkeerde bestandsnaam hebt gekregen. Ter referentie apt-file is een handig hulpmiddel.

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

Hiermee wordt gezocht naar elk bestand dat eindigt op gcc in elk pakket met gcc-arm-linux-gnueabi in de naam. Het resultaat is:

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

Dus als je geïnstalleerd gcc-arm-linux-gnueabi zou je een bestand /usr/bin/arm-linux-gnueabi-gcc moeten hebben.

Reacties

  • Weten dat je moet zoeken naar arm-linux-gnueabi betekent dat je het antwoord al weet ;-). apt-file search -x 'arm-linux.*gcc$' zou beter vindbaar zijn.
  • Waar. Het stond in de vraag van OP ' s onder " Ik heb geprobeerd … " maar zoals je zegt, als je ' niet weet, is goede kennis van reguliere expressies ook nuttig.
  • Mijn punt is dat het OP niet wist welk commando uit te voeren, dus ik wist niet waar ik naar moest zoeken in de inhoud van het pakket (in tegenstelling tot pakketnamen).
  • Ik had hier geen voorkennis van voordat ik het zelf probeerde te vinden. De zoekopdracht in mijn antwoord is opgebouwd uit het pakket dat ze al hebben geïnstalleerd en gcc aan het einde van de commandonaam – een generalisatie van wat ze al aan het proberen waren (arm-linux-gcc) – Het was het eerste dat ik probeerde.
  • Ik denk dat ik het gewoon verrassend vind om apt-file search te gebruiken om naar een pakketnaam te zoeken (zoals je het zegt, “Dit doorzoekt alle pakketten naar een bestand of pakket dat arm-linux-gnueabi” “bevat) wanneer apt-file search alleen de inhoud van het pakket doorzoekt (die vindt ook incidenteel pakketnamen, dankzij /usr/share/doc/<package>/copyright).

Antwoord

Zoals steeldriver suggereert, heb je de cross-compiler al geïnstalleerd; het probleem is dat je het verkeerde commando gebruikt om het op te roepen, je moet in het algemeen het voorvoegsel arm-linux-gnueabi- gebruiken. Dus draai

arm-linux-gnueabi-gcc 

of

arm-linux-gnueabi-g++ 

en het zou goed moeten werken.

Om dit zelf uit te zoeken, kun je dpkg -L gebruiken om de inhoud van de pakketten die je hebt geïnstalleerd weer te geven:

dpkg -L gcc-arm-linux-gnueabi 

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *