Problem z kompilacją w GNU

0

Mam problem z kompilacją w Bashu. Ale po kolei. Tworzę sobie katalog a w nim plik tekst.c. Za pomocą komendy gedit tekst.c zapisuje program i go zapsiuje. po wpisaniu gcc tekst.c wychodzi komunikat nie odnaleziono polecenia gcc. Co w takiej sytuacji?

3

zainstalować gcc.

sudo apt-get update
sudo apt-get install build-essential
3

Jeśli nie rozpoznaje jakiegoś polecenia, to znaczy, że nie masz kompilatora gcc w zmiennych środowiskowych (environment path).

W tym wypadku, najprawdopodobniej dlatego, że nie masz go zainstalowanego. (😅 czasem to nie jest takie oczywiste)

Najłatwiej zainstalować go przez Package Manager, na debian/ubuntu będzie to apt, archLinuch domyślnie ma pacman, centos ma yum itd..
Któraś z tych komend wpisana w terminalu powinna zadziałać, chyba, że używasz jeszcze czegoś innego ;)

sudo apt-get update
sudo apt-get install build-essential

sudo yum updateinfo 
sudo yum groupinstall 'Development Tools'

sudo pacman -Syy
sudo pacman -S gcc   !!!

Jęśli instalacja się powiedzie możesz sprawdzić wersję gcc wpisując w konsolę:

gcc --version

Następnie kompilujesz kod i uruchamiasz plik wykonywalny:

gcc program.c -o output.o

./output

W przypadku, gdy nie sprecyzujesz nazwy pliku wyjściowego, domyślnie przybiera on nazwę a.out. Po więcej szukaj w gcc --help.

0

Po wpisaniu pierwszej komendy wyszło w większości:

Próbowanie nowego serwera lustrzanego. [...] Could not resolve host [...] Nieznany błąd.

Następnie wpisuję drugą komendę. Prosi mnie o podanie hasła. I komunikat:

[moja nazwa uzytkownika] nie występuje w pliku sudoers

Nie wiem. Może reinstall pomoże? To wersja CentOSa 7.5 w wersji agh.ftj ze strony Linuksa.

1

Musisz wykonać jeszcze kilka kroków, które znajdziesz w linku od @Dregorio niżej, następnie wróć tutaj.
Upewnij się, że masz połączenie z internetem i jeszcze raz spróbuj wykonać te polecenia, pamiętaj, że sudo oznacza, że uruchamiasz polecenie z poziomu administratora, roota, dlatego zwykle po pierwszym takim poleceniu, zapyta cię o hasło. Na przyszłość radzę ci zawsze instalować wersję anglojęzyczną, łatwiej będzie ci wyszukiwać rozwiązania w internecie.

sudo yum updateinfo 
sudo yum groupinstall 'Development Tools'

Powodzenia :)

Edit:
Po kilku próbach w końcu się udało, potrzebne było jeszcze wyczyścić cache i uruchomić dhclint w centos domyślnie jest on wyłączony:

rm -fr /var/cache/yum/*
yum clean all
sudo dhclient

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